Переносим почтовую систему с Exchange 2007 на Exchange 2010. Первая часть.
18/01/2012. Автор: inbloomНаверняка многим системным администраторам приходится сталкиваться с необходимостью миграции с Exchange 2007 на Exchange 2010. Бывает, что графическая утилита не отрабатывает, либо нет всех нужных прав, а перейти всё равно надо. Именно об этом я расскажу.
Готовим лес
Все, что будет описано в данной статье, также возможно выполнить при помощи утилиты с графическим интерфейсом, устанавливающей Exchange 2010. Если в наличии имеются все нужные разрешения, то весь процесс заканчивается успешно. Однако мое мнение слегка иное: запускаем все отдельно друг от друга. В первую очередь это будет полезно тем админам почтовых систем, у которых нет прав доменных администраторов.
Готовим схему
Запускаем команду «setup /ps» (название целиком – «setup /PrepareSchema»). Для того чтобы все прошло успешно, учетная запись, от имени которой команда запускается, должна находиться в таких группах, как Schema Admins и Enterprise Admins. Компьютер, на котором мы запускаем команду, должен иметь 64-разрядную операционную систему Windows Server 2008×64, Windows Server 2008-R2 (которая бывает только x64) и обязательно состоять с Хозяином Схемы (мастером схемы, Schema master (роль в рамках леса)) в одном сайте. Перед следующим шагом стоит сделать небольшую паузу в установке, так как многим изменениям нужно время, чтобы реплицироваться на остальных контроллерах домена леса. Чтобы проверить состояние необходимо подключиться с помощью adsiedit.msc к специальному разделу схемы и посмотреть текущие свойства объекта ms-Exch-Schema-Version-Pt. Здесь нам будет интересен только один атрибут под названием rangeUpper, который в Exchange 2010 (service pack 1) должен быть равен 14726.

Готовим Active Directory (AD)
Данная операция запускается с помощью команды «setup /p», она же «setup /PrepareAD». Учетка, от имени которой выполняется запуск команды, в обязательном порядке должна быть в группе Enterprise Admins. Команду можно запускать только в том случае, если данный компьютер находится не только в одном сайте, но и домене с Мастером Схемы. Помимо этого, компьютер должен поддерживать связь через 389 порт с контроллерами доменных имен всего леса. Опять-таки, прежде чем выполнять следующую операцию, необходимо выждать определенный промежуток времени, пока идет репликация на всех контроллерах леса. Проверить подключаемость можно с помощью adsiedit.msc, оттуда к специальному разделу с конфигурацией и там открываем «Свойства объекта», а именно объекта «CN=Exchange Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=local». В открытых свойствах надо найти параметр objectVersion, который в Exchange’’10 равняется 13214.

Помимо этих данных, организационная единица (Organization Unit, OU) корневого домена MESG (Microsoft exchange security groups) обогатиться и на другие группы, а именно на:
Organization Management
Recipient Management
Server Management
View-Only Organization Management
Public Folder Management
UM Management
Hygiene Management
Records Management
Discovery Management
Delegated Setup
Подготавливаем домены
Помимо всего вышеописанного необходимо подготовить такую важную вещь, как корневой домен. Этот процесс запускается с помощью команды «setup /pad», она же полностью «setup /PrepareAllDomains». Учетка, с помощью которой все запускается, в обязательном порядке должна состоять в группе Enterprise Admins. Вместе с этим нужно подготовить все домены для серверов Exchange, а также все домены, имеющие пользователей Exchange. Проверяем подключаемость следующим образом: через команду adsiedit.msc переходим к разделу с контекстом именования (обязательно «по умолчанию»), где ищем свойства такого объекта как «CN=Microsoft Exchange System Objects,DC=domain,DC=local». Здесь нам важен только один атрибут, который носит название objectVersion. В Exchange’’10 его значение должно составлять 13040.

Здесь можно поставить точку в подготовке схемы и перейти к непосредственной установке и настройке сервера, который совмещает в себе роль непосредственного сервера с клиентским доступом и сервера транспортного.
Устанавливаем первый сервер
При переносе схемы домена после своего рода обновления и при его непосредственной подготовке важным шагом будет установка сервера, играющего роль клиентского доступа. Кроме того, не стоит исключать и тот момент, что возможно совместить его еще и с транспортным сервером. В таком случае через сервер клиентского доступа пойдут все без исключений подключения новых клиентов (кроме подключения общих папок), а значит стоит сбалансировать все подключения с помощью Windows Network Load Balancing (NLB) или же с помощью аппаратных балансировщиков.
Первоначально следует установить нужные компоненты системы (делаем это на Windows 2008 R2, Service pack 1). Все операции выполняем с помощью PowerShell:
Import-Module ServerManager
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth, Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model, RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression, NET-HTTP-Activation,RPC-Over-HTTP-Proxy,Telnet-Client,NLB –Restart
Перезапускаем систему и настраиваем специальный сервис Net.Tcp Port Sharing на запуск в автоматическом режиме. Для этого: Set-Service NetTcpPortSharing -StartupType Automatic
После свершения этих операций можно приступить к самой установке программы Exchange 2010. Здесь все относительно просто и понятно. Первоочередно запускаем строку setup.exe, имеющую расширенные привилегии, т.е. Rus As Administrator. Затем идет обычная процедура установки программы. Однако нам необходимо выбрать отказ от стандартной установки и выбрать роль для Client Access, а также для Hub Transport, после чего потребуется указать адрес в Интернете, где будет доступен наш нагрузочный балансировщик для специальных серверов с клиентским доступом.



Затем нужно дополнительно настроить параметры сервера, а также настроить первый узел балансировщика нашей Windows NLB.
Настраиваем CAS+HUB, а также WinNLB
Настраиваем WinNLB
Как мы помним, ранее NLB уже было установлено при установке компонентов. Сейчас всего лишь нужно подобрать настройку для балансировщика и его корректной работы. Он будет обслуживать разного рода протоколы, а именно: HTTPS (TCP 443), IMAP4s (TCP 993), POP3s (TCP 995), RPC Endpoint Mapper (TCP 135), Address Book Service (TCP 59595) и RPC Client Access (TCP 59596).
В первую очередь необходимо запустить панель управления Network Load Balancing Manager, которая находится в административных утилитах. Там мы создадим новый кластер. Просто введем имя сервера (нашего) и нажмем кнопочку Connect, после чего нужно будет выбрать то сетевое подключение, которое будет использовать балансировщик.

После этого, введем ip-адрес нужного нам балансировщика:

Затем его доменное имя (dns). Здесь нужно использовать Unicast.

В новом окне New Cluster: Port Rules нужно ввести группу правил для протоколов, которые мы указали выше:

Завершающим этапом в создании балансировщика будет добавление в его доменную запись внутреннюю зону и внешнюю.
Настраиваем роль CAS
План настройки:
Настраиваем сертификаты
Настраиваем RPC Client Access Array
Настраиваем доступ клиентов RPC (RPC Clients), а также сервисов для книги адресов (Address Book Services)
Настраиваем автообнаружение (Autodiscover)
Настраиваем OA (Outlook Anywhere)
Настраиваем IMAP4s
Настраиваем POP3s
Настраиваем все сертификаты
С помощью Exchange Management Shell мы должна запустить процесс, генерирующий запрос сертификата:
$Data = New-ExchangeCertificate –GenerateRequest –keysize 2048 –SubjectName “c=RU, l=Moscow, s=Moscow, o=My Organization, cn=domain.com” –DomainName hq-hub3.domain.com,hq-hub4.domain.com,hq-hub.domain.com,autodiscover.domain.com -FriendlyName hq-hub.domain.com -BinaryEncoded -privatekeyexportable:$true
Кроме того, мы должны указать имя, которое впоследствии будет использоваться клиентами OWA и Outlook Anywhere в специальном ключе под названием FriendlyName. После этого:
Set-Content -Path “c:\cert.req” -Value $Data.FileData -Encoding Byte
Получив запрос, необходимо либо пойти к внутреннему центру сертификации, либо к внешнему, где получим сертификат. После чего, нужно будет установить его, привязав ко всем необходимым нам службам. Для этого:
Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\certificates\newcert.cer -Encoding byte -ReadCount 0)) | Enable-ExchangeCertificate -services “POP,IMAP,IIS,SMTP”
Настраиваем массив серверов с клиентским доступом
По той причине, что серверов типа CAS в нашей системе будет несколько, будет не лишним создать специальный массив для серверов CAS. Делается это следующим образом:
New-ClientAccessArray -Fqdn hq-hub.domain.com -Site Default-First-Site-Name
Настраиваем доступ для клиентов RPC, а также для сервиса книги адресов
Бывает так, что Client Access server имеет конфигурацию, позволяющую работать с балансировщиком нагрузки, но тогда будет нужно провести настройку сервисов RPC Client Access и Address Book services, которая позволит использовать специальные порты TCP для того, чтобы подключать клиентов. Для этой процедуры потребуется использование портов TCP 59595 и TCP 59596, однако при желании можно использовать любые другие порты TCP, которые будут доступны для сетевого окружения исходя из интервала 5953 – 60554 (чтобы это сделать нужно донастроить правила для балансировщика нагрузки).
Чтобы настроить RPC Client Access нужно создать определенный DWORD-ключ в строке реестра:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeRPC\ParametersSystem\TCP/IP Port
Значение его должно быть равно 59595.
Чтобы настроить Address Book services нужно внести исправления в файле MicrosoftExchange.AddressBook.Service.exe.config. Здесь мы меняем строку, название которой начинается так: <add key="RpcTcpPort". Ее конечный вид должен быть следующим:
Настраиваем сервис автообнаружения
Для настройки данного типа серис нужно использовать следующую командную запись:
Set-ClientAccessServer –Identity hq-hub3 –AutoDiscoverServiceInternalUri https://hq-hub3.domain.com/autodiscover/autodiscover.xml
Включение Outlook Anywhere
Для его включения необходимо использовать такую строку:
Enable-OutlookAnywhere -Server:hq-hub3 -ExternalHostname:hq-hub.domain.com -ClientAuthenticationMethod:Ntlm -SSLOffloading:$false
Настраиваем IMAP4s и POP3s
Для настройки IMAP4s используем:
Set-ImapSettings –server hq-hub3 –SSLBindings “ip-address:993″
Set-Service MSExchangeIMAP4 -ComputerName hq-hub3 -StartupType automatic
Точно также делаем и с POP3s:
Set-PopSettings –server hq-hub3 –SSLBindings “ip-address:995″
Set-Service MSExchangePOP3 -ComputerName hq-hub3 -StartupType automatic
Настраиваем роль для транспортного сервера
Весь процесс выполняется по следующему плану:
Настраиваем коннекторы получения (Default Receive Connector)
Меняем расположения всех доступных логов транспорта (Transport Logs)
Настраиваем коннекторы
Чтобы настроить дефолтный коннектор необходимо запустить следующую командную строку:
Set-ReceiveConnector “hq-hub3\Default hq-hub3″ –PermissionGroups “ExchangeServers, ExchangeLegacyServers” –AuthMechanism ExchangeServer
Располагаем лог-файлы
Лог-файлы должны поменяться вот в таком виде:
Set-TransportServer hq-hub3 –ConnectivityLogPath “D:\Exchange\Logs\Connectivity” –MessageTrackingLogPath “D:\Exchange\Logs\MessageTracking” –ReceiveProtocolLogPath “D:\Exchange\Logs\ProtocolLog\SmtpReceive” –SendProtocolLogPath “D:\Exchange\Logs\ProtocolLog\SmtpSend” -ActiveUserStatisticsLogPath “D:\Exchange\Logs\ActiveUserStats” -ServerStatisticsLogPath “D:\Exchange\Logs\ServerStats” –RoutingTableLogPath “D:\Exchange\Logs\Routing”
Не стоит забывать и о том, что в момент свершения данной операции, наш транспортный сервис не должен работать. Нужные нам логи в это время будут храниться и складироваться в специальную папку D:\Exchange\Logs, а не как принято в дефолтную, она же \TransportRoles\Logs.
Устанавливаем и настраиваем первый узел DAG
Главная роль нашего сервера для почтовых ящиков обязана быть отказоустойчива, а для этого необходимо пользоваться Database Availability Group (DAG). Эта функция способна объединить такие кластеры как CCR и SCR, как известно которые были еще в Exchange 2007.
У каждого узла DAG должны быть задействованы два сетевых интерфейса. Первый будет использоваться для клиентских подключений, а второй при внутренних репликациях между различными узлами. Первому интерфейсу присущи сетевые настройки схожие с клиентами локальных сетей любого предприятия. Что касается второго, то здесь нужно оставить без изменений, т.е. включенным Internet Protocol Version 4 в свойствах которого меняем ip-адрес и, конечно, маску подсети (пример, 192.168.0.0/38). Важным моментом будет ненадобность указывать dns и gateway серверы. Помимо этого нужно отключить регистрацию на днс сервере.
Затем, приступаем к непосредственной установке нужных нам компонентов в системе с помощью PowerShell. Делается это следующим образом:
Import-Module ServerManager
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth, Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model, RSAT-Web-Server –Restart
Перезагрузив компьютер, наступает установка Exchange 2010 с нужной нам ролью Mailbox. Для этого:
setup.com /r:M /Mdbname:”HQ Mailbox Database 01″ /DbFilePath:e:\db01\db01.edb /LogFolderPath:d:\log01
Необходимо проделать эту операцию не с помощью графического режима, а обычного текстового, для того чтобы успеть дать имя и месторасположения вашей первой базы для почты. Перезагрузив компьютер еще раз – вы окончательно подготовите сервер к внедрению настроек на роль узла DAG.
В первую очередь создаем группу, где будут доступны наши базы данных. Делается это следующим образом:
New-DatabaseAvailabilityGroup -Name HQ-DAG -WitnessServer hq-hub3 -DatabaseAvailabilityGroupIpAddresses ip-address
Используем именно такое имя HQ-DAG, т.к. по нему сервер для клиентского доступа, а также сервер транспортный смогут общаться с сервером наших почтовых ящиков. Строка hq-hub3используется как сервер свидетель (папка для его размещения создастся автоматически), ну и наконец ip-address – это путь доступа к нашей группе.
Добавим первый сервер, выполняющий роль почтовых ящиков в нашу группу доступа:
Add-DatabaseAvailabilityGroupServer -Identity hq-dag -MailboxServer hq-mbx3
В момент работы этой строки начнется установка необходимых бинарников специальной кластерной службы компании Windows, будет проверен hq-mbx3-сервер, в результате чего, в случае успешной проверки он может быть добавлен в нашу созданную группу доступности. Кроме того, создастся объект в AD специально предназначенный для группы HQ-DAG. Но если компьютеры в момент создания обязаны помещаться не в привычный блок domain/Computers, то нужно перед этим создать объект компьютер и настроить его работу так, как описано в данной статье. Взглянем на сетевые объекты, созданные с помощью командной строки:
Get-DatabaseAvailabilityGroupNetwork
После чего нужно отредактировать каждый объект:
Set-DatabaseAvailabilityGroupNetwork HQ-DAG\DAGNetwork01 -Name MAPINetwork
Set-DatabaseAvailabilityGroupNetwork HQ-DAG\DAGNetwork02 -Name ReplicationNetwork
Сеть MAPINetwork нужно оставить без репликации, т.е. отключить ее, т.к. она включается по умолчанию:
Set-DatabaseAvailabilityGroupNetwork HQ-DAG\MAPINetwork –ReplicationEnabled $false
И, наконец, создаем почтовые базы помимо уже созданных (при необходимости).
Ищете мебель для дома или офиса? Вам сюда!
Общайтесь со мной здесь:
No related posts.
Комментарии
1 комментарий на “Переносим почтовую систему с Exchange 2007 на Exchange 2010. Первая часть.”Добавить комментарий
| Твитнуть |


