Почтовая система от 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.
Также у вас должны быть закрыты 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.
Если у Вас есть вопросы, задавайте их на форуме, или ниже в комментариях.
Здравствуйте. Подскажите пожалуйста, описанный Вами способ подойдет для миграции с 2007 на 2016?
Здравствуйте! Миграция возможно через версию, то есть с 2007 напрямую можно мигрировать только на 2013.
А как быть в моём случае? Пока не обнаружил инструкций по этому поводу.
В Вашем случае я думаю самый простой способ это мигрировать на 2013. Ключ покупаете на 2016 exchange, политика downgrade в этом случае работает, 2013 активируется этим ключом.
А изменений в 2016 кроме количества ролей особых нет.
В противном случае вам нужно будет выполнять либо две миграции (с 2007 на 2013, потом на 2016) Либо поднимать отдельный домен с 2016, и переносить туда ящики через pst.
Спасибо! Ключ на 2016 уже есть. Попробуем переехать на 2013.
Добрый день. При подготовке AD какое имя организации указывать ? Имею в виду что планирую мигрировать с Exchange 2007 на Exchange 2013 . Указывать существующее имя или новое?
Заранее спасибо.
Добрый день. Так как вы устанавливаете exchange для совместного сосуществования, то имя должно быть такое же.
Спасибо.
Для exchange server 2013 будем использовать windows server 2013.
чист. очепятка windows server 2012
Точно
Подскажите как быть с именем сейчас сервер 2007 назван \\EX2007 и снаружи виден как EX2007.contoso.ru
При миграции EX2013 заставить изменить имя у внутр клиентов (оутлук) перезапуском.
У внешних соединение пропадёт?
установить потом второй экземпляр 2013й с именем EX2007 и мигрировать всех на него?
Какие то костыли как сделать красиво?
Имя сервера в данной ситуации не важно. Важны имена виртуальных директорий. У 2007 называете external директории legacy.mail.contoso.ru а у нового mail.contoso.ru. Проброс с внешки mail.contoso.ru на 2013, проброс legacy.mail.contoso.ru на 2007. На внешних DNS нужны оба этих имени. OWA будет редиректить на старый сервер, outlook anywhere,EAC должны проксироваться 2013-м на 2007.
Главноe что бы имена виртуальных директорий у 2007 и 2013 были различные, и разрешались в IP адреса серверов. Как external так и internal. Также на receive коннекторах не забудь дать разрешения для серверов, почту друг другу они будут пересылать по SMTP.
Добрый день.
Подскажите,пожалуйста, UR10 можно сразу ставить на Microsoft Exchange Server 2007 SP3 ? Или UR нужно ставить по порядку?
Спасибо.
На SP3 накопительный пакет можно ставить сразу, без промежуточных.
Exchange Server 2007 SP3 must be installed prior to installing this update rollup.
This update rollup cannot be installed if you are using Exchange Server 2007 RTM, Exchange Server 2007 SP1 or Exchange Server 2007 SP2.
Any Interim Updates for Exchange Server 2007 must be uninstalled prior to installing this update rollup.
Иван SP3 тут не причем речь о обновлении.
Если rollup это обновление, то написано вроде ясно: This update rollup cannot be installed if you are using Exchange Server 2007 RTM, Exchange Server 2007 SP1 or Exchange Server 2007 SP2.
setup.exe /prepareschema /iacceptexchangeserverlicenseterms
setup.exe /prepareschema имя не распознано как имя командлета
Нужно запускать из директории, в которой находится файл setup.exe