Восстановление Active Directory. Ход конем.

Mar 24, 2007 02:41


"Системный администратор думал, что в сети он бог,
Электрик с легкостью разрушил этот миф."

Итак, подлые электрики рубанули силовуху на время горазо большее, чем могут вынести мои ups'ы.
В связи с этим утром огреб вот такое сообщение на консоли w2k сервера.

Не удалось инициализировать SAM из-за следующей ошибки:
Невозможно запустить службу каталогов. Состояние ошибки
0xc00002e1. Нажмите "Ок" для завершения работы системы и перезагрузки в режиме восстановления службы каталогов, подробная инфо в журнале событий.

Как говорится - сушите весла.
Оговорюсь сразу серверов в w2k домене у меня два, и между ними все что нужно реплицируется. Но вот беда... по причине некоторой реорганизации я забыл поставить в backup system state с Global Catalog'а. И, вот оно-то гикнулся с приведенной надписью. А гикнулся потому, что ему нехватило runtime'а ups'а. Странно... вроде раньше 10 минут ему хватало на то, чтобы корректно потушиться.

Утром начался нелегкий процесс восстановления сервере без backup'а ;)
Пока искал пути решения проблемы на втором сервере забрал все роли и сделал его GC.
Грузится проблемный сервер соглашался только в режиме восстановления AD. Но все попытки отремонтировать ntds.dit штатными средствами (ntdsutil, esentutl) успехом не увенчались. И вот тогда был найден изящный ход. Как всегда решение было изящным до идиотизма
В системах от MS это, вероятно, by desidn.

Решение проблемы по пунктам.
  1. Проблемный сервер загружен в режиме восстановления AD.
  2. Запускаем на нем regedit и меняем ключик HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions\ProductType с LanmanNT на ServerNT. Т.е. так вот грубо делаем его рядовым сервером.
  3. Перезагружаем проблемный сервер.
  4. После перезагрузки входим в него локально
  5. Убиваем %windir%\NTDS нафиг
  6. На том сервере, который раньше был вторым вычищаем из AD упоминания о проблемном сервере
    C:\>ntdsutil
    domain management
    connections
    connect to domain your.domain.name
    quit
    select operation target
    list sites
    select site 0 (или другой)
    list domains in site
    select domain 0 (или другой)
    list servers in site
    select server 0 (или другой)
    quit
    quit
    metadata cleanup
    remove selected server
    quit
    quit


  7. Запускаем dcpromo и заводим сервер снова в домен.

Все
Previous post Next post
Up