Blog of Khlebalin Dmitriy

(Записки из мира IT…)

Миграция с Exchange 2010 на Exchange 2016, удаляем Exchange 2010 (часть 5).

В предыдущей части моего повествования был рассмотрен перенос адресной книги и миграция Public Folder…

Теперь осталось удалить Exchange 2010 из инфраструктуры и оттюнить возникающие баги.

Станислав подробно писал об этом здесь: https://www.buldakov.ru/?p=3288

Итак приступим…

Удаляем пустые базы почтовых ящиков.

Get-MailboxDatabase -Server mailtest | Remove-MailboxDatabase

У нас оставалась база base1, поэтому заходим в ее папку и руками удаляем все оттуда:

Папки остальных баз тоже не помешает проверить, и также удалить оттуда все.

Удаляем старую OAB.

Вспомним какие книги у нас есть: Get-OfflineAddressBook

Удаляем старую адресную книгу Exchange 2010, снова проверяем какие книги остались:

Remove-OfflineAddressBook ‘Автономная адресная книга по умолчанию’

Видим, что осталось только то, что необходимо…

Удаляем базы общих папок.

Get-PublicFolderStatistics -Server mailtest

Get-PublicFolderDatabase -Server mailtest | Remove-PublicFolderDatabase

Заходим в папку Public Folder и удаляем все оттуда (ранее оттуда файлы не удалялись, теперь удаляются).

Удаляем mailbox-сервер.

Setup.com /mode:Uninstall /role:M

Далее, можно через Установку удаление программ можно «пристрелить» все остальные компоненты Exchange 2010:

Пробуем зачищаем папку Exchange в Program Files

У меня кстати? из нее все не удалилось, какие то файлы все же оказались чем-то заняты…

Проверяем, что Exchange 2010 пропал из организации после удаления и перезагрузки сервера.

Как видим, здесь его больше нет, остались только наши две действующие ноды:

На всякий случай, проверим это и из консоли 2016 сервера, сервера 2010 у нас тоже больше нет.

же посмотрим, через adsiedit.msc, что записи Exchange 2010 нигде более не светятся, на первый взгляд я ничего не обнаружил.

Выключаем сервер из домена.

Проверяем запись в DNS на предмет оставшихся записей, если запись не пропала, удаляем ее.

Осталось проверить, что DAG работает и все сервисы доступны:

 

И вот тут появился «кулак дружбы».

Пришлось поочередно перегрузить каждую ноду, после чего почта пошла.

Поочередно тушим каждую из нод, смотрим, что все работает. Все работает.

Для чистоты эксперимента, создаем еще одну учетку для проверки Autodiscovery в Outlook. Все работает.

Проверяем, что все опубликованные ресурсы на фаерволе работают, и если все ГУД, то на этом можно миграцию закончить (старый виртуальный сервер, если он виртуальный, можно удалить из инфраструктуры дабы «не мозолил глаза», ну это по желанию) .

P.S. Ранее забыл упомянуть, напишу сейчас… При попытке войти на одну из нод (еще в самом начале, когда только разворачивали сервера Exchange 2016), как раз столкнулись с проблемой, которую Станислав описал вот здесь:

https://www.buldakov.ru/?p=3262

в последствии проблема исчезла сама по себе, но тем не менее, получается, что проблема иногда присутствует.

Всем хорошей работы!!!

15.08.2017 Posted by | ms exchange 2016 | Оставьте комментарий

Миграция с Exchange 2010 на Exchange 2016, OAB, Public Folder, миграция (часть 4).

Изыскания в области Exchange 2016 продолжаются…

В предыдущей части повествования, кратко рассмотрели CAS, перенастроили коннекторы, мигрировали ящики пользователей и системные ящики.

из нашего плана:

  1. Публикуем новый(е) Exchange 2016 на фронтах (OWA,EWS,ASync,POP,IMAP), в нашем случае фронтов нет, поэтому «прокинем и завернем» трафик на нужные адреса на фаерволе.
  2. Создаем Send Connector или модифицируем дефолтный (чтобы почта уходила через новый(е) Exchange 2016 сервер(а)).
  3. Конфигурируем Receive коннектор (чтобы почта приходила через Exchange 2016 (е) сервера).
  4. Мигрировать почтовые ящики на сервер(а) Exchange 2016.
  5. Создать Public Folder базу данных если нужно на Exchange 2016 или перенести существующую с 2010, если таковая была.
  6. Перенести (наверно более правильно теперь это называется назначить) Offline Address Book.
  7. Мигрировать Public Folder на Exchange 2016.
  8. Удалить старый Exchange 2010.

Осталось «допилить» 6,7,8 пункты…

Перенос (назначение) OAB.

Вот тут Станислав расписал подробно что необходимо для переноса:

https://www.buldakov.ru/?p=3271

еще процесс достаточно подробно описан тут:

http://smtp25.ru/archives/672

При попытке создать книгу команда вроде начала отрабатывать и намертво все повисло, книга так и не создалась, похожая проблема обсуждается здесь:

https://social.technet.microsoft.com/Forums/ie/en-US/e57bf331-6cd5-4089-851d-5f14e1caa157/exchange-2016-did-not-create-default-global-address-book?forum=Exch2016Adm

В итоге еще раз пошагово сделали так, как писал Станислав, и вроде книга создалась.

Далее, набираем команду Get-OfflineAddressBook и видим, что книга есть.

Перенос Public Folder.

Обязательно в общей папке на старом сервере Еxchange 2010  должен быть хотя бы один почтовый адрес +должна быть хотя бы одна база почтовых ящиков (наличие почтовых ящиков необязательна). Вот эти условия должны быть обязательно соблюдены.

От начала до конца процесс переноса описан здесь:

https://technet.microsoft.com/ru-ru/library/mt463355(v=exchg.150).aspx

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

Но ошибок миновать никак не удалось… Может возникнуть вот такая ошибка…

Решается удалением текущего запроса и запуском нового (консоль ECP получатели =миграция).

После того, как Public Folder мигрировали, осталось удалить старый сервер из инфраструктуры и «затюнить баги». Но пока до этого руки не дошли, об этом грядущих постах.

Продолжение следует…

Всем хорошей работы!!!

01.08.2017 Posted by | ms exchange 2016 | 1 комментарий

Миграция с Exchange 2010 на Exchange 2016, CAS, миграция (часть 3).

В предыдущей части моего повествования, был  настроен DAG на Exchange 2016 рядом с действующим Exchange 2010:

Миграция с Exchange 2010 на Exchange 2016, настройка DAG Exchange 2016 (часть 2).

Здесь бы необходимо приступить непосредственно к миграции, но для начала необходимо понять, что делать с CAS (я в том смысле, как обеспечить высокую его доступность).

О высокой доступности CAS Array Станислав Булдаков писал вот здесь: https://www.buldakov.ru/?p=2243

посмотрел, есть масса аналогичных вариантов:

https://f5.com/products/deployment-methods/virtual-editions

при наличии определенных денежных средств, все они воплотимы, но пока это не наш случай и мы решили обойтись настройкой DNS Round Robin.

Алексей Горбунов детально писал об этом здесь: http://agorbunov.blogspot.ru/2011/01/dns-round-robin.html 

Наконец пришло время приступить непосредственно к миграции.

Перед этим имеет смысл посмотреть какие проблемы обычно бывают (здесь речь про 2013 сервер, но полагаю проблемы аналогичны):

http://pyatilistnik.org/kakie-problemyi-i-dopolnitelnyie-nastroyki-pri-pereezde-s-exchange-2010-na-exchange-2013/

и вот тут, Илья Сазонов описал особенности:

https://isazonov.wordpress.com/2013/04/16/%D1%87%D1%82%D0%BE-%D0%BD%D1%83%D0%B6%D0%BD%D0%BE-%D1%83%D1%87%D0%B5%D1%81%D1%82%D1%8C-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B5%D0%B9-%D0%BD%D0%B0-exchange-serve/

Ранее мне и моим коллегам еще не доводилось иметь дело с Exchange 2016, поэтому с особенностями мы не знакомы (безусловно он во многом схож с 2013 версией, но особенности есть всегда). В русскоязычном сегменте мне так и не удалось найти полной информации по миграции, наиболее интересно на мой взгляд, процесс освятил Станислав Булдаков (как я ранее писал, его  посты и были взяты за основу),

https://www.buldakov.ru/?p=3251

в англоязычном варианте внимательно читаем вот этот пост по переносу (первые две части можно пропустить, так как сами сервера у нас уже есть):

http://techgenix.com/migrating-small-organization-exchange-2010-exchange-2016-part1/

**Еще одним важным моментом, является, то, что на все сервера Exchange (особенно на Exchange 2010), должны быть установлены все  роллапы и обновления, перечень обновлений можно посмотреть здесь:

https://technet.microsoft.com/ru-ru/library/hh135098(v=exchg.150).aspx

бывают случаи, что роллапы не устанавливаются (точнее он как бы устанавливается, но версия не меняется, получается что по факту не устанавливается). Этот момент может исправить установка из CMD: Exchange2010-KB<RollupPackageNumber>-x64-EN.msp /lxv* c:\<path>\<filename>.log

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

Итак, вроде все прочитано, продумано, набросаем коротенький план миграции:

  1. Публикуем новый(е) Exchange 2016 на фронтах (OWA,EWS,ASync,POP,IMAP), в нашем случае фронтов нет, поэтому «прокинем и завернем» трафик на нужные адреса на фаерволе.
  2. Создаем Send Connector или модифицируем дефолтный (чтобы почта уходила через новый(е) Exchange 2016 сервер(а)).
  3. Конфигурируем Receive коннектор (чтобы почта приходила через Exchange 2016 (е) сервера).
  4. Мигрировать почтовые ящики на сервер(а) Exchange 2016.
  5. Создать Public Folder базу данных если нужно на Exchange 2016 или перенести существующую с 2010, если таковая была.
  6. Перенести (наверно более правильно теперь это называется назначить) Offline Address Book.
  7. Мигрировать Public Folder на Exchange 2016.
  8. Удалить старый Exchange 2010.

Публикуем новый(е) Exchange 2016.

Здесь не буду детально останавливаться на «пробросе и отруливании» трафика. Просто «прокидываем» адреса и порты уже новых серверов, старые правила пока выключаем.

Создаем Send Connector или модифицируем дефолтный (чтобы почта уходила через новый(е) Exchange 2016 сервер(а)).

Конфигурируем Receive коннектор (чтобы почта приходила через Exchange 2016 (е) сервера).

Мигрируем почтовые ящики на сервер(а) Exchange 2016.

Можно мувить через графический интерфейс:

Можно через PS (кому как удобнее):

Мувим все ящики пользователей в базу на новом сервере.

Смотрим какие базы на сервере.

Get-Mailbox -Server mailtest

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

Get-Mailbox -Database «Mailbox Database 1793793129» | New-MoveRequest -TargetDatabase «Mailbox Database 0836693686» -BatchName «Mailbox Database 1793793129

Видим что все наши ящики переехали уже на новые сервера

Здесь имеет смысл добавить столбцы (выбрать столбец База данных)

Теперь видно какие ящики в каких базах находятся.

Далее переносим так называемые системные (или арбитражные ящики).

Смотрим какие системные ящики есть в базе.

Get-Mailbox -database «Mailbox Database 1793793129» –Arbitration

Или так, если баз много

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

Переносим все сразу ящики в базу нового сервера.

Get-Mailbox -Database «Mailbox Database 1793793129» -Arbitration | new-moverequest -targetdatabase «Mailbox Database 1549186161»

Можно мувить ящики по отдельности.

Смотрим информацию по системным ящикам, выбираем параметры ExchangeGuide

Get-Mailbox -database «Mailbox Database 1793793129» -Arbitration | fl

И мувим каждый ящик по отдельности

Get-Mailbox -Arbitration -Identity «d2ecf0d4-3fc3-42ba-b264-aebcc719df94» | New-MoveRequest -TargetDatabase «Mailbox Database 1549186161»

Смотрим, что все благополучно перенеслось.

Get-MoveRequest | Get-MoveRequestStatistics

При переносе можно столкнуться с проблемой, ранее она была описана здесь:

https://technet.microsoft.com/en-us/library/dd638094(v=exchg.141).aspx

Далее проверяем еще раз, что больше ящиков на старом 2010 сервере более нет

Get-Mailbox -database «Mailbox Database 1793793129» –Arbitration

И если их действительно нет, отключаем базу (или базы) и удаляем пустую базу на Exchange 2010.

Get-MailboxDatabase -Server mailtest | Remove-MailboxDatabase

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

Продолжение следует…

Всем хорошей работы!!!

25.07.2017 Posted by | ms exchange 2016 | 1 комментарий