Миграция с Exchange 2003 на Exchange 2010 – ситуации. Часть 2.


Продолжение темы:

Миграция с Exchange 2003 на Exchange 2010 – от сомнений к реализации

Миграция с Exchange 2003 на Exchange 2010 – первые шаги

Миграция с Exchange 2003 на Exchange 2010 – ситуации. Часть 1.

 

Сосуществование

Если ваша организация Exchange 2003 достаточно большая и сложная, то неизбежно будет достаточно большой промежуток времени, когда Exchange 2003 и Exchange 2010 будут работать одновременно. К сожалению, в документации неполно рассмотрено сосуществование двух систем Exchange. Точнее сказать, информация размазана по разным разделам. Поэтому будьте особенно внимательны к тому, что вам рекомендуется делать по Check list, и будьте готовы к устранению проблем с доступом к адресной книге, папкам общего пользования и информации о доступности(Free/Busy).

В частности возникает проблема синхронизации адресных книг. Если следовать Check list, то надо переместить генерацию адресной книги на Exchange 2010. Не торопитесь это делать! Есть вероятность, что Вы получите ошибки на клиентах Outlook, которые не смогут получать адресную книгу.

Сначала я надеялся привести конкретные шаги и команды, которые позволят вам избежать проблем при миграции. Но после анализа форумов и блогов пришел к выводу, что нештатных ситуаций может быть бесчисленное множество. Причина этого в том, что организация Exchange сама по себе сложная система, а при появлении в ней двух версий сервера все усложняется в квадрате. К тому же в эксплуатации могут находиться клиенты Outlook разных версий, с разными сервис паками и разными настройками.

Тем не менее не все так пессимистично: большинство мигрирует успешно даже не подозревая о существовании тех или иных проблем – в этом вся прелесть Exchange: он настолько хорошо сбалансирован, что вся сложность спрятана от глаз непосвященных.

Вот общие, но очень важные, рекомендации:

1.       Проведите инвентаризацию клиентов до начала миграции.

2.       Мигрируйте на одну версию Outlook (с одинаковыми обновлениями и одним сервис паком).

3.       Если это невозможно, то сократите разнообразие вариантов до минимума.

4.       После того как вы дошли по Check list к миграции почтовых ящиков, мигрируйте их, группируя по версиям клиента.

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

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

Из чего проистекают эти рекомендации?

Проблема в том, что в Exchange 2003 адресная книга хранится в папке общего пользования, а в Exchange 2010 используется веб-служба (прежний вариант тоже можно включить для клиентов Outlook 2003), и в тоже время клиенты Outlook разных версий по-разному ищут и загружают автономную адресную книгу. http://technet.microsoft.com/en-us/library/bb232155.aspx. Причем клиенты Outlook 2007/2010 автоматически находят веб-службу и с ними не возникает проблем, а вот клиенты Outlook 2003 более «капризные».

Поэтому первое, что надо сделать, это понять, можете ли вы целиком мигрировать на новую схему, иначе говоря, есть ли у вас клиенты Outlook 2003 и если есть, то можете ли вы от них избавиться. Если да, то все упрощается: в Exchange 2010 вы можете отказаться от распространения автономной адресной книги через папки общего пользования, и одновременно вы избавляете себя от множества потенциальных проблем миграции.

В моем случае пришлось заменить на трех рабочих местах Office 2003 на Office 2007. Надо отметить, что Office 2007 не требует больше ресурсов, чем Office 2003, и замена может быть сделана без опасений.

С клиентами Outlook 2003 ситуация сложнее: они будут искать адресную книгу в папке общего пользования на сервере, где находится почтовый ящик, т.е. до миграции на сервере Exchange 2003, а после на сервере почтовых ящиков Exchange 2010. И вот тут могут появиться сюрпризы.

Если вы согласно Check list переместили генерацию автономной адресной книги на Exchange 2010, то она генерируется там и размещается в папке общего пользования Exchange 2010 (для веб-службы на CAS сервере, но это сейчас не важно), и при этом на Exchange 2003 остается ее старая реплика!

Варианты:

1.       Вы решили отказаться от папок общего пользования в Exchange 2010, не создали хранилище и, следовательно, при генерации OAB на Exchange 2010 она никогда не попадет в хранилище общих папок на Exchange 2010. Сможет ли Exchange 2010 ее положить в хранилище общих папок на Exchange 2003 я не знаю, не тестировал, по идее должен. Но теперь вы знаете об этом подводном камне.

2.       Вы создали хранилище общих папок на Exchange 2010, переместили генерацию OAB на Exchange 2010. В этом случае есть две реплики OAB – на Exchange 2003 и на Exchange 2010. Клиент Outlook 2003, чей почтовый ящик все еще расположен на Exchange 2003 будет искать OAB на Exchange 2003. Если репликация общих папок не настроена, то OAB на Exchange 2003 будет старой! Нужно настроить репликацию.

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

Как видите клиенты Outlook 2003 создают массу забот. Но это еще не все. Надо проверить настройки безопасности Outlook 2003 http://blogs.technet.com/b/thbrown/archive/2010/01/16/cannot-access-public-folders-from-outlook-2003-2007-after-moving-users-mailboxes-to-exchange-2010.aspx . И не только…

Если вы мигрируете постепенно и у вас две реплики общих папок, то вам придется настраивать их репликацию, а не перемещение их реплик.

Например, надо обеспечить не только генерацию адресной книги на Exchange 2010, но и ее репликацию обратно на сервер Exchange 2003. Либо в другую сторону, если OAB все еще генерируется на Exchange 2003, но вы уже перенесли какие-то почтовые ящики с клиентом Outlook 2003.

Аналогичная ситуация с информацией о доступности (Free/Busy): на Exchange 2003 она находится в папке общего пользования, а на Exchange 2010 работает веб-служба.

Общие папки в отличие от маршрутизации почты автоматически не настраиваются при установке первого транспортного сервера Exchange 2010 в организацию Exchange 2003. Вам нужно вручную настроить репликацию общих папок между Exchange 2003 и Exchange 2010.

В документации это отражено как «перенос», что подходит для одномоментной миграции, но  не подходит для совместной работы двух версий. Смотрите пункт 18 http://technet.microsoft.com/en-us/library/ee332309.aspx

Вам нужно сделать все как там по ссылке, только использовать скрипт AddReplicaToPFRecursive.ps1

http://blogs.technet.com/b/agobbi/archive/2010/08/04/how-to-move-public-folder-from-exchange-2003-to-exchagne-2010.aspx

http://technet.microsoft.com/en-us/library/aa997966.aspx

http://technet.microsoft.com/en-us/library/bb691120.aspx

Настраивать репликацию надо для системных папок:

·         OAB version 2

·         OAB version 3a

·         OAB version 4

·         Schedule+FreeBusy:EX:/o=……

·         EX:/o=…./ou=First Administrative Group

·         Плюс ваши рабочие папки

Смотрите в «картинках» http://www.simple-talk.com/sysadmin/exchange/upgrade-exchange-2003-to-exchange-2010/

Но в конце концов наступит момент, когда Exchange 2003 надо будет окончательно удалять, и вот тогда реплики общих папок на нем надо будет ликвидировать. И не забудьте про удаление репликации!

С клиентами Outlook 2003 может возникнуть еще одна неприятность: почтовый ящик мигрирован на Exchange 2010, адресная книга генерируется нормально, но клиент все равно ее не может найти.

Тогда надо проверить привязку OAB к почтовой базе и к почтовому ящику:

Get-MailboxDatabase «YourDatabase» |FL OfflineAddressBook

Get-Mailbox YourUser@Domain.com |FL OfflineAddressBook

Восстановлениесоответственно:

Get-MailboxDatabase  «DBName» | Set-MailboxDatabase -OfflineAddressBook OABName

Get-Mailbox «YourUser@Domain.com» | Set-Mailbox -OfflineAddressBook OABName

Подробнее тут: http://social.technet.microsoft.com/Forums/en-US/exchange2010/thread/92ec5c84-f072-453a-8db6-6c3520f76138

 

Еще один момент сосуществования двух версий Exchange. При установке первого транспортного сервера Exchange 2010 в организацию Exchange 2003  вам будет задан вопрос, какой сервер Exchange 2003 использовать как пограничный. Именно через этот сервер системы Exchange 2010 и Exchange 2003 будут взаимодействовать друг с другом. Поэтому рекомендую вам выбрать тот сервер Exchange 2003, который будет удален последним. Это важно! Иначе вам придется вручную перенастраивать «мост» между двумя системами. Сделать это можно, но скорее всего вы потратите массу времени, т.к. настройки надо делать с двух сторон и для многих компонентов (коннекторы, репликация и т.д.).

Если вдруг установщик при установке первого транспортного сервера Exchange 2010 не задаст вопрос о пограничном сервере Exchange 2003, то значит он не смог определить наличие организации Exchange 2003. Не знаю точно, как установщик Exchange 2010 определяет наличие Exchange 2003, но могу предположить, что

http://support.microsoft.com/kb/556086

http://support.microsoft.com/kb/158530

 

Старое не знает о новом

В документации четко написано:  объекты Exchange 2003 должны управляться через оснастку управления Exchange 2003, а объекты Exchange 2010 через его собственную оснастку.

Все правильно: старое не знает о новом, а новое должно корректно работать или не работать со старым.

Побочный эффект: когда вы выполняете манипуляции с объектами Exchange 2003 это может оказать косвенное влияние на Exchange 2010! И вы получите странные ошибки.

Пример 1

Eventid 2937

Процесс w3wp.exe () (идентификатор процесса=4064). Объект [CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=XXX,DC=local]. Для свойства [GlobalAddressList] установлено значение [UGESP.local/Configuration/Deleted Objects/All Users

DEL:15708f3d-1464-4743-b3ec-b517a6ddd202], оно указывает на контейнер удаленных объектов в службе ActiveDirectory. Это свойство необходимо исправить как можно скорее.

Причина:

Скорее всего, в Exchange 2003 удалили глобальную адресную книгу (одну из)

Лечится:

1.       Запустить ADSIEDIT

2.       ОткрытьконтейнерCN=Microsoft Exchange,CN=Services,CN=Configuration,DC=XXX,DC=local

3.       Найти запись со ссылкой на глобальную адресную книгу, которую удалили, и удалить эту запись.

Пример 2

Eventid 2937

Процесс w3wp.exe () (идентификатор процесса=5512). Объект [CN=Otdel,CN=Users,DC=domain,DC=local]. Длясвойства [HomeMTA] установленозначение [domain.biz/Configuration/Deleted Objects/Microsoft MTA

DEL:55095b2d-1314-4bfb-a28e-5хххххххх56], оно указывает на контейнер удаленных объектов в службе Active Directory. Это свойство необходимо исправить как можно скорее.

Причина:

После миграции почтового ящика HomeMTA указывал на старый сервер, который удалили (объект оказался в корзине),  и ссылка указывает на удаленный объект.

Лечится:

Get-Mailbox | Update-Recipient

Get-Mailbox -Arbitration | Update-Recipient

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

Пример 3

Eventid 2937

Процесс w3wp.exe () (идентификатор процесса=6876). Объект [CN=Exchange Administrative Group (FYDхххххххххT),CN=Administrative Groups,CN=XXX, CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=XXX,DC=local]. Длясвойства [PublicFolderDatabase] установленозначение [XXX.local/Configuration/Deleted Objects/Public Folder Database

DEL:ae964946-a1f0-44e2-bххххххххххх7], оно указывает на контейнер удаленных объектов в службе Active Directory. Это свойство необходимо исправить как можно скорее.

Причина:

Та же

Лечится:

Так же J

 

Ошибка при обновлении схемы

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

При обновлении схемы во время установки Exchange 2010 можно получить сообщение об ошибке, если схема AD предварительно обновлялась при установке какого-то иного продукта третьей фирмы, и возник конфликт между атрибутами этого продукта и атрибутами определяемыми компанией Microsoft.

Ошибкавыглядиттак: The server side error is: 0x2114 Schema update failed: An attribute with the same link identifier already exists.

Известно, что такую ошибку вызывает, например,  IBM Cognos.

Собственно ничего страшного нет. Причина в том, что схема традиционно обновляется загрузкой файлов ldif, где уже заданы все параметры, в том числе уникальные идентификаторы, которые из-за этого становятся по сути неуникальными!

Конфликт решается правкой исходного файла, в котором содержится атрибут вызывающий ошибку: для каждого атрибута, который вызывает конфликт, надо его ID заменить на специальный, чтобы вызвать auto-generation .  http://msdn.microsoft.com/en-us/library/bb891955(VS.85).aspx Принцип описан в статье http://support.microsoft.com/kb/969307

(Установщик Exchange 2010 извлекает файлы ldif из дистрибутива во временную директорию, где их можно «перехватить», поправить и загрузить вручную. Их точное местонахождение в дистрибутиве для ручной распаковки не знаю).

 

Ссылки:

http://social.technet.microsoft.com/Forums/ru-RU/exchange2010ru/thread/a6aa4c9b-cfc4-44f6-9718-3c56cd91bc8f

http://www.winserverkb.com/Uwe/Forum.aspx/exchange-setup/18985/EXCH-2007-Schema-update-failed-during-Scheme-Prep-LDIF

http://msdn.microsoft.com/en-us/library/bb891955(VS.85).aspx

http://support.microsoft.com/kb/969307

 

 

Удаление последнего сервера Exchange 2003.

В документации по Exchange 2010 написано мало и вроде как неверно про удаление

Remove the Last Legacy Exchange Server from an Exchange 2010 Organization

вдокументациипо Exchange 2007

How to Remove the Last Legacy Exchange Server from an Organization

пункт 5 написано:

5.Microsoft recommends that you do not remove the original Administrative groups from an organization.

Да, это очень важно! При удалении последнего сервера Exchange 2003 из организации не удаляйте FirstAdministrativeGroup!!!

Если вы все же наступили на эти грабли, то в той же статье по Exchange 2007 даны указания как поменять атрибут LegacyExchangeDN пользователей с помощью утилиты Admodify.exe (я не тестировал этот вариант для Exchange 2010! – проверьте на одном почтовом ящике сначала).

Дополнение от 20.10.2011

Решение для ошибки:

Log Name: Application
Source: MSExchange Store Driver
Event ID: 1020
Level: Error
Description:

The store driver couldnt deliver the public folder replication message «Hierarchy (PublicFolder@contoso.com)» because the following error occurred: The Active Directory user wasn’t found.

Решение в блоге разработчиков. Просто удалите контейнер Servers.

 


На этом я хотел завершить цикл статьей по миграции с Exchange 2003 на Exchange 2010. Но… J Будет еще одна часть и статья по LegacyExchangeDN.

Если у вас есть полезный опыт по миграции с Exchange 2003 на Exchange 2010, то пишите комментарии к этой статье или размещайте анонсы и ссылки на свои статьи.

Удачи в миграции и применении Exchange 2010 в вашей жизни!

 

Реклама

Один ответ

  1. […]  Миграция с Exchange 2003 на Exchange 2010 – ситуации. Часть 2. […]

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: