Перенос Exchange 2010 с одного сервера на другой.
Некоторое время назад я уже писал, что по различным причинам, нам не удалось сконвертировать Exchange 2010 в виртуальную среду (4 иттерации и все безрезультатно, исправляешь ошибки появляются другие), в общем коллегиально было решено перенести «чангу» руками в виртуальную среду, тем более, была стандарт версия, поставили ентерпрайс.
Итак, вроде бы в отдаленном приближении все просто:
— Устанавливаем рядом сервер exchange;
— Мувим туда ящики;
— Переключаем коннекторы;
— Удаляем старый exchange;
Все бы не плохо, но старый exchange в этом случае не удалится. Посему решил детально описать процесс переноса. На некоторых вопросах, не буду останавливаться столь подробно, но суть постараюсь донести…
Итак, железный сервак у нас GOMAIL, новый виртуальный просто MAIL (процесс установки пропущу, о нем я писал ранее, да и нет тут ничего особенного, на чем стоило бы заострить внимание в данном посте, устанавливаем 3 роли как и на существующем сервере: mailbox, client access, hub transport, edge у нас отсутствовал ранее, в данном случае без него).
Далее накатываем SP2 (чтоб версии серверов были одинаковыми), вот тут нас черт дернул накатить Kaspersky for Exchange (будь проклят тот день, когда я сел за баранку этого пылесоса), чанга ребутнулась и половина служб отказалось стартовать. Дальше начались «танцы с бубном» и так и сяк, но каменный цветок никак не выходил, попытались удалить Каспера, но не тут-то было, Каспер категорически отказывался удаляться. После некоторых манипуляций, Каспера все-таки удалось «выщемить» из системы, но после перезагрузки сервера, нас снова ждал большой «кулак дружбы»: службы как не стартовали, так и не стартанули, журнал покрылся красными крестами. Попытались дозачистить реестр от Каспера, но после перезагрузки получили тот же самый эффект.
Итог: «Пристрелили» виртуалку с новым только что установленным Exchange. Поэтому, если необходима стабильная работа чанги, НЕ РЕКОМЕДУЮ УСТАНАВЛИВАТЬ модуль Kaspersky for Exchange (да простит меня повелитель вирусов и троянов).
Далее восстанавливаем чангу в Recovery Mode
Для этого запускаем: Setup /m:RecoverServer Подробнее читаем здесь: http://technet.microsoft.com/ru-ru/library/dd876880(v=exchg.141).aspx
Итак, наконец получаем полностью рабочую чангу на виртуалке.
Далее пришло время создать хранилища на новой чанге и смувить туда ящики, кстати после того, как ящики были смувлены, некоторым юзерам пришлось пересоздать профиля в аутглюке иначе ящик никак не цеплялся, но пересоздание профиля решает эту проблему.
Далее возникает вопрос в переносе общих папок, мы особо не эксплуатируем их, но пару департаментов их все таки юзают.
Итак переносим…
Дано GOMAIL и MAIL. Требуется: перенести базу общих папок (Public Folders) с сервера GOMAIL на MAIL, после чего с GOMAIL эта база удаляется навсегда. Без определенных действий с вашей стороны просто так в Exchange удалить базу общих папок не получится.
При попытке удаления выводится сообщение об ошибке
-------------------------------------------------------- Ошибка Microsoft Exchange -------------------------------------------------------- Не удалось удалить базу данных общих папок 'Public Folder Database 0275183447'. Public Folder Database 0275183447 Ошибка Ошибка: База данных общих папок "Public Folder Database 0275183447" содержит реплики папок. Перед удалением базы данных общих папок удалите папки или переместите реплики в другую базу данных общих папок. Дополнительные сведения об удалении базы данных общих папок см. в статье http://go.microsoft.com/fwlink/?linkid=81409&clcid=0x419 (на английском языке). -------------------------------------------------------- ОК --------------------------------------------------------
1. Первое что нужно сделать, это назначить права на соответствующие действия (но права у нас есть, поэтому не буду подробно останавливаться на них).
2. Второе действие — это создать на MAIL новую базу общих папок. Сделать можно это через консоль, с этим проблем тоже нет.
3. Третье, что нужно сделать, это проверить, есть ли реплики. Если база содержит в себе данные, удалить ее невозможно.
Проверим, что в данный момент у нас храниться в общих папках:
Get-PublicFolderStatistics -Server GOMAIL Get-PublicFolderStatistics -Server MAIL
по выводу будет очевидно, что у нас содержится в общих папках.
4. Если у вас общая адресная книга распространяется через общие папки — нужно отключить это или пере нацелить на другую базу общих папок (скрин с одного рабочего сервера на нем были эти манипуляции):
5. Если база общих папок ассоциирована с какой либо базой данных почтовых ящиков — пере нацельте на другую базу данных общих папок (скрин с вполне рабочего сервера):.
6. Теперь переносим реплики. Это делается специальным скриптом.
“C:\Program Files\Microsoft\Exchange Server\V14>.\Scripts\MoveAllReplicas.ps1 -Server GOMAIL -NewServer MAIL”
Процедура долгая, так как дефолтно этот процесс выполняется примерно в 4-е утра Можно ускорить, если зайти в свойство общих папок и выставить ближайшее удобное время репликации.
7. Проверяем что получилось командами
Get-PublicFolderStatistics -Server GOMAIL Get-PublicFolderStatistics -Server MAIL
в итоге вывод зеркально должен поменяться, то есть при выводе
Get-PublicFolderStatistics -Server GOMAIL
список должен быть пуст.
ПУСТОЙ СПИСОК ПРИ ВЫВОДЕ ЭТОГО КОМАНДЛЕТА — ЭТО ТО ЧТО МЫ ДОБИВАЛИСЬ
если он стал пустой, то можно перейти к следующему шагу.
8. Удаляем базу общих папок с сервера GOMAIL, теперь все получится.
Все тоже самое можно сделать и через Power Shell:
Первым делом смотрим, что происходит сейчас, т.е. где хранятся общие папки.
Get-PublicFolder -recurse |fl name,replicas
Затем добавляем в реплику наш второй сервак:
.\AddReplicaToPFRecursive.ps1 -Server GOMAIL -TopPublicFolder \ -ServerToAdd MAIL
После этого ждем, чтоб папки отреплицировались.
Проверяем этим командлетом:
Get-PublicFolderStatistics -Server GOMAIL
Правда после этого выдается куча инфы, статистика по всем папкам.
Затем перемещаем реплику:
MoveAllReplicas.ps1 —Server GOMAIL —NewServer MAIL
Удаляем реплику старого сервака:
.\RemoveReplicaFromPFRecursive.ps1 —Server MAIL —TopPublicFolder \ —ServerToRemove GOMAIL
Отключаем базу с общими папками на старом серваке, проверяем.
Но и на этом «танцы с бубном не заканчиваются», еще необходимо перенести так называемые системные ящики, здесь я воспользовался постом из блога Алекса
Перенос системных ящиков
http://www.alexxhost.ru/2011/04/system-mailbox-exchange-2010.html
System Mailbox в Exchange 2010
Системные почтовые ящики на сервере Exchange зачастую настолько не заметны, что на них мало кто обращает внимания. Но при этом, они несут на себе достаточно важные функции и неполадки с этими ящиками могут доставить много неудобств администраторам. Несмотря на то, что системные почтовые ящики являются «самодостаточной единицей», если можно так выразиться, и в большинстве случаев не требуют к себе внимания со стороны администраторов, все же бывают ситуации, когда у них что-то ломается и вмешательство становится уже просто необходимым. В связи с этим, я предлагаю в данной статье поговорить о том, зачем этот тип почтовых ящиков нужен и как их лечить в случае неприятностей.
Типы System Mailboxes
Что касается сервера Exchange 2010, то тут есть три типа системных почтовых ящиков:
- Message Approval — SystemMailbox {1f05a927-xxxx- xxxx — xxxx -xxxxxxxxxxxx}
Где х – это случайное число
- Discovery — SystemMailbox {e0dc1c29-89c3-4034-b678-e6c29d823ed9}
- Federated E-mail — FederatedEmail 4c1f4d8b-8179-4148-93bf-00a95fa1e042
Из названий очевидно для чего каждый из них служит. Подробнее про типы получателей в Exchange 2010 можно почитать здесь.
Через графическую консоль управления Exchange (EMC), увидеть системные ящики невозможно. Чтобы получить их список, даже командлета Get-Mailbox не достаточно, понадобится ещё параметр –Arbitration:
Get-Mailbox –Arbitration
Рис.1: Список системных почтовых ящиков.
Здесь нужно заметить, что кроме этих трех системных почтовых ящиков, есть так называемый «специальный» почтовый ящик – Discovery Search Mailbox, его не нужно путать с озвученным выше системным ящиком. Системный почтовый ящик Discovery используется механизмом Multi-Mailbox Search для хранения метабазы поиска, а в Discovery Search Mailbox копируются результаты поиска. При этом, в отличие от системных почтовых ящиков, создать дополнительный Discovery Search Mailbox нет ни каких проблем, нужно просто c командлетом New-Mailbox использовать параметр –Discovery.
Если смотреть на данные почтовые ящики со стороны Active Directory, то не трудно заметить, что учетные записи, связанные с ними находятся в отключенном состоянии:
Рис.2: Учетные записи Active Directory, ассоциированные с системными почтовыми ящиками.
Восстановление System Mailbox
Со стороны Exchange`a, повредить системные почтовые ящики достаточно не просто, хотя бы потому, что их не видно при обычном просмотре. Но это реально, и для того, чтобы вернуть их на место нужно просто заново активировать почтовый ящик для соответствующих учетных записей. Делается это при помощи командлета Enable-Mailbox:
Enable-Mailbox “SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}” -Arbitration
В результате будет пересоздан почтовый ящик и все будет хорошо.
Проблема усложнится, если были удалены соответствующие учетные записи в Active Directory.
Дело в том, что учетные записи системных почтовых ящиков автоматически создаются во время установки сервера Exchange, а если быть точнее, то создаются они во время подготовки базы данных Active Directory. Раз так, то восстановить их можно будет просто ещё раз выполнивPrepareAD, для этого надо найти дистрибутив, с которого был установлен Exchange и запустить setup c ключом PrepareAD:
Setup.com /PrepareAD
В результате учетные записи будут созданы заново, и вам нужно будет только сделать на базе них почтовые ящики указанной выше командой.
Примечание: Практика показала, что зачастую, даже для уже имеющихся системных учетных записей, не получается активировать почтовые ящики. На мой взгляд, решение тут одно – удалить самостоятельно учетные записи и полностью пересоздать почтовые ящики, описанным выше способом.
Перенос системных ящиков возможен.
1 получаем список ящиков Get-Mailbox –Arbitration | fl
2 Находим для каждого ящика параметр ExchangeGuid и выписываем его куда-нибудь, чтоб не запутаться (ибо по name перенос нет идет — мешают скобки воспринимаемые как команды)
3 создаем команду new-moverequest -identity (ExchangeGuid нужного ящика) -targetdatabase (имя БД, в которую надо перенести)
4 закрываем запрос на перенос в консоли Эксчендж
Системные ящики у нас переехали только со второй попытки, но переехали и это главное.
Далее перенастраиваем коннекторы отправки получения на новом серваке, меняем айпишники (если они изменились конечно, в нашем случае они изменились).
Далее заходим в Панель Управления-Установка и удаление программ на старом серваке и корректно удаляем старую «чангу» (при том при удалении снимаем галки это тоже может ввести в заблуждение). Если все нормально удаляется, значит сервер спокойно деинсталируется и после перезагрузки выключив сервак из домена можем спокойно отключить его из продакшин среды. Если сервак не удалиться, то будет ругаться на причину, а это значит, что в ходе моего повествования вы что-то пропустили.
Всем хорошей работы!!!
Sorry, the comment form is closed at this time.