Переносим почтовую систему с Exchange 2007 на Exchange 2010. Первая часть.

18/01/2012. Автор: inbloom
Прочитали - твитните и лайкните :-) Социальные кнопки внизу, после комментариев. Спасибо, что твитнули и лайкнули новость!

Наверняка многим системным администраторам приходится сталкиваться с необходимостью миграции с Exchange 2007 на . Бывает, что графическая утилита не отрабатывает, либо нет всех нужных прав, а перейти всё равно надо. Именно об этом я расскажу.
Готовим лес
Все, что будет описано в данной статье, также возможно выполнить при помощи утилиты с графическим интерфейсом, устанавливающей 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.
Подготовка схемы
Готовим ()
Данная операция запускается с помощью команды «setup /p», она же «setup /PrepareAD». Учетка, от имени которой выполняется запуск команды, в обязательном порядке должна быть в группе Enterprise Admins. Команду можно запускать только в том случае, если данный компьютер находится не только в одном сайте, но и домене с Мастером Схемы. Помимо этого, компьютер должен поддерживать связь через 389 порт с контроллерами доменных имен всего леса. Опять-таки, прежде чем выполнять следующую операцию, необходимо выждать определенный промежуток времени, пока идет репликация на всех контроллерах леса. Проверить подключаемость можно с помощью adsiedit.msc, оттуда к специальному разделу с конфигурацией и там открываем «Свойства объекта», а именно объекта «CN=Exchange Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=,DC=local». В открытых свойствах надо найти параметр objectVersion, который в Exchange’’10 равняется 13214.
Подготовка AD
Помимо этих данных, организационная единица (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. Затем идет обычная процедура установки программы. Однако нам необходимо выбрать отказ от стандартной установки и выбрать роль для , а также для Hub Transport, после чего потребуется указать адрес в Интернете, где будет доступен наш нагрузочный балансировщик для специальных серверов с клиентским доступом.
Подготовка сервера
Подготовка сервера
Подготовка сервера
Затем нужно дополнительно настроить параметры сервера, а также настроить первый узел балансировщика нашей Windows NLB.
Настраиваем +HUB, а также
Настраиваем WinNLB
Как мы помним, ранее NLB уже было установлено при установке компонентов. Сейчас всего лишь нужно подобрать настройку для балансировщика и его корректной работы. Он будет обслуживать разного рода протоколы, а именно: HTTPS (TCP 443), IMAP4s (TCP 993), (TCP 995), RPC Endpoint Mapper (TCP 135), Address Book Service (TCP 59595) и RPC Client Access (TCP 59596).
В первую очередь необходимо запустить панель управления Network Load Balancing Manager, которая находится в административных утилитах. Там мы создадим новый кластер. Просто введем имя сервера (нашего) и нажмем кнопочку Connect, после чего нужно будет выбрать то сетевое подключение, которое будет использовать балансировщик.
Настраиваем WinNLB
После этого, введем ip-адрес нужного нам балансировщика:
Ввод 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. Первая часть.”

Добавить комментарий

Следите за новостями! Подписка на RSS в правом верхнем углу сайта поможет вам всегда быть в курсе!