В этой статье мы покажем, как восстановить контроллер домена Active Directory из резервной копии System State (см. статью Резервное копирование Active Directory) и рассмотрим типы и принципы восстановления DC в AD.
При выходе из строя контроллера домена, даже если у вас актуальный бэкап, нужно выбрать сценарий восстановления, который вы будете использовать. Это зависит от того, есть ли у вас в сети другие исправные контроллеры домена, доступны ли они по сети с площадки со сломанным DC и цела ли база Active Directory на них.
Развертывание нового контроллера домена AD через репликацию
Если у вас развернуто несколько контроллеров домена (а это рекомендуемая конфигурация для Active Directory), вместо восстановления неисправного сервера с ролью DC из бэкапа, бывает проще развернуть на площадке новый контроллер домена.
После повышения сервера до DC, новый контроллера домена синхронизирует (реплицирует) базу данных ntds.dit, объекты GPO, содержимое папки SYSVOL и другие объекты AD с других DC, оставшихся доступными онлайн. Это самый простой способ восстановления работоспособности DC, который гарантирует что вы не внесете непоправимых изменений в AD.
Полномочное и неполномочное восстановление Active Directory
Есть два типа восстановления службы каталогов Active Directory Domain Services из резервной копии, в которых нужно четко разобраться перед началом восстановления:
- Authoritative Restore (полномочное или авторитетно восстановление) – после восстановления объектов AD выполняется репликация с восстановленного DC на все остальные контроллеры в домене. Этот тип восстановления используется в сценариях, когда упал единственный DC или все DC одновременно (например, в результате атаки шифровальщика или вируса), или когда по домену реплицировалась поврежденная база NTDS.DIT. В этом режиме у всех восстановленных объектов AD значение USN (Update Sequence Number) увеличивается на 100000. Такие восстановленные объекты будут считаться более новыми другими DC, и будут реплицированы по домену. Полномочный способ восстановления нужно использовать очень аккуратно!!!При полномочном восстановлении вы потеряете все изменения в AD, произошедших с момента создания бэкапа (членство в группах AD, атрибуты Exchange и т.д.).
- Non-Authoritative Restore (неполномочное или не-авторитиативное восстановление) – способ используется при выходе из строя физического/виртуального сервера, на котором развернут DC. Восстановленный контроллер домена после развертывания из бэкапа сообщает другим DC, что он восстановлен из резервной копии и ему нужны последние изменения в AD (для DC создается новый DSA Invocation ID). Этот способ восстановления можно использовать на удаленных площадках, когда сложно сразу реплицировать большую базу AD по медленному WAN каналу; или когда на сервере имелись какие-то важные данные или приложения.
Восстановление контроллера домена AD из system state бэкапа
Предположим, что в домене имелся только один DC, который стал недоступен вследствие выхода из строя физического сервера. У вас есть относительно свежий бэкап System State старого контроллера домена, и вы хотите восстановить Active Directory на новом сервере в режиме полномочного восстановления.
Подготовьте новый сервер (физический или виртуальный) для развертывания DC из бэкапа:
- На новом сервере должна быть установлена та же самая версия Windows Server, что на неисправном DC
- Выполните чистую установку Windows Server. Не нужно пока задавать ему имя компьютера (hostname) старого DC и IP адрес.
- Установите роль Active Directory Domain Services (не настраивая ее) и компонент Windows Server Backup. Можно установить эти компоненты из Server Manager или с помощью PowerShell:
Install-WindowsFeature -Name AD-Domain-Services, Windows-Server-Backup
Чтобы приступить к восстановлению Active Directory, нужно загрузить сервер в режиме восстановления служб каталогов DSRM (Directory Services Restore Mode). Для этого запустите
msconfig
и на вкладе Boot выберите Safe Boot -> Active Directory repair. Или выполните команды:
bcdedit /set safeboot dsrepair
shutdown /r /t 0
После перезагрузки сервер перейдет в безопасный режим DSRM. Запустите консоль управления Windows Server Backup (
wbadmin.msc
) и в правом меню выберите Recover.
В мастере восстановления выберите, что резервная копия хранится в другом месте (A backup stored on another location).
Выберите диск, на котором находится резервная копия DC, или укажите UNC путь к сетевой папке, содержащей WindowsImageBackup. Например
\\FileServer1\Backup\DC1
.
wbadmin get versions -backupTarget:D:
Выберите дату, на которую нужно восстановить резервную копию.
Укажите, что вы восстанавливаете состояние System State.
Выберите для восстановления «Исходное размещение» (Original location) и обязательно установите галочку «Выполнить заслуживающее доверия восстановление файлов Active Directory» (Perform an authoritative restore of Active Directory files). (напоминаю что мы рассматриваем сценарий авторитативного восстановления AD, когда в сети единственный DC, других исправных контроллеров домена нет!!).
Система покажет предупреждение, что эта резервная копия другого сервера, и что при восстановлении на другом сервере может не завестись. Продолжаем.
Согласитесь с еще одним предупреждением:
Windows Server Backup Note: This recovery option will cause replicated content on the local server to re-synchronize after recovery. This may cause potential latency or outage issues.
После этого запустится процесс восстановления контроллера домена AD на новом сервере. По завершении сервер потребует перезагрузку (имя нового сервера будет автоматически изменено на имя DC в бэкапе).
После перезагрузки, войдите на сервер с локальной учтённой записью администратора DSRM. Указав имя пользователя в формате
.\administrator
Теперь можно загрузить DC в обычном режиме, отключив загрузку DSRM из
msconfig
или командой:
bcdedit /deletevalue safeboot
Авторизуйтесь на сервере под учетной записью с правами администратора домена. (если не знаете пароль администратора домена, его можно сбросить).
На данный момент служба ADDS еще не работает. При попытке запустить оснастку ADUC, появится ошибка:
Active Directory Domain Services Naming information cannot be located for the following reason: The server is not operational.
Выводит список опубликованных общих папок на сервере командой:
net share
Как вы видите, отсутствуют сетевые сетевых папки SYSVOL и NETLOGON.
Чтобы исправить ошибку:
- Запустите regedit.exe;
- Перейдите в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
- Измените значение параметра SysvolReady с 0 на 1;
- Потом перезапустите службу NetLogon:
net stop netlogon & net start netlogon
Попробуйте открыть консоль ADUC еще раз. Вы должны увидеть структуру вашего домена.
Итак, вы успешно восстановили свой контроллер домен AD в режиме Authoritative Restore. Теперь все объекты в Active Directory будут автоматически реплицированы на другие контроллеры домена.
Восстановление отдельных объектов в Active Directory
Если вы случайно удалили какой-то объект в AD, не обязательно восстанавливать его из резервной копии. В Active Directory можно настроить корзину AD, из которой в течении 180 дней (значение по умолчанию для tombstoneLifetime) можно восстановить удаленный объект домена с помощью командлета
Restore-ADObject
или из оснастки Active Directory Administrative Center.
Если время захоронения уже просрочено, или ActiveDirectory RecycleBin не включена, вы можете восстановить отдельные объекты AD в режиме авторитетного восстановления. Для этого в режиме DSRM после восстановления DC из бэкапа нужно воспользоваться утилитой
ntdsutil
.
- Выведите список доступных резервных копий:
wbadmin get versions
- Запустите восстановление выбранной резервной копии:
wbadmin start systemstaterecovery –version:[your_version]
- Подтвердите восстановление DC (в не-авторитативном режиме);
- После перезагрузки запустите:
ntdsutil
-
activate instance ntds
-
authoritative restore
Укажите полный путь к объекту, который нужно восстановить. Можно восстановить OU целиком:
restore subtree "OU=Users,DC=winitpro,DC=ru"
Или один объект:
restore object "cn=Test,OU=Users,DC=winitpro,DC=ru"
Данная команда запретит репликацию указанных объектов с других контроллеров домена и увеличит USN объекта на 100000.
Выйдите из ntdsutil:
quit
Загрузите контроллер домена в обычном режиме и убедитесь, что удаленный объект AD был восстановлен.
Браво! Все описано четко и по делу. Теперь мне падение DC не страшно. 🙂
Делал бэкапы основного контроллера, но вот конкретного плана восстановления при аварии не было.
Однозначно в закладки!
а если надо восстановить упавший КД в филиале (на физике) на новое железо? Надо сделать тоже самое за исключением установки галки «Perform an authoritative restore of Active Directory files» ?
Да. Выполняйте не-авторитиативное восстановление контроллера.
Подскажите пжлста а если у меня два сервера AD, один главный и он хозяин всех ролей, а второй имеет роль только RODC AD. Мне нужно восстановить с недельного бэкапа состояние системы моего главного сервера, мне выбирать Authoritative Restore или None-Authoritative Restore???
Я нашел только один вариант восстановления, это установка новой ОС и потом уже восстановление из бэкапа, меня ещё интересует вопрос, в процессе восстановления сетевой провод от главного КД должен быть отключён? Потому что когда я первый раз сделал восстановление на нём у меня сеть была включена и он стал ругаться что сервер не имеет доверительных отношений. И при том восстановлении я кажется выбирал Authoritative Restore. Это я не верно поступил?
Есть один важный нюанс для ОС с русской локализацией. По моему мнению не очевидный и не описанный ни в одной статье (уж я то начитался одних и тех же рекомендация вдоль и поперек)
При входе в режиме восстановления AD используется РУССКАЯ учетная запись «Администратор» взамен ранее установленной/переименованной как у меня Administrator.
Всю голову сломал пока понял почему меня под действующей учетной и паролем не пускает.
В общем верно. Но тут моя позиция — локализованные версии Windows и другого ПО на серверах — зло.
а как в итоге удалось войти?
а как быть если всего 1 сервер 1 контролер домена? вообщем 1 машина и все на ней??За ранее спасибо!
Принципиально ничего не меняется. В вашем случае используется Authoritative Restore для восстановления контроллера домена
восстановить удаленные объекты можно не только при помощи корзины,но и утилитой adrestore(есть и gui),утилита lazarus которая дает доступ к контейнеру ‘Удаленные объекты’
После скачка напряжения упал DC — бэкапов не было
Есть старый ДС но данные на нем практически годичной давности
При загрузке постоянный ребут и вылет в меню восстановления (сначала вообще диск не хотел видеть (пришлось восстанавливать через bcdboot C:\Windows), после постоянная ошибка на загрузке 0xc00002e2
При входе по F8 и запуске Directory Service Repair Mode пускает только под локальным админом, но прав на какие-либо действия по сути нет из—за этого. Например esentutl /g c:\windows\ntds\ntds.dit выполнить невозможно.
Если по статье то: wbadmin get versions ни чего не возвращает (копий нет).
Есть ли какие-то варианты восстановить АД?
Добрый день!
Должен ли сервер, на котором будет проводиться восстановление контроллера быть уже в домене или нет?
Очевидно, что нет.
Если у вас один DC, то добавлять новый сервер просто не куда, домена нет.
А если есть другой DC — проще удалить старый DC и развернуть допонительный DC штатными средствами
https://winitpro.ru/index.php/2023/03/02/dobavyt-dopolnitelnyj-kontroller-domena-active-directory/
Приветствую, а какие риски неработоспособности при разворачивании бэкапа к примеру 2ух-3ёхнедельной давности из образа акрониса/макриумрефлекта/etc? Или из бэкапа средствами гимпервизора, если DC — -виртуальная машина? Как это скажется на хостах?
Если DC всего один, то при восстановлении из бэкапа скорее всего большинство компьютеров придется перезагонять в домен (потеряют доверительные отношения, https://winitpro.ru/index.php/2014/09/18/vosstanovlenie-doveritelnyx-otnoshenij-bez-perevvoda-v-domen/). Ну и все накопленные изменения в AD тоже потеряются
У меня такая проблема, на тестовой среде восстановил КД АД из бекапа, в другой сети. В продовой сети были несколько КД, сейчас в однодоменной среде, при попытке ввести в комп в домен — выдает ошибку. Пытаюсь пинговать доменное имя домена my.domain.com он резолвит мне старый IP, никак не могу понять, где зарыта собака, все перепробовал уже. Может кто-нибудь подскажет, куда копать, чтобы поменять IP домена?
Изолируйте тестовую сеть от продовой. Клиент должен смотреть на контроллер домена в тестовой сети (очистите кэш предварительно на нем) и не видеть продуктивную.
✅ В большинстве случае гораздо быстрее и самое главное, безопаснее для консистентного состояния AD, будет удалить старый контроллер домена и развернуть рядом новый DC, который синхронизирует данные AD с оставшихся на плаву DC.
🤔 Зачем тогда нужен бэкап AD? Он поможет в сценариях полномочного (authoritative) восстановления AD тогда, когда в домене есть единственный DC или база AD на всех контроллерах вышла из строя/зашифрована.
⚠️ При использовании Non-authoritative сценариев восстановления, начиная с Windows Server 2012, при использовании родного режим восстановлении службы каталогов через WSB, для контроллера домена генерируется новый Invocation ID (уникальный идентификатор DC). Этим сообщается другим DC, что он был восстановлен из бэкапа и ему нужно получить все изменения в AD начиная с момента создания резервной копии. Этот механизм внедрен, чтобы избежать известной проблемы с откатом USN Rollback. Windows Server Backup и большинство других коммерческих средств резервного копирования знают о необходимости сброса Invocation ID при неполномочном восстановлении. Но есть сценарии, когда обнаружение USN Rollback не срабатывает (например, восстановление DC в филиале с отсутствующим линком), и вы можете оказаться в ситуации, когда входящая и исходящая репликация на восстановленном DC встанут. Поэтому, если вы не погружены глубоко в архитектуру AD и репликации, проще не рисковать и развернуть рядом новый DC, стянув базу AD через репликацию. Это окажется гораздо быстрее, чем разбираться с проблемами неавторитативного восстановления.