В статье "Профилактическое обслуживание AD" я рассказал о тех мерах профилактики при работе с Active Directory (AD), которые необходимо регулярно проводить каждому администратору. В данной статье речь пойдет об инструментах, применяемых в тех случаях, когда все остальные средства не помогают.

Исправление AD с помощью Ntdsutil

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

Попытки восстановления базы данных каталога не всегда удачны. Например, если файл базы данных испорчен, то с помощью функции Repair утилиты Ntdsutil восстановить все объекты и атрибуты вряд ли удастся. Более того, функция Repair может еще сильнее испортить данные. Чтобы избежать повреждения экземпляров AD на других DC, перед восстановлением данных следует отключить DC от сети. И лишь убедившись, что все в порядке, можно вновь подключать машину.

На Экране 1 показано, как исправить базу данных AD с помощью Ntdsutil. Чтобы устранить дефекты файла базы данных, необходимо выполнить следующие действия.

1.   В командной строке ввести команду

ntdsutil

и нажать клавишу Enter.

2.   В ответ на приглашение Ntdsutil ввести

files

Утилита отобразит категорию File Maintenance.

3.   В ответ на приглашение File Maintenance нужно ввести команду

repair

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

Если другие средства не помогают, может оказаться, что для восстановления функциональности контроллера домена Windows 2000 (или всей сети AD) требуется восстановить AD с резервного носителя. Процесс физического восстановления резервной копии базы данных AD на Windows 2000 DC несложен с точки зрения исполнения, но, прежде чем приступить к операции, необходимо учесть важные логические и архитектурные факторы. В сетях с несколькими Windows 2000 DC служба AD никогда не располагается только в одном месте. Это чрезвычайно важное обстоятельство влияет на процесс восстановления AD. Администратор должен ответить на следующие вопросы.

·         Был ли испорчен или поврежден только экземпляр AD на локальном DC либо остальные экземпляры на других DC так же неисправны?

·         Следует ли заменить все экземпляры объектов AD восстанавливаемыми данными? Если какой-либо экземпляр AD будет восстановлен в качестве основного, то возможна ли потеря изменений или преобразований в структуре (например, добавленных или удаленных организационных единиц - OU, изменений в объектах user или computer)?

·         Можно ли восстановить экземпляр AD на локальном DC только для того, чтобы вернуть работоспособность DC (т. е. ограничивается ли повреждение данных только локальным экземпляром AD на этом компьютере), а затем привести данные в соответствие с экземплярами на других DC путем репликации?

Ответив на эти вопросы, можно выбрать режим восстановления AD - принудительный (authoritative) или непринудительный (nonauthoritative). Дополнительные сведения о восстановлении AD приведены в статьях, перечисленных во врезке "Литература".

Непринудительное восстановление. Большинство операций восстановления выполняется в непринудительном режиме. Данный метод обычно применяется, если администратор считает, что проблема существует исключительно на локальном DC, и экземпляры AD на других DC исправны. В процессе непринудительного восстановления любые восстанавливаемые данные (в том числе объекты AD) сохраняют прежние номера последовательного обновления (update sequence number, USN). Этот номер применяется в процессе репликации для переноса изменений на другие DC домена.

Принудительное восстановление. Этот режим следует применять, если другие DC содержат испорченные экземпляры AD или некорректные данные. В таком случае администратор вручную выбирает экземпляр базы данных AD, который нужно восстановить. Только локальный DC следует использовать в качестве эталонного источника данных для экземпляров AD на всех других машинах. Принудительная процедура изменяет USN объектов AD. В результате значение USN каждого объекта оказывается выше, чем у любого экземпляра в базе данных AD, поэтому все восстановленные объекты будут тиражированы в экземпляры AD на других DC.

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

Если для восстановления используется утилита резервного копирования Windows 2000 (ntbackup.exe), то состояние системы (в том числе AD) можно успешно восстановить лишь при следующих условиях.

·         Имя сервера должно быть идентично имени сервера, на котором сделана копия.

·         Символ диска, на котором расположена папка \%systemroot%, должен быть таким же, как при создании резервной копии.

·         Папка \%systemroot% должна находиться в том же месте, где она была при резервном копировании (например, в каталоге C:\winnt).

Выполнение непринудительного восстановления

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

Чтобы восстановить AD, нужно загрузить DC в специальном режиме, называемом режимом восстановления службы каталогов - Directory Services Restore Mode. При начальной загрузке системы следует нажать клавишу F8, когда на экране появится меню Windows 2000 Boot Loader, а затем выбрать альтернативный вариант загрузки. Windows 2000 будет запущена в безопасном режиме, и для восстановления информации AD потребуется выполнить следующие действия.

1.   Зарегистрироваться в качестве члена группы Administrator или Backup Operator.

2.   Запустить программу резервного копирования Windows 2000 и выбрать на закладке Welcome режим Restore Wizard. Выбрав пункты File, Backup, следует установить флажок System State. К данным System State относится информация о реестре, AD и других важнейших системных компонентах.

3.   Если при восстановлении данных System State альтернативное местоположение не указано, то утилита удаляет хранящиеся на компьютере данные о состоянии системы и заменяет их восстанавливаемыми данными. Если назначить иное местоположение, то AD, база данных службы сертификатов Certificate Services и базы данных COM+ Class Registration не будут восстановлены.

4.   По завершении процедуры восстановления следует перезапустить DC.

Теперь DC будет принимать участие в репликации AD и получать сведения об изменениях каталога из других DC. После завершения непринудительной процедуры восстановленные данные (которые могут быть устаревшими) синхронизируются.

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

Чтобы свести к минимуму трафик репликации в сети, в непринудительном методе предусматривается начальная точка (с которой началось резервное копирование) репликации данных. Тиражируются только измененные данные, а не весь каталог. Без начальной точки была бы проведена репликация всех данных с других серверов. Еще один вариант восстановления AD на Windows 2000 DC -- просто переустановить Windows 2000 и настроить систему в качестве DC (с помощью dcpromo.exe). Процедура репликации AD автоматически заполнит DC текущей информацией службы каталогов.

Принудительное восстановление

В этом режиме можно вернуть DC в определенное состояние и отметить объекты AD как обязательные (authoritative) по отношению к партнерам по репликации. Например, режим принудительного восстановления необходим, если администратор по ошибке удалил организационную единицу OU, содержащую множество пользователей. В принудительном режиме можно восстановить информацию AD и сделать ее первичным источником для остальных DC домена.

В процессе принудительного восстановления изменяются USN объектов AD, восстанавливаемых на DC. В результате каждый объект имеет самый высокий номер среди всех его экземпляров AD в домене. Это, в свою очередь, приводит к тиражированию вновь созданных объектов и перезаписи всех их экземпляров, расположенных на остальных DC.

Принудительное восстановление применяется редко; после этой процедуры все объекты AD на DC могут вернуться к тому состоянию, в котором они были перед последним резервным копированием. Таким способом можно восстановить информацию, ошибочно удаленную из реплицированного набора данных. Например, если объекты AD были ошибочно удалены или изменены, их можно принудительно восстановить и тиражировать на другие DC. Если не восстановить отсутствующие объекты принудительно, то их не удастся тиражировать на другие DC в том же домене, так как отсутствующие или удаленные объекты «старше», чем объекты, существующие на DC в данный момент.

Выбрать целевые объекты для принудительного восстановления можно с помощью утилиты Ntdsutil, которая обеспечивает репликацию восстанавливаемых данных на соответствующие DC после восстановления. В Таблице 1 приведены команды принудительного восстановления Ntdsutil и дано их описание.

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

1.   Открыть окно командной строки (выбрать пункт Run меню Start, ввести «cmd» и нажать клавишу Enter).

2.   Ввести команду

ntdsutil

и нажать клавишу Enter.

3.   В ответ на приглашение Ntdsutil ввести

authoritative restore

и нажать Enter. В результате утилита Ntdsutil переходит в режим Authoritative Restore.

4.   В ответ на приглашение Authoritative Restore следует ввести

restore database

чтобы назначить принудительный режим для всей базы данных. Или можно указать только поддерево базы данных (например, отдельную OU); для этого необходимо использовать строку формата протокола Lightweight Directory Access Protocol (LDAP), которая идентифицирует принудительно восстанавливаемый раздел AD. Например, чтобы принудительно восстановить OU с именем Engineering в домене mycompany.com, нужно ввести в ответ на приглашение Authoritative Restore следующую команду:

restore subtree ou=engineering,dc=mycompany,
 dc=com

5.   Система запросит подтверждение режима принудительного восстановления, выбранного на этапе 4. Следует нажать Yes.

6.   Щелкнув на кнопке Quit и дважды нажав Enter, нужно вернуться к командной строке.

7.   Закрыть сеанс командной строки.

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

В случае принудительного восстановления AD следует обязательно восстанавливать папку Sysvol, чтобы Sysvol и AD были синхронизированы. Кроме того, следует помнить о возможности негативных последствий принудительного восстановления.

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

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

[Примечание. В статье использованы фрагменты из книги «The Definitive Guide to Active Directory Troubleshooting» (изд-во Realtimepublishers.com).]

Шон Дейли - один из редакторов журнала Windows NT Magazine и президент компании iNTellinet Solutions, занимающейся консалтингом и сетевой интеграцией. Имеет сертификат MCSE. Последней из его книг была «Optimizing Windows NT», выпущенная издательством IDG Books. С ним можно связаться по адресу: sean@ntsol.com.

Экран 1. Устранение дефектов базы данных AD с помощью Ntdsutil.