Использование утилит Rendom и XDR-Fixup

Microsoft давно уже критикуют за то, что средства административного управления некоторых важнейших продуктов корпорации оставляют желать много лучшего. Администратор не может переименовать домен Windows 2000 Server и не имеет никакой возможности дать новое имя организации Exchange 2000 Server после развертывания серверов. В случае обнаружения ошибки остается лишь один вариант - начать все с начала, а это при большом числе серверов перспектива отнюдь не привлекательная. И вот в системах Windows Server 2003 и Exchange Server 2003 Service Pack 1 (SP1) Microsoft реализовала два инструментальных средства, позволяющие переименовывать домены Windows 2003 и затем вносить необходимые изменения в Active Directory (AD) с тем, чтобы обеспечить функционирование Exchange 2003 после переименования домена. Но надо сказать, что эти средства не для слабых духом. И уж во всяком случае, они совсем не похожи на привычные мастера в том, что касается удобства использования. Чтобы избежать ненужного риска, особенно если речь идет о переименовании доменов в производственной среде, администратор должен предварительно спланировать операцию и произвести тестирование. В публикуемой ниже статье я дам вам общее представление о том, как функционируют рассматриваемые средства, и расскажу о дополнительных ресурсах, которые помогут подготовиться к масштабным процедурам тестирования, необходимым для того, чтобы изменить имя домена Windows, включающего серверы Exchange 2003.

Переименование доменов

Корпорация Microsoft распространяет оригинальную версию средств Windows Server 2003 Active Directory Domain Rename Tools на компакт-диске Windows 2003 в каталоге \valueadd\msft\mgmt\domren. Обратите внимание, что исполняемый файл утилиты переименования доменов называется не domren.exe, а rendom.exe. Поставляемая на компакт-диске версия утилиты содержит ошибку, поэтому вам придется загрузить новейший комплект с Web-узла Microsoft и установить его на сервере, откуда вы собираетесь запускать процесс переименования доменов. Надо сказать, что ранее уже было выпущено несколько версий утилиты Rendom, но некоторые из них не функционируют, если в лесу имеется система Exchange, а в документации других прямо указывается, что с Exchange они не совместимы. Так что перед тем как приступить к переименованию, позаботьтесь о том, чтобы в вашем распоряжении была самая современная версия программы. Комплект устанавливает файлы в каталог \program files\Microsoft rename domain tools.

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

Однако надо иметь в виду, что эти средства позволяют решать лишь часть потенциальных проблем, которые могут возникнуть в процессе управления службой AD. Например, при том, что Microsoft решила старые проблемы, связанные с Exchange, (да и то лишь для серверов Exchange 2003), утилита переименования доменов по-прежнему не дает возможности удалять домены из леса или добавлять их в лес, так что для физического разделения или слияния доменов приходится использовать другие средства. Нельзя изменить имя корневого домена леса. Наконец, не предусмотрена возможность обмена доменами в ходе одной операции: если вы захотите вывести из леса один домен и ввести на его место другой домен (присвоив последнему имя выведенного домена), вам придется последовательно выполнить ряд операций; сначала нужно будет переименовать удаляемый домен, а затем присвоить освободившееся имя второму домену. Естественно, выполнение таких фундаментальны операций возможно лишь в том случае, когда учетная запись сотрудника наделена правами Enterprise Admin (либо правами Domain Admin во всех доменах леса) или когда сотрудник имеет доступ к учетной записи, наделенной такими правами.

Перед тем как приступать к переименованию объектов, убедитесь в том, что все приложения и другие компоненты инфраструктуры способны обеспечить выполнение этой операции. Сетей, в которых используется утилита переименования доменов, пока еще не так много, поэтому трудно судить о том, какие приложения могут вызвать проблемы, однако вероятность возникновения проблем весьма высока. И не полагайтесь на то, что Microsoft протестировала все свои прикладные программы. Тестирование прикладных программ должно быть - наряду с тестированием других компонентов - включено в общий план испытаний, проводимых в рамках операции по переименованию доменов. Кроме того, рекомендуем внимательно следить за сообщениями, публикуемыми в группах новостей и в других источниках; в них могут содержаться описания связанных с прикладными программами проблем, с которыми столкнулись другие пользователи.

Программа Exchange Domain Fix-Up

Средство переименования доменов вносит в каталог AD все изменения, необходимые для переименования домена Windows. Но поскольку система Exchange вносит в AD некоторые обновления схемы, а также активно использует AD для хранения своих данных о конфигурации, не приходится удивляться, что для обеспечения нормального функционирования Exchange 2003 после переименования домена необходимо выполнить ряд соответствующих операций. Эта задача возлагается на созданную специалистами Microsoft утилиту Exchange Domain Rename Fixup tool (xdr-fixup.exe). Microsoft выпустила XDR-Fixup примерно в то же время, что и Exchange SP1, но эта программа не входит в состав пакета обновлений. Более того, ее можно считать типичной представительницей инструментальных средств, которые Microsoft выпукает в виде "Web-версий". Когда пользователь загружает утилиту XDR-Fixup с Web-сайта Microsoft, она по умолчанию устанавливается в каталоге \programfiles\exchange server\exchange domain rename.

Уже в самом названии утилиты XDR-Fixup (X - Exchange, DR - Domain Rename - переименование доменов, Fixup - настройка - прим. пер.) содержится четкое указание на то, какую задачу она решает - речь идет о настройке параметров AD таким образом, чтобы система Exchange могла продолжать функционирование после переименования домена. Программа представляет собой сценарий, который генерирует загрузочный файл LDAP Data Interchange Format (LDIF). Администратор вручную импортирует этот файл в каталог AD, после чего атрибуты начинают указывать на новое имя домена. Чтобы успешно использовать программу XDR-Fixup, администратор должен использовать учетную запись с правами Exchange Full Administrator (на уровне организации). Кроме того, администратор должен обладать правами Local Administrator на сервере, где выполняются программы Rendom и XDR-Fixup (в документации Microsoft этот компьютер именуется управляющей станцией - control station); иначе он не сможет установить эти программы.

Конечно, утилита XDR-Fixup - это не палочка-выручалочка; она не способна ни излечить все недуги, которые могут поразить организацию Exchange, ни компенсировать организационные упущения. Так, вы не сможете переименовать организацию Exchange; не предусмотрена также возможность слияния двух организаций Exchange, расположенных в разных лесах AD, в одну организацию Exchange. Некоторые люди испытывают раздражение, если имя их организации Exchange не соответствует названию компании (скажем, после того как это название было изменено), но в сущности тут нет никаких оснований для беспокойства. Дело в том, что имя организации Exchange могут видеть только администраторы, а в элементах служб обмена сообщениями, таких, как почтовые адреса SMTP или X.400, оно никак не проявляется. Ни адресов электронной почты, ни политик, реализуемых системой Exchange через службу пользовательских обновлений Recipient Update Service (RUS), программа XDR-Fixup не изменяет.

Специалисты Microsoft пока не создали аналога мастера Exchange Server 5.5 Move Server Wizard, который позволяет администраторам перемещать серверы с одного сайта в другой или из одной организации в другую. Усовершенствованная программа, способная взаимодействовать с серверами Exchange 2003 и Exchange 2000, дала бы администраторам возможность реструктурировать и объединять организации, но такого инструмента пока нет, и это значит, что перемещение серверов с помощью службы AD - еще более сложная операция, чем "нейрохирургическое" вмешательство в каталог Exchange 5.5, выполняемое с помощью упомянутого мастера.

Требования

В сетях, инфраструктура которых еще не модернизирована до уровня Windows 2003 и Exchange 2003, использование средств Rendom и XDR-Fixup невозможно. Более того, служба AD должна функционировать в режиме леса Windows 2003, поэтому все контроллеры доменов должны работать под управлением Windows 2003, а функциональный уровень леса должен быть установлен в однородный режим. Организация Exchange должна функционировать в однородном режиме, и на всех серверах Exchange должна быть установлена система Exchange 2003 SP1 или более поздней версии; отсюда следует, что пакет SP1 должен быть развернут по всей организации еще до того, как вы приступите к переименованию доменов.

С точки зрения небольших организаций еще большее значение имеет то обстоятельство, что администратор не может переименовать домен, если сервер Exchange выполняется на сервере контроллера домена или на сервере глобального каталога. Вообще-то уже давно считается целесообразным не устанавливать систему Exchange на важнейших серверах AD, но администраторы малых организаций не всегда могут устоять перед искушением установить эту систему на контроллере домена либо на сервере глобального каталога. Если вы работаете в этой конфигурации (кстати сказать, типичной для компаний, в сетях которых пакет Exchange установлен на сервере Microsoft Small Business Server, SBS), вам придется - перед тем как вы запустите Rendom или XDR-Fixup - с помощью утилиты Dcpromo понизить статус контроллера домена или сервера глобального каталога до уровня обычного сервера с тем, чтобы в дальнейшем вернуть его в прежнее состояние.

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

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

Этапы переименования доменов с помощью системы Exchange

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

Ниже следует краткий обзор этих операций.

  1. С помощью команды Rendom /list создайте описание текущей среды AD в формате XML, как это показано на экране 1. В описание должен входить весь лес.
  2. Чтобы сформировать новую структуру, откройте любой текстовый редактор и отредактируйте в нем данные, полученные в ходе выполнения операции 1. В сущности редактирование сводится к поиску в файле XML таких объектов, как имена DNS и NetBIOS, и к замене их значениями, соответствующими новой структуре доменов. По завершении внесения изменений вы можете с помощью команды Rendom /showforest отобразить новую структуру в том виде, в котором она описана в файле. Это полезный тест, позволяющий убедиться в том, что файл XML сохранен полностью и не содержит ошибок.
  3. Выполните команду Rendom /upload. В результате файл XML будет преобразован в набор команд обновления каталогов, которые будут выполняться на всех контроллерах доменов в данном лесу. Rendom передает команды обновления контроллеру домена, являющемуся на данный момент мастером именования доменов для данного леса. Этот контроллер в ходе обычного цикла репликации данных тиражирует полученные команды на другие контроллеры доменов (вот почему до начала процесса переименования администратор должен обеспечить четкую работу служб репликации).
  4. завершения процесса репликации требуется определенное время (в не слишком большом лесу на это уходит по меньшей мере день). По истечении этого времени можно приступать собственно к процедуре переименования. С помощью команды Rendom /prepare проверьте, готов ли лес к началу операции. Помимо прочего, команда /prepare выясняет, завершена ли процедура репликации и обладает ли запустивший эту команду пользователь правами на выполнение инструкций по переименованию домена, которые были реплицированы.
  5. Выполните команду Rendom /execute. В результате будут реализованы инструкции по переименованию домена. Команда /execute поручает управляющей станции направить удаленный вызов процедуры (remote procedure call, RPC) на каждый контроллер домена в лесу с тем, чтобы контроллеры выполнили инструкции по переименованию домена. Rendom следит за выполнением этих команд каждым контроллером домена, и если какой-либо контроллер не выполняет команд (или недоступен), администратор может вновь выполнить команду Rendom /execute, и эта команда будет направлена лишь тем контроллерам доменов, которые еще не выполнили инструкций по переименованию.
  6. После перезагрузки всех контроллеров доменов и по завершении функционирования утилиты Rendom запустите программу XDR-Fixup. Она проверит атрибуты AD, перечисленные в Таблице 1, и обновит их при необходимости. Некоторые из этих атрибутов (например, атрибуты, относящиеся к ныне прекратившей существование службе конференций Exchange), скорее всего, не будут представлены на большинстве серверов. Другие атрибуты, например, относящиеся к коннекторам SMTP, имеют гораздо большее значение. При желании вы можете исследовать значения этих атрибутов; как показано на экране 2, это можно сделать с помощью такой программы, как ADSI Edit. Чтобы обновить атрибуты, утилиту XDR-Fixup нужно запускать только раз; впоследствии средства репликации службы AD разошлют новые значения по всей организации. Если хотите, можете запустить программу XDR-Fixup с ключом /verify. Таким образом вы удостоверитесь в том, что сделаны все необходимые изменения.
  7. Чтобы закончить процесс переименования домена, нужно ввести команду Rendom /end. Возможно, на этом этапе вам придется восстанавливать объекты групповых политик (Group Policy Objects, GPOs) и обновлять ссылки на групповые политики; для этого нужно будет прибегнуть к помощи других средств, таких, как Gpfixup.
  8. полного завершения процесса переименования домена запустите утилиту Rendom с ключом /clean.
  9. Если в сети имеются кластеры серверов Exchange, вам нужно будет выполнить еще одну операцию. Зарегистрируйтесь в кластере (эту процедуру нужно осуществить в каждом серверном кластере переименованного домена) и введите следующую команду:
C:>cluster /priv Exchange_domain =New_domain

Здесь Exchange_domain - это DNS-имя домена до переименования, а New_domain - DNS-имя домена после переименования. Кроме того, удостоверьтесь в корректности имени учетной записи, используемого учетной записью службы кластера. Для этого нужно на закладке Log On выставить флажок Log On As, Естественно, данная учетная запись должна быть действительной привилегированной учетной записью в переименованном домене.

Возможные проблемы

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

В документации Microsoft содержатся указания о том, как переименовывать контроллеры доменов вместе с самими доменами. Такой подход имеет смысл, если имя домена входит в состав имен контроллеров доменов (при соответствии имен контроллеров новому имени домена облегчаются процедуры управления). Но следует иметь в виду, что изменение имен контроллеров доменов затрудняет работу службы пользовательских обновлений RUS - ведь она должна связываться с контроллерами для того, чтобы считывать информацию о новых либо обновленных объектах, содержащих атрибуты для работы с почты, такими, как учетные записи. Если вы изменяете имена контроллеров доменов, обязательно проследите за тем, чтобы по завершении этой операции служба пользовательских обновлений RUS указывала на действительный контроллер домена. Иначе вы не сможете завершить процесс наделения объектов атрибутами для работы почты посредством обновления их с помощью посреднических адресов электронной почты.

Если в утилите DSAccess жестко закодированы имена серверов(как это описано в статье Microsoft "Directory service server detection and DSAccess usage", размещенной по адресу http://support.microsoft.com/?kbid=250570), так что за серверами Exchange "закреплены" конкретные контроллеры доменов (через закладку Directory Access в диалоговом окне Properties соответствующего сервера, как это показано на экране 3), вам следует удостовериться в том, что эти контроллеры доменов остаются действительными после всех операций по переименованию. Если проблемы не будут сняты и при попытке сервера отыскать список контроллеров доменов и серверов глобальных каталогов DSAccess будет возвращать ошибку 2075, вам, возможно, придется очистить кэш этого сервера, как отмечается в статье "EventID 2075 Occurs When You Try to Obtain a List of the Global Catalog Servers" (http://support.microsoft.com/?kbid=312425).

Экран 3.

Вследствие изменения имен контроллеров доменов и последующих нарушений в функционировании службы DNS могут возникнуть осложнения и с обработкой данных SMTP. Поэтому я советую вам после каждого переименования проверять очереди сообщений. Не формируются ли группы сообщений, ожидающих отправки в тот или иной домен? Если вы обнаружите очередь из более чем 50 сообщений, отключите и перезапустите службу SMTP на таком сервере - так вы заставите виртуальные серверы SMTP очистить свои кэши и получить новую информацию о контроллерах доменов, которую Exchange сохраняет в кэше.

Наконец, в статье Microsoft "Supplemental steps for using the Exchange Server Domain Rename Fixup tool together with the Windows Server 2003 domain rename tools" (http://support.microsoft.com/?kbid=842116) описывается процедура изменения значения переменной ValidPorts. Возможно, вам придется выполнить эту процедуру на серверах-посредниках RPC over HTTP в разделе реестра HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Rpc\RpcProxy - в том случае, если вы переименуете один из указанных в этом реестре серверов. Кстати, поскольку в реестре могут присутствовать жестко закодированные имена серверов, рекомендуется проверять реестр серверов Exchange, чтобы знать, нужно ли вносить в него какие-либо изменения. Скажем, администраторы могли внести имя контроллера домена для провайдера службы имен Name Service Provider Interface, NSPI (как это описано в статье Microsoft "DS Proxy configuration for static ports on Exchange cluster", опубликованной по адресу http://support.microsoft.com/?kbid=282446), и если имя данного контроллера домена изменится, вам, разумеется, придется корректировать значение этой параметра в кластере.

Только в случае необходимости

Лучший способ избежать необходимости переименовывать домены состоит в том, чтобы присваивать им видовые или функциональные имена, а не привязывать их к названию компании, которое может измениться. Если ваш лес называется Windows, у вас, скорее всего, не будет проблем, когда ваша компания Acme Inc. решит взять себе новое название Global Gobstoppers Corporation. Можете применить тот же метод с Exchange и назвать вашу организацию Email или Messaging.

Если у вас нет нужды изучать все тонкости операций по переименованию доменов, заниматься этим ради спортивного интереса явно нет оснований. Между всеми инфраструктурами AD и организациями Exchange существуют тонкие различия, поэтому для того, чтобы освоить основные принципы функционирования утилит Rendom и XDR-Fixup, а затем найти способы эффективного применения этих принципов в целевой инфраструктуре, администраторам приходится затрачивать немало времени. Только представьте себе, сколько усилий вам придется затратить на тестирование и проверку правильности данных перед тем, как вы сможете переименовать домен Windows 2003, и у вас наверняка отпадет охота браться за работу, которой вам не следует заниматься или без которой вполне можно обойтись. В конце концов, кто знает, а не грядет ли в скором времени еще одно корпоративное слияние или приобретение. Так стоит ли дважды выполнять одну и ту же работу?

Тони Редмонд (exchguru@windowsitpro.com) - внештатный редактор Windows IT Pro, старший технический редактор издания Exchange & Outlook Administrator и главный технолог HP Services. Он является автором книги Microsoft Exchange Server 2003 with SP1, выпущенной издательством Digital Press.


Дополнительные ресурсы

Windows Server 2003 Active Directory Domain Rename Tools Web Page
http://www.microsoft.com/windowsserver2003/ downloads/domainrename.mspx

Support Webcast: Microsoft Windows Server 2003: Implementing an Active Directory Domain Rename Operation
http://support.microsoft.com/?kbid=819145

TechNet Support Webcast: Renaming Domains when Microsoft Exchange Server 2003 Is in the Active Directory
http://support.microsoft.com/?kbid=838623

Supplemental steps for using the Exchange Server Domain Rename FixupTool Together with the Windows Server 2003 Domain Rename Tools
http://support.microsoft.com/?kbid=842116