Неполномочное восстановление AD DS выполняется средствами Windows Server Backup и может потребоваться в самых разных случаях. Сценарий восстановления также зависит от используемой версии операционной системы и версии гипервизора (если контроллеры домена работают в виртуальной среде). Большинство из возможных вариантов я рассмотрю в этой статье.
Если вам интересна тематика Windows Server, рекомендую обратиться к тегу Windows Server на моем блоге.
Неполномочное восстановление AD DS
Выполнять неполномочное восстановление будем через бэкап System State нашего КД.
Того же эффекта можно добиться, используя бэкап критически важных томов, а также при восстановлении из полного бэкапа сервера 1.
Немного теории
Перед началом процесса восстановления контроллера домена необходимо четко себе представлять что же произойдет после, а произойдет следующее:
- Система возвратится в состояние на момент снятие бэкапа (это очевидно);
- Будет сгенерирован новый DSA Invocation ID;
- Текущий пул RID будет сброшен и получен новый;
- Произойдет неполномочное восстановление SYSVOL.
Теперь о каждом пункте подробнее, начиная со 2.
DSA Invocation ID
Invocation ID — это уникальный guid-идентификатор базы данных ntds.dit. Сбрасывая этот параметр, контроллер домена сообщает своим «соседям» о том, что он был восстановлен из бэкапа. То есть, по сути, восстановленный КД становится другим источником репликации и ему требуются все изменения в AD, начиная с момента создания бэкапа.
Этот механизм необходим, чтобы избежать отката номеров последовательных обновлений (USN Rollback 2), который заключается в следующем.
AD работает таким образом, что между контроллерами домена передаются лишь последние изменения, а не вся база целиком. Каждый КД поддерживает значение USN своих соседей (up-to-dateness vector). Если другой КД вдруг сообщает свой USN и он оказывается выше «запомненного», значит на другом КД произошли изменения и их надо получить посредством репликации данных. Откат к состоянию бэкапа возвращает максимальный последовательный номер изменений восстановленного сервера к меньшему значению. В итоге все другие КД, получая с восстановленного контроллера его USN, будут уверены, что все изменения с него уже реплицированы, ведь их «запомненные» значения USN восстановленного КД будет больше. Все изменения, внесенные в AD на восстановленном КД в промежутке восстановленного USN и «запомненных» USN на других КД, никогда не будут реплицированы на другие контроллеры. Подобная ситуация приведет к рассогласованию баз данных.
RID Pool
Любой принципал безопасности (пользователь, компьютер, группа) в AD имеет уникальный идентификатор, называемый SID. SID, в свою очередь, состоит из нескольких значений, последним из которых является относительный идентификатор — RID.
Если на момент создания резервной копии у КД имеется выданный пул идентификаторов (а на деле в 99% случаев так оно и будет, за исключением ситуации, когда на момент бэкапа пул был израсходован полностью, а связи с хозяином RID для получения нового пула не было), то после восстановления из бэкапа контроллер домена начнет использовать этот пул заново и в лесу появятся принципалы безопасности с одинаковыми SID.
Чтобы такой ситуации не было, во время неполномочного восстановления пул RID сбрасывается и запрашивается новый.
Если же вы восстанавливаете весь лес AD, не забудьте повысить границу выдаваемого пула 3 и сбросить текущие пулы на контроллерах домена 4.
Переходим к последнему пункту.
SYSVOL restore
Этот момент самый очевидный из всех рассматриваемых. По умолчанию осуществляется именно неполномочное восстановление SYSVOL, чтобы стянуть последние актуальные данные с других КД. Если же необходимо полномочное восстановление 5, то достаточно поставить соответствующую галочку в мастере WSB или выставить флаг -sysvol, если используете командную консоль.
Когда нужно неполномочное восстановление
Неполномочное восстановление может понадобиться в нескольких ситуациях:
- Рабочий КД вышел из строя в связи с аппаратными/программными проблемами и нет желания разворачивать полностью свежий КД (например потому что на старом были какие-то важные приложения и данные);
- При откате к снимку виртуальной машины. Если:
- КД имеет ОС старше Windows Server 2012;
- Гипервизор не поддерживает VM-Generation ID (все до Windows Server 2012), вне зависимости от гостевой ОС.
Во всех остальных случаях используются другие сценарии восстановления.
Подготовка
К моменту восстановления у вас должны быть:
- Резервная копия (я подключил к виртуализованному КД отдельный диск, на который ранее был скопирован бэкап состояния системы);
- Пароль DSRM. Придется загружаться в режиме восстановления AD, сервисы будут остановлены, а потому зайти под доменной учеткой не получится, только под локальным админом.
«Операции восстановления, которые выполняются с помощью следующей процедуры, не поддерживаются Майкрософт и должны использоваться только в крайнем случае при отсутствии других вариантов».
Переходим к кульминации.
Восстановление
Хочу отметить, что мой сервер перед операцией восстановления полностью доступен. Если же у вас более сложный случай, то возможно вам понадобится установочный диск операционной системы. В любом случае сценарий восстановления будет отличаться.
Есть несколько способов загрузить сервер в режиме восстановления служб каталогов и я воспользуюсь самым простым из них — нажатие F8 во время загрузки.
bcdedit /set safeboot dsrepair
shutdown -t 0 -r
После выполнения восстановления выполните команду bcdedit /deletevalue safeboot для загрузки в нормальном режиме.
Третий способ — использовать всем знакомую утилиту Msconfig (Загрузка -> Параметры загрузки -> Безопасный режим -> Восстановление Active Directory). После восстановления также не забудьте вернуть сервер в нормальный режим загрузки.
Итак, нажав F8 дожидаемся загрузки сервера и входим под учетной записью локального администратора:
Вводим пароль DSRM, дожидаемся пока система загрузится.
Не забудьте выбрать Восстановление системы:
После этого увидите предупреждение:
Подтверждаем, далее нажимаем Восстановить и снова соглашаемся с всплывшим предупреждением. Дожидаемся окончания процесса восстановления и перезагружаемся.
На этом восстановление завершено.
Notes:
- Performing Nonauthoritative Restore of Active Directory Domain Services ↩
- Как обнаружить и восстановлению после отката USN в Windows Server 2003, Windows Server 2008 и Windows Server 2008 R2 ↩
- AD Forest Recovery — Raising the value of available RID pools ↩
- AD Forest Recovery — Invalidating the current RID pool ↩
- The Authoritative Restore Explained ↩
- Как сбросить пароль для запуска компьютера администратором в режиме восстановления службы каталогов в Windows Server 2003 ↩
- Особенности архивации и восстановления виртуализированных контроллеров домена ↩






