Случилось всё после того, как я решил увеличить место на диске С, одного из контроллеров домена (уровень 2008 R2). Выключил я его, начал в офлайне шаманить разными «Дискменеджерами», оступился и убил сервер. А так как это была виртуальная машина на Hyper-V я восстановил всё из снапшота 3х часовой давности. Подумал и сделал так как тут. Ошибся я в том что пустил в сеть DC из прошлого.Но было поздно, я словил Update Sequence Number (USN) rollback.
Мониторинг сообщил о том, что мои контроллеры больше не дружат друг с другом и реплицироваться не хотят.
Проверил.
C:\Windows\system32>Repadmin /syncall
….
SyncAll terminated with no errors.
Странно, но всё ок. Идём дальше, на втором контроллере выполняю:
Repadmin /showrepl
…….
Source: Default-First-Site-Name\(имя моего «больного» контроллера)
******* 54 CONSECUTIVE FAILURES since 2011-08-29 09:50:03
Last error: 8457 (0x2109):
The destination server is currently rejecting replication requests.
в логах:
The Active Directory Domain Services database has been restored using an unsupported restoration procedure.
Дальше больше.
После перезагрузки «больного» на нём не стартовала Netlogon. Она была в состоянии Pause. Из за этого не могла стартонуть W32time. Много читал, и пытался это лечить, но проблема была в корне другая. Точней это следствие.
В статье на http://www.oszone.net в главе «Защита от отката USN» встретил упоминание ID ошибок 1115, 2095, 2103, и 2110 которые обнаружил у себя в журнал событий службы каталогов, и понял, я словил USN rollback. Набираю номерок 8 90 * ** ** ** Бен, это Данила. Ай нид хелп. Админ админа не подвёл и посоветовал завалить «больного». Типичная проблема, возникающая при восстановлении Active Directory не поддерживаемым методом. «Больной» вернулся в прошлое и сообщил это здоровому DC. А тот говорит, мол, нет ты из прошлого, дружить не буду.
Есть 2 пути восстановления:
- Сложный: Удаление «больного» контроллера домена.
- Простой: Если есть свежий и правильный AD бекап, накатить.
Я же иду по первому, так как нет бекапа 8.(
- 1. Первое, что я сдела, это передал все роли FSMO от больного, здоровому с помощью GUI.
С помощью консоли управления в Windows можно выполнить передачу всех пяти ролей FSMO, при условии, что оба компьютера подключены к сети. Если компьютер больше не существует, роль необходимо захватить. Для захвата ролей используется программа Ntdsutil. За дополнительной информацией обратитесь к следующей статье Microsoft Knowledge Base:
255504 Использование программы Ntdsutil.exe для захвата или передачи контроллеру домена его роли FSMO
Убедился:
PS C:\Windows\system32> NetDom.exe QUERY FSMO
Schema master DC1.domain
Domain naming master DC1.domain
PDC DC1.domain
RID pool manager DC1.domain
Infrastructure master DC1.domain
The command completed successfully.
- 2. После, разжаловал «больного» с помощью dcpromo.
В некоторых случаях правильно понизить роль контроллера домена под управлением Windows Server с помощью мастера установки Active Directory (Dcpromo.exe) не удается и приходится принудительно понижать роли контроллеров домена
Во время разжалования вывалилась ошибка, но я проигнорил. После расжалования Netlogon и W32time заработали.
- 3. Посчитав, что наказания в виде временного разжалования хватит, сжалившись над больным запускаю, предварительно перезагрузив сервер, dcpromo.exe. Добавляю DC в существующий лес.
По какой то причине dcpromo выдаёт
Yes.
Вопрос, откуда реплицироваться? Конечно с существующего домена. Пару вопросов, и репликация понеслась. Ребут…. Томительное ожидание и о чудо… Всё ок.
Проверяю:
Repadmin /showrepl
….
was successful.
И службы стартонули ОК.
По совместительству на этом же DC работал и WDS. Он пережил эти операции и заработал исправно.
P.S Не читайте кровопереводы KB от MS