Среднее время на прочтение: 3 мин.

Перенос почтового сервера MS Exchange Server 2010 SP3 с одного сервера на другой

Рассмотрим практический перенос почтового сервера на базе MS Exchange 2010 SP3, с одного сервера (Windows Small Business Server 2011) на другой (Windows Server 2012 R2).

 

Исходные данные:

  • Windows Small Business Server 2011 (OLD_MAIL) + MS Exchange 2010 SP2 (Mailbox Role, Client Access Role, Hub Trunsport Role)
  • Windows Server 2012 R2 (NEW_MAIL)

 

План переноса:

  1. Установка MS Exchange 2010 SP3 с ролями (Mailbox Role, Client Access Role, Hub Trunsport Role) на Windows Server 2012 R2 (NEW_MAIL)
  2. Создание базы данных на сервере NEW_MAIL, подключение ее.
  3. Перенос почтовых ящиков в базу данных на сервер NEW_MAIL из базы данных с сервера OLD_MAIL.
  4. Перенос общих папок (Public Folders), выполнение репликации с сервера OLD_MAIL на NEW_MAIL.
  5. Перенос системных почтовых ящиков
  6. Перенастраиваем всех коннекторы отправки/получения, OWA и т.д. на NEW_MAIL
  7. Вывод из эксплуатации (удаление) старого сервера (OLD_MAIL).

 

Установка MS Exchange Server 2010 SP3 на Windows Server 2012 R2

Для установки MS Exchange Server 2010 SP3 на Windows Server 2012 R2, необходимо установить .NET Framework 3.5.

 

Установка второго почтового сервера на (NEW_MAIL) полностью тривиальна, она не требует производить никаких изменений в Active Directory (Расширение схемы, подготовка домена, создание почтовой организации), т.к. все эти действия были уже выполнены при установке первого почтового сервера на (OLD_MAIL).

 

Устанавливаем пакеты Microsoft Office 2010 Filter Packs:

 

Запускаем GUI установщик MS Exchange 2010 SP3, указываем установку ролей (Mailbox Role, Client Access Role, Hub Trunsport Role), остальные все параметры оставляем по-умолчанию и выполняем установку.

 

По окончании установки, мы получаем полностью рабочий почтовый сервер MS Exchange 2010 SP3. В консоли Exchange Management Console, мы увидим оба имеющихся почтовых сервера (OLD_MAIL) и (NEW_MAIL). Переходим к следующему этапу переноса.

 

Создание базы данных почтовых ящиков

На почтовом сервере (NEW_MAIL), создаем базу данных (прим. USER) для перемещения в нее почтовых ящиков пользователей с базы данных на почтовом сервере (OLD_MAIL) и подключаем ее.

[stextbox id=’warning’]Для хранения базы данных почтовых ящиков, в целях безопасности/масштабируемости рекомендуется использовать отдельный логический/сетевой диск.[/stextbox]

 

GUI:

Конфигурация организации — Почтовый ящик — Управление базой данных (вкладка) — Создать базу данных почтовых ящиков…

SHELL:

New-MailboxDatabase -Name "USER" -Server NEW_MAIL -EdbFilePath D:\Mailbox\USER\USER.edb -LogFolderPath D:\Mailbox\USER\

Подключение базы данных:

Mount-Database -Identity "USER"

 

Более подробно про создание базы данных, можно почитать в официальной документации Microsoft 

 

Перенос почтовых ящиков пользователей

Выполняем перенос почтовых ящиков с почтового сервера (OLD_MAIL), на почтовый сервер (NEW_MAIL).

 

GUI:

Настройка получателей — Почтовый ящик — Создать локальный запрос на перемещение…

 

Нажимаем Обзор, для выбора целевой базы данных почтовых ящиков, указываем целевую базу данных — (USER/NEW_MAIL), параметры перемещения оставляем по-умолчанию, нажимаем «Создать».

 

Посмотреть статус перемещения почтового ящика, можно перейдя  в (Настройка получателей — Почтовый ящик — Запрос на перемещение).

[stextbox id=’warning’]Создавать запросы на перемещение можно как к одному почтовому ящику, так и к группе почтовых ящиков.[/stextbox]

 

SHELL:

Создание одиночного запроса на перемещение почтового ящика в базу данных (USER) на сервере (NEW_MAIL):

New-MoveRequest -Identity 'admin@jakondo.ru' -TargetDatabase USER -MRSServer NEW_MAIL.jakondo.local

Создание пакетного запроса на перемещение почтовых ящиков:

Get-Mailbox -Database USER | New-MoveRequest -TargetDatabase USER -MRSServer NEW_MAIL.jakondo.local -BatchName "OLD_MAILtoNEW_MAIL"

 

Посмотреть статус выполнения запроса на перемещение:

Get-MoveRequest -MoveStatus InProgress -TargetDatabase USER

[stextbox id=’warning’]Параметры статуса — None, Queued, InProgress, AutoSuspended, CompletionInProgress,
Completed, CompletedWithWarning, Suspended, Failed.[/stextbox]

 

Более подробно про перемещение почтовых ящиков, можно почитать в официальной документации Microsoft 

 

Перенос базы данных общих папок (Public Folders)

[stextbox id=’warning’]Если в вашей организации не использовались Общие папки, то данный пункт можно пропустить и приступить к следующему.[/stextbox]

На почтовом сервере (NEW_MAIL), создаем базу данных общих папок (прим. PFD1), подключаем ее.

 

GUI:

Конфигурация организации — Почтовый ящик — Управление базой данных (вкладка) — Создать базу данных общих папок…

 

SHELL:

Создание базы данных общих папок:

New-PublicFolderDatabase PFD1 -Server NEW_MAIL -EdbFilePath D:\Mailbox\PFD1\PFD1.edb -LogFolderPath D:\Mailbox\PFD1\

Подключение созданной базы данных общих папок:

Mount-Database PFD1

 

Более подробно про создание базы данных, можно почитать в официальной документации Microsoft

 

Если адресная книга (OAB) распространяется через общие папки, то необходимо выключить распространение общих папок.

 

Конфигурация организации — Почтовый ящик — Автономная адресная книга (вкладка):

 

Если база общих папок ассоциирована с какой либо базой данных почтовых ящиков, то необходимо переназначить на новую базу данных общих папок (PFD1):

 

Переносим реплики с старого сервера (OLD_MAIL) на новый (NEW_MAIL). Перенос выполняется при помощи специального скрипта:

'C:\Program Files\Microsoft\Exchange Server\V14>.\Scripts\MoveAllReplicas.ps1' -Server OLD_MAIL -NewServer NEW_MAIL

 

Периодически проверяем, выполнился ли перенос общих папок, командами:

Get-PublicFolderStatistics -Server OLD_MAIL
Get-PublicFolderStatistics -Server NEW_MAIL

 

Дожидаемся когда на старом сервере (OLD_MAIL ), в выводе статистики, список общих папок станет пустым. Далее необходимо удалить старую базу данных общих папок (Public Folder Database 0275183447):

Remove-PublicFolderDatabase -Identity "Public Folder Database 0275183447"

 

Перенос системных почтовых ящиков

Выполним перенос системных учетных записей Exchange, на новую базу данных (USER).

 

Посмотреть список системных учетных записей, посмотреть через графическую консоль управления Exchange (EMC) нельзя, поэтому в консоли выполним команду:

Get-Mailbox -Arbitration | FL Name,DisplayName,ServerName,ExchangeGuid,Database,AdminDisplayVersion

 

Получим список системных учетных записей, с их идентификаторами. Именно по идентификаторам (ExchangeGuid) можно создать запрос на перемещение их в новую базу данных (USER).

Name : SystemMailbox{1f05a927-1fbd-4d4d-9106-06783378be8e}
DisplayName : Помощник по утверждению Microsoft Exchange
ExchangeGuid : 876d9b74-2c80-4aa8-a93a-aa19b994f762
ServerName : old_mail
Database : MAILBOX1

Name : FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042
DisplayName : Microsoft Exchange Federation Mailbox
ExchangeGuid : 2f97958f-ceae-4750-92af-a78c3b53ea76
ServerName : old_mail
Database : MAILBOX1

Name : SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}
DisplayName : Microsoft Exchange
ExchangeGuid : 7906ad64-e017-431e-a4c8-43fa6afa173f
ServerName : old_mail
Database : MAILBOX1

 

Выполняем перенос системных учетных записей по их GUID:

New-MoveRequest -Identity '876d9b74-2c80-4aa8-a93a-aa19b994f762' -TargetDatabase USER
New-MoveRequest -Identity '2f97958f-ceae-4750-92af-a78c3b53ea76' -TargetDatabase USER
New-MoveRequest -Identity '7906ad64-e017-431e-a4c8-43fa6afa173f' -TargetDatabase USER

 

Заключение

Все основные шаги были выполнены, теперь необходимо на новом сервере (NEW_MAIL), перенастроить коннекторы отправки/получения почты, Outlook Anywhere (OWA).

 

После этого можно выводить из эксплуатации старый сервер (OLD_MAIL), путем обычной деинсталляции программного обеспечения. На сервере где установлен (OLD_MAIL), переходим в Панель управленияУдаление программы и выполняем деисталляцию Microsoft Exchange Server 2010 (для удаления необходимо снять все галочки с пунктов).

 

Если деинсталляция прошла успешно, то можно спокойно выводить сервер из доменной среды (если это конечно необходимо). Если во время деинсталляции возникаю проблемы, то вероятней всего что то было сделано не так как описано выше.

Обсуждение

4 комментариев
  • Добрый день, подскажите пожалуйста, команда Get-Mail -Arbitration выдает пустой результат. Поиск по интернету не дал результатов, а без этого соответственно не получается сдвинуться с места.
    Как быть, куда смотреть?

  • Здравствуйте, если кто-нибудь подскажет, буду безмерно благодарен. Столкнулся с проблемой поиска системных почтовых ящиков. Команда, указанная в статья просто ничего не выводит в списке.
    Поиск не привёл к положительному результату. Подскажите пожалуйста, в чем может быть проблема?

  • Хорошая статья! Спасибо!
    А нет ли похожей по переходу с Exchnge 2010 на Exchange 2016-19?

    • Это ответ на комментарий Yandex

      К сожалению так и не добрался до написания статьи перехода с Exchange 2010 на 2016