Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Настраиваем Компьютеры/Сервера/1С/SIP-телефонию в Москве

Восстановление каталога Active Directory

2007-03-08 · Posted in Active Directory, Windows Server 2003

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

Роберт Макинтош

Служба Active Directory (AD) недаром считается краеугольным камнем новых технологий, реализованных в Windows 2000. AD служит центральным хранилищем и точкой доступа к огромным объемам информации, поэтому безупречное состояние и постоянная готовность этой службы являются непременным условием бесперебойной работы сети. Если каталог AD выйдет из строя, то, скорее всего, от всей инфраструктуры служб IT не будет никакого толку. Отсюда вывод: тщательно продуманный план восстановления службы AD просто необходим.

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

Решающее звено – контроллеры доменов

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

Всякий способный взаимодействовать со службой AD контроллер домена Windows 2000 включает в себя доступную для чтения и записи копию ее каталога, а для того, чтобы все изменения передавались на другие DC домена, в нем применяется метод репликации с несколькими владельцами (multimaster). Напомним, что для функционирования сети Windows 2000 нет необходимости в каждом домене иметь основной контроллер домена (PDC). Поэтому можно сказать, что Windows 2000 лучше масштабируется и более устойчива к отказам, нежели система Windows NT. С другой стороны, использование модели репликации с несколькими владельцами существенно усложняет выполнение некоторых типов операций по восстановлению, так что от администратора требуется понимание процесса репликации данных службой AD.

Что нужно резервировать

Для успешного проведения операции восстановления нужно знать, какие именно данные следует копировать. Как известно, каталог AD хранится на контроллерах доменов сети, поэтому полное восстановление AD предполагает наличие полных резервных копий каждого контроллера домена. И уж во всяком случае для всех доменов леса нужно иметь резервные копии всех серверов глобальных каталогов (Global Catalog, GC) и всех контроллеров, отвечающих за исполнение операций (Operations Masters). В идеале требуется полное резервирование этих машин, однако нужно иметь в виду, что все данные, необходимые для резервирования каждого DC, содержатся на системном разделе диска и в сведениях о состоянии системы System State. Эта информация для контроллера домена включает данные AD, а также файлы для работы взаимодействующих с AD служб (например, файлы реестра, загрузочные файлы, файлы каталога Sysvol, базы данных службы сертификатов Certificate Services и службы Microsoft Cluster). Как известно, служба DNS имеет большое значение для функционирования AD, поэтому в данные состояния System State включаются только зоны, интегрированные с AD. Это одна из причин необходимости резервирования системного раздела, где и расположены стандартные зоны (читатели, желающие получить дополнительную информацию о резервировании System State, могут обратиться к перечню «Материалы по теме»).

На рынке представлен целый ряд сертифицированных для работы в среде Windows 2000 программ, обеспечивающих резервное копирование, однако будет вполне достаточно средств резервирования, поставляемых с этой операционной системой. Для Windows 2000 специалисты Microsoft подготовили усовершенствованную версию утилиты резервирования. Она обеспечивает копирование не только на ленточное устройство, но и на другие носители, а также позволяет выполнять резервирование через определенные промежутки времени без использования командного файла. Чтобы с помощью этой программы создать резервную копию состояния системы System State контроллера домена, нужно на этом контроллере последовательно выбрать элементы Start, Programs, Accessories и Backup. Существует и другая возможность: щелкнуть на элементах Start, Run, а затем в текстовом окне Open ввести с клавиатуры ntbackup. В открывшемся окне Backup нужно выставить флажок у System State в левой панели на закладке Backup, как показано на Экране 1. Копировать System State могут только члены групп Backup Operators или Administrators; право восстанавливать данные о состоянии системы предоставляется только членам локальной группы Administrators. Резервирование данных System State возможно только в режиме Normal (т. е. режимы Copy, Daily, Differential или Incremental не применяются). Процедура создания копии в режиме Normal отнимает больше времени, нежели при использовании других видов резервирования, зато ее можно проводить в оперативном режиме. Правда, утилита резервного копирования системы Windows 2000 имеет один недостаток, не свойственный изделиям независимых поставщиков: она позволяет выполнять резервирование только локальных копий каталога AD; копировать данные о состоянии удаленной машины с помощью этой утилиты невозможно.

 
Экран 1. Выполнение архивирования состояния системы.

Дополнительная информация

Подробный план восстановления данных после сбоя системы предусматривает не только меры по обеспечению резервного копирования, но и предоставление обновленных данных, которые позволяют контроллерам доменов выступать в роли серверов GC и Operations Masters. Напомню, что каждый сервер GC содержит копию каждого объекта леса, и это обстоятельство обеспечивает возможность поиска по AD без обращения к контроллерам доменов в каждом домене. Определить, на каком контроллере домена хранится глобальный каталог, можно с помощью оснастки Active Directory Sites and Services консоли управления Microsoft Management Console (MMC). Активизировав консоль, нужно щелкнуть правой кнопкой мыши на объекте Ntds интересующего сервера и выбрать пункт Properties. Если данный сервер является сервером GC, в открывшемся диалоговом окне будет выставлен флажок Global Catalog.

Исполнители ролей Operations Masters — это контроллеры доменов, выполняющие в своих доменах или лесах особые задачи по обслуживанию важнейших функций AD, которые не используют применяемый в AD метод репликации с несколькими владельцами. К примеру, схема AD определяет, какие типы объектов могут создавать пользователи, а контроллер — исполнитель роли владельца схемы (Schema Master) — является единственным на весь лес контроллером домена, уполномоченным принимать изменения в схеме. Определить, какие контроллеры доменов выступают в качестве Operations Masters, можно с помощью оснастки Active Directory Users and Computers консоли MMC. Это касается контроллеров, исполняющих любые роли, кроме роли мастера схемы Schema Master; в этом случае следует обратиться к оснастке Schema Manager консоли MMC. Чтобы выяснить, какие контроллеры доменов играют роль Operations Masters, нужно запустить оснастку Active Directory Users and Computers, щелкнуть правой кнопкой мыши на имени домена в левой панели консоли и в контекстном меню выбрать пункт Operations Masters. Кроме того, можно использовать утилиту командной строки Ntdsutil.

Даже если первый контроллер в корневом домене (иначе говоря, первый контроллер домена, созданный в лесу) не является ни сервером GC, ни Operations Master, скорее всего, ему отведена важная роль в процессе синхронизации времени, необходимом для аутентификации по протоколу Kerberos. Так что следует обязательно позаботиться о резервировании и этой системы.

Восстановление отказавшего контроллера домена

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

Восстановление AD посредством повторной установки

Если на одном из контроллеров домена сети нарушена целостность файлов или базы данных, для восстановления службы AD проще всего переустановить Windows 2000 и затем запустить мастер Active Directory Installation Wizard (DCPromo). В процессе выполнения DCPromo система связывается с другим контроллером в рамках того же домена и получает от него новейшую копию каталога AD.

В сущности, этот процесс равнозначен созданию нового контроллера домена, однако следует принять во внимание несколько дополнительных соображений. Если возникшие проблемы были настолько серьезными, что потребовалась повторная установка, вероятно, нельзя будет понизить статус сервера-контроллера домена до переустановки Windows 2000. Стало быть, информация в AD, относящаяся к этому контроллеру, будет неверной и нельзя исключать возможности конфликта имен. В таком случае для нового контроллера, созданного после переустановки системы, нужно задать новое имя, отличное от имени вышедшего из строя контроллера домена. Если это решение приемлемо, можно просто удалить первоначальное имя сервера из соответствующего узла в оснастке Active Directory Sites and Services, а также из организационной единицы контроллеров домена в оснастке Active Directory Users and Computers.

Но если требуется дать переустановленному контроллеру домена то же имя, что было у предыдущего (скажем, в случае, когда на данном контроллере размещается приложение, к которому пользователи обращаются по имени или с помощью буквы накопителя), нужно удалить объект ntdsDSA вышедшей из строя машины из AD на одном из оставшихся контроллеров домена. Для удаления объекта можно воспользоваться утилитой командной строки Ntdsutil, которая обслуживает базу данных хранилища AD, управляет ролями исполнителей операций (Flexible Single-Master Operation, FSMO) и удаляет метаданные, оставшиеся после сбоя контроллера домена. Чтобы запустить утилиту, нужно выбрать Start, Run и ввести с клавиатуры

в текстовом окне Open. Откроется новое окно, в котором следует задать набор команд, приведенный в Листинге 1.

Восстановление AD с помощью резервной копии

В некоторых случаях восстановление каталога службы AD с помощью повторной установки Windows 2000 вполне допустимо, но бывают ситуации, когда приходится прибегнуть к помощи резервных копий содержимого контроллера домена. К примеру, при работе с узлом, располагающим всего одним контроллером домена, и использовании глобальных каналов связи WAN передача данных в процессе репликации с помощью мастера DCPromo невозможна. Лучше всего, не прибегая к переустановке Windows 2000, восстановить AD с резервной копии. В этой ситуации следует выбрать непринудительный метод восстановления. Ну а при попытке восстановить информацию, которая была по ошибке удалена из AD (и, следовательно, не может быть извлечена из других контроллеров данного домена), придется выполнить принудительное восстановление каталога службы AD.

Непринудительное восстановление. Чтобы выполнить любой тип восстановления с помощью утилиты архивирования данных Windows 2000, нужно провести загрузку системы в режиме Directory Services Restore Mode (режим восстановления службы каталога). Данный режим следует выбрать в расширенном меню вариантов загрузки, которое открывается после нажатия клавиши F8 в процессе инициализации системы. В этом режиме контроллер домена стартует без запуска службы AD, обеспечивая тем самым возможность перезаписи существующих файлов. Как обычно, система предложит зарегистрироваться. Но ввести нужно не учетные данные домена, а имя и пароль локальной учетной записи Administrator. По завершении регистрации запустите утилиту архивирования. Теперь систему можно восстановить с закладки Restore окна Backup.

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

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

Представим себе такую картину. Из домена AD случайно удалена организационная единица Marketing. Через несколько минут ошибку замечают, но репликация уже завершилась. В этой ситуации выполнение непринудительного восстановления данных на контроллере домена не поможет воссоздать организационную единицу. Когда восстановленный контроллер домена после работы в режиме Directory Services Restore Mode инициализируется вновь, система начнет обычный процесс репликации, ее партнеры по репликации обновят размещенную на восстановленном контроллере копию AD, т. е. удалят организационную единицу Marketing. В результате утраченные объекты так и не будут восстановлены. Проблема будет решена лишь в том случае, если данные из резервной копии заменят содержащиеся в более новой версии AD.

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

Утилита Ntdsutil «признает» команды принудительного восстановления только при работе в режиме Directory Services Restore Mode. С помощью этих команд можно восстановить любой фрагмент каталога AD. Требуется только предоставить для этого фрагмента правильное составное имя (distinguished name, DN).

Принудительное восстановление всего каталога AD можно выполнить с помощью команды Restore Database. Однако нужно иметь в виду, что пользоваться этой командой следует очень осторожно, ибо после ее применения все изменения, внесенные в каталог AD после последнего сеанса резервного копирования, будут безвозвратно утеряны.

Устаревшие резервные копии

В случае восстановления службы AD с резервной копии чем позже сделана эта копия, тем лучше. При этом нужно помнить, что возраст сформированного образа должен быть не больший, чем указанный в параметре AD tombstoneLifetime. Этот параметр, значение которого по умолчанию составляет 60, представляет собой число дней, в течение которых AD хранит удаленный объект перед тем, как навсегда удалить все записи, касающиеся данного объекта. Кроме того, в службе AD дескрипторы tombstone используются для маркировки удаленных объектов и для репликации удаления на другие контроллеры домена. Таким образом, присваиваемое параметру tombstoneLifetime значение велико в силу того, что в процессе репликации могут возникать задержки, вызванные, к примеру, длительным простоем контроллера домена. Однако это значение можно уменьшить до двух дней. Просматривать и изменять значение параметра tombstoneLifetime позволяет оснастка ADSI Edit консоли MMC (см. Экран 2).

 
Экран 2. Изменение величины параметра tombstoneLifetime в ADSI Edit.

Но даже если резервная копия имеет меньший возраст, чем установленный в параметре tombstoneLifetime, возможны нестыковки по времени, связанные с паролями, которые защищают учетные записи компьютеров и данные о доверительных отношениях. По умолчанию система Windows 2000 предлагает менять эти пароли раз в семь дней. Так, если выполнить принудительное восстановление фрагмента каталога AD и эта процедура затрагивает пароли, защищающие либо учетную запись компьютера, либо доверительное отношение, возможно, придется вручную переустанавливать эти пароли. В противном случае может быть нарушен процесс репликации и возникнут трудности при регистрации в домене. Чтобы переустановить защищающий доверительное отношение пароль, нужно удалить и воссоздать это отношение с помощью оснастки Active Directory Domains and Trusts консоли MMC. Чтобы переустановить учетную запись компьютера, следует открыть оснастку Active Directory Users and Computers, щелкнуть правой кнопкой мыши на соответствующей компьютеру записи и выбрать пункт Reset Account.

Восстановление на неидентичном оборудовании

При использовании метода восстановления с резервной копии предполагается, что каталог AD воссоздается на той же машине, на которой выполнялось копирование. Но во многих случаях, когда приходится прибегать к средствам восстановления после сбоя, необходимость в этом вызвана как раз отказом аппаратных компонентов, так что восстановление на идентичном оборудовании попросту невозможно. Чтобы восстановить каталог AD на новой машине, первым делом необходимо удостовериться, что конфигурация жесткого диска новой системы не отличается от конфигурации диска исходной машины и что разделы нового жесткого диска, по крайней мере, не меньше разделов, имевшихся на исходной машине. Кроме того, следует убедиться, что на целевой машине используется тот же уровень аппаратных абстракций (hardware abstraction layer, HAL), что и на исходной. Если в новой системе установлена другая видеоплата или имеется несколько сетевых интерфейсных плат, их нужно деинсталлировать до выполнения процедуры восстановления. После перезагрузки механизм Plug-and-Play (PnP) системы Windows 2000 должен вновь установить эти компоненты.

Дистанционное резервирование и восстановление каталога AD

Как я уже отмечал, встроенная программа резервирования системы Windows 2000 обеспечивает выполнение только локальных процедур резервного копирования каталога AD. Иными словами, использовать эту программу для резервирования и восстановления данных о состоянии на удаленной системе невозможно. Однако слу-жба Windows 2000 Server Terminal Services позволяет обойти данное ограничение. Нужно просто выполнить восстановление в терминальном окне — как если бы вы работали за восстанавливаемой машиной.

Для того чтобы восстановить содержимое контроллера домена, доступного через терминальное соединение, необходимо открыть через это соединение файл boot.ini контроллера и в конце пути в формате Advanced RISC Computing (ARC) к системе, загружаемой по умолчанию, указать переключатель /safeboot:dsrepair, как показано на Экране 3. После этого операции по восстановлению можно продолжить.

 
Экран 3. Модификация boot.ini удаленной системы для запуска в режиме восстановления AD.

В заключение хочу сказать, что лучший способ сэкономить время и избежать стресса при восстановлении AD — заранее подготовить план действий и все время держать его под рукой. Любой администратор, которому приходилось «поднимать» вышедший из строя сервер, знает, что в этом случае задача становится заметно проще.

Роберт Макинтош – инструктор по продуктам Microsoft и технологиям систем защиты. С ним можно связаться по адресу: rmcintosh@covenantsolutions.com.

Последовательность команд восстановления, набираемых в Ntdsutil.
Metadata cleanup Connections Connect to server <
name of functioning DC in your domain>
Quit Select operation target List domains Select Domain
<number of domain that contains the failed DC from the list  that you received from the previous command>
List Site Select Site <number of site that contains the failed DC from the list  that you received from the previous command>
List servers in site Select server
<number of server that contains the failed DC  that you want to remove> Remove selected server

Leave a Reply