Техноблог IT Hobbycomp.ru – сайт о компьютерах и технике

Миграция с exchange server 2007 на 2013

Почтовая система от microsoft развивается, и не все еще перешли на новую версию. Самая последняя версия это exchange server 2016. Честно говоря, кроме отличия в количестве ролей – роль теперь всего одна, отличий от 2013 особо не заметно. Политика обновлений позволяет напрямую обновиться через одну версию. Поэтому рассмотрим вариант миграции сначала на 2013.

Для exchange server 2013 будем использовать windows server 2012.

Давайте рассмотрим требования для миграции с exchange server 2007 на 2013. На exchange 2007 должны быть: накопительный пакет обновления 10 для Exchange 2007 с пакетом обновления 3 (SP3) на всех серверах Exchange 2007 в организации, включая пограничные транспортные серверы.

Посмотреть версию exchange можно следующей командой:

Get-Command ExSetup | ForEach {$_.FileVersionInfo}

Разворачиваем список ниже, и ищем нашу версию. Если ниже update rollup 10 – то скачиваем нужное обновление.

 

Список версий

Exchange Server 2007 Service Pack 1

Product name Build number Date KB
Microsoft Exchange Server 2007 SP1 8.1.240.6 11/29/2007
Update Rollup 1 for Exchange Server 2007 SP1 8.1.263.1 2/28/2008 KB945684
Update Rollup 2 for Exchange Server 2007 SP1 8.1.278.2 5/8/2008 KB948016
Update Rollup 3 for Exchange Server 2007 SP1 8.1.291.2 7/8/2008 KB949870
Update Rollup 4 for Exchange Server 2007 SP1 8.1.311.3 10/7/2008 KB952580
Update Rollup 5 for Exchange Server 2007 SP1 8.1.336.1 11/20/2008 KB953467
Update Rollup 6 for Exchange Server 2007 SP1 8.1.340.1 2/10/2009 KB959241
Update Rollup 7 for Exchange Server 2007 SP1 8.1.359.2 3/18/2009 KB960384
Update Rollup 8 for Exchange Server 2007 SP1 8.1.375.2 5/19/2009 KB968012
Update Rollup 9 for Exchange Server 2007 SP1 8.1.393.1 7/17/2009 KB970162
Update Rollup 10 for Exchange Server 2007 SP1 8.1.436.0 4/9/2010 KB981407

 


Exchange Server 2007 Service Pack 2

Product name Build number Date KB
Microsoft Exchange Server 2007 SP2 8.2.176.2 8/24/2009
Update Rollup 1 for Exchange Server 2007 SP2 8.2.217.3 11/19/2009 KB971534
Update Rollup 2 for Exchange Server 2007 SP2 8.2.234.1 1/22/2010 KB972076
Update Rollup 3 for Exchange Server 2007 SP2 8.2.247.2 3/17/2010 KB979784
Update Rollup 4 for Exchange Server 2007 SP2 8.2.254.0 4/9/2010 KB981383
Update Rollup 5 for Exchange Server 2007 SP2 8.2.305.3 12/7/2010 KB2407132

 


Exchange Server 2007 Service Pack 3

Product name Build number Date KB
Microsoft Exchange Server 2007 SP3 8.3.083.6 6/20/2010
Update Rollup 1 for Exchange Server 2007 SP3 8.3.106.2 9/9/2010 KB2279665
Update Rollup 2 for Exchange Server 2007 SP3 8.3.137.3 12/10/2010 KB2407025
Update Rollup 3 for Exchange Server 2007 SP3 8.3.159.0 3/2/2011 KB2492691
Update Rollup 3-v2 for Exchange Server 2007 SP3 8.3.159.2 3/30/2011 KB2530488
Update Rollup 4 for Exchange Server 2007 SP3 8.3.192.1 7/7/2011 KB2509911
Update Rollup 5 for Exchange Server 2007 SP3 8.3.213.1 9/21/2011 KB2602324
Update Rollup 6 for Exchange Server 2007 SP3 8.3.245.2 1/25/2012 KB2608656
Update Rollup 7 for Exchange Server 2007 SP3 8.3.264.0 4/16/2012 KB2655203
Update Rollup 8 for Exchange Server 2007 SP3 8.3.279.3 8/13/2012 KB2734232
Update Rollup 8-v2 for Exchange Server 2007 SP3 8.3.279.5 10/9/2012 KB2756497
Update Rollup 8-v3 for Exchange Server 2007 SP3 8.3.279.6 11/13/2012 KB2778154
Update Rollup 9 for Exchange Server 2007 SP3 8.3.297.2 12/10/2012 KB2746157
Update Rollup 10 for Exchange Server 2007 SP3 8.3.298.3 2/11/2013 KB2788321
Update Rollup 11 for Exchange Server 2007 SP3 8.3.327.1 8/13/2013 KB2873746
Update Rollup 12 for Exchange Server 2007 SP3 ​8.3.342.4 12/10/2013 KB2903911
Update Rollup 13 for Exchange Server 2007 SP3 8.3.348.1 2/25/2014 KB2917522
Update Rollup 14 for Exchange Server 2007 SP3 8.3.379.2 8/26/2014 KB2936861
Update Rollup 15 for Exchange Server 2007 SP3 8.3.389.2 12/9/2014 KB2996150
Update Rollup 16 for Exchange Server 2007 SP3 8.3.406.0 3/17/2015 KB3030086
Update Rollup 17 for Exchange Server 2007 SP3 8.3.417.1 6/16/2015 KB3056710
Update Rollup 18 for Exchange Server 2007 SP3 8.3.445.0 12/10/2015 KB3078672
Update Rollup 19 for Exchange Server 2007 SP3 8.3.459.0 3/14/2016 KB3141352
Update Rollup 20 for Exchange Server 2007 SP3 8.3.468.0 6/12/2016 KB3184728
Update Rollup 21 for Exchange Server 2007 SP3 8.4.485.1 9/12/2016 KB3184711
Update Rollup 22 for Exchange Server 2007 SP3 8.3.502.0 12/13/2016 KB3184712
Update Rollup 23 for Exchange Server 2007 SP3  8.3.517.0  3/20/2017  KB4011325 

Имейте ввиду, что на время обновления останавливаются службы exchange.

Также у вас должны быть закрыты exchange management shell и exchange management console.

Теперь можно устанавливать exchange server 2013. Для этого у нас уже подготовлен windows server 2012R2.

Exchange server 2013 поставляется в двух редакциях – standart и enterprise. Отличие между ними состоит лишь в поддержке количества баз. Standart поддерживает пять почтовых баз на сервер, enterprise поддерживает 100 баз на сервер.

Учтите, что mailbox требовательный к памяти. Минимум 8Гб, client access server 4Гб, при совмещении ролей минимум 8Гб. В противном случае получите неработающий сервер с зависаниями и вылетами.

Подготовка к миграции: Расширение схемы AD для Exchange server 2013. При запуске установщик проверяет все необходимые условия. Учетная запись, от имени которой выполняется установка должна иметь права Enterprise admin, Schema Admin и Exchange full administrator.

Первым устанавливается роль mailbox – без неё CAS не будет работать.

Загрузить Microsoft Exchange Server 2013

Подготовим схему AD и расширим набор атрибутов:

setup.exe /prepareschema /iacceptexchangeserverlicenseterms
setup.exe /preparead /organizationname:YouOrganization /iacceptexchangeserverlicenseterms

В organizationname впишите имя текущей организации exchange.

Установим необходимые компоненты для установки из powershell:

Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation,Server-Media-Foundation

Запустить установку для роли Client access и mailbox можно из командной строки:

Setup.exe /mode:install /roles:clientaccess /IAcceptExchangeServerLicenseTerms

Setup.exe /mode:install /roles:mailbox /IAcceptExchangeServerLicenseTerms

Дополнительные компоненты для установки:

Unified Communications Managed API 4.0 Runtime.

В нашем случае, у нас будет один сервер CAS и Mailbox.

Если мы выполнили все шаги, до установщик не будет ругаться, и начнётся установка. Мы ставим обе роли на один сервер.

Для того что бы попасть в панель администрирования exchange 2013, переходим по ссылке https://exch2013/ecp/?ExchClientVer=15

Переходим на вкладку “серверы” и видим довольно успешную и положительную картину:

На вкладке “пользователи” видим наших пользователей.

До переноса пользователей, не забудьте настроить виртуальные директории на новом сервере, а также создать для него действительные сертификаты.

Сделать это можно как через powershell, так и через интерфейс администрирования.

На всякий случай приведу примеры командлетов.

Посмотреть имя для каждой виртуальной директории можно с помощью конструкции:

get-owavirtualdirectory -server exch2013 | fl identity

На сервере exchange 2007 необходимо переназначить адрес owa, если ящик пользователя будет на этом сервере, 2013 будет делать редирект на этот адрес.

set-owavirtualdirectory -identity exch2013\OWA (Default Web Site)" -ExternalUrl https://legacy.mail.hobbycomp.ru/OWA -InternalUrl https://legacy.mail.hobbycomp.ru/OWA

В примерах ниже мы настраиваем внешний адрес. Также нужно прописать правильный Internalurl – внутренний адрес.

Какие адреса прописывать при одновременном сосуществовании двух серверов описано здесь – Помощник по планированию

Set-ActiveSyncVirtualDirectory -Identity "exch2013\Microsoft-Server-ActiveSync (Default Web Site)" -ExternalUrl "https://mail.hobbycomp.ru/Microsoft-Server-ActiveSync"

 

Set-WebServicesVirtualDirectory -Identity "exch2013\EWS (Default Web Site)" -ExternalUrl https://mail.hobbycomp.ru/EWS/Exchange.asmx
Set-OABVirtualDirectory -Identity "exch2013\OAB (Default Web Site)" -ExternalUrl "https://mail.hobbycomp.ru/OAB"
Set-EcpVirtualDirectory "exch2013\ECP (Default Web Site)" -ExternalUrl https://mail.contoso.com/ECP -InternalURL https://mail.hobbycomp.ru/ECP
Set-WebServicesVirtualDirectory -Identity "exch2013\EWS (Default Web Site)" -ExternalURL https://mail.hobbycomp.ru/EWS/Exchange.asmx
Set-ClientAccessServer -Identity exch2013 -AutoDiscoverServiceInternalURI https://autodiscover.hobbycomp.ru/AutoDiscover/AutoDiscover.xml

После настройки, нужно создать тестовый ящик, и протестировать настройки. Как отрабатывает autodiscover, доступны ли все виртуальные директории, корректно ли работает аутентификация. Если всё работает – можно переключить записи DNS на новый сервер.

Теперь нам нужно переместить пользователей в базу сервера exchange 2013. Создаём новую базу, или переименовываем старую. Я переименую автоматически созданную в exch2013.

Set-MailboxDatabase -Identity "Mailbox Database 2080392944" -Name exch2013

Обратите внимание, что сам файл базы данных не переименовался. Что бы сделать это, перенесем его в другое расположение с помощью командлета:

Move-DatabasePath -Identity exch2013 -EdbFilePath F:\exchange\exch2013.edb -LogFolderPath F:\exchange\logs

Теперь приступим к перемещению пользователей. Это можно сделать как из панели администрирования, так и из powershell. Попробуем оба способа.

В панели администрирования выбираем пользователя (или нескольких) и выбираем “переместить почтовый ящик”. Находим нужную базу, и создаём задание. Прогресс можно посмотреть на вкладке миграция.

Перемещение большого числа ящиков одновременно не рекомендуется.

Создать запрос на перемещение через EMS можно следующим командлетом:

New-MoveRequest -Identity 'user@hobbycomp.local' -TargetDatabase exch2013

Статистику можно посмотреть командлетами:

Get-MoveRequest
Get-MigrationBatch

После переноса всех ящиков, можно выключать старый сервер и тестировать работу. Если всё хорошо – через установку и удаление программ удаляем exchange 2007.

Если у Вас есть вопросы, задавайте их на форуме, или ниже в комментариях.