"Системный администратор думал, что в сети он бог,
Электрик с легкостью разрушил этот миф."
Итак, подлые электрики рубанули силовуху на время горазо большее, чем могут вынести мои ups'ы.
В связи с этим утром огреб вот такое сообщение на консоли w2k сервера.
Не удалось инициализировать SAM из-за следующей ошибки:
Невозможно запустить службу каталогов. Состояние ошибки
0xc00002e1. Нажмите "Ок" для завершения работы системы и перезагрузки в режиме восстановления службы каталогов, подробная инфо в журнале событий.
Как говорится - сушите весла.
Оговорюсь сразу серверов в w2k домене у меня два, и между ними все что нужно реплицируется. Но вот беда... по причине некоторой реорганизации я забыл поставить в backup system state с Global Catalog'а. И, вот оно-то гикнулся с приведенной надписью. А гикнулся потому, что ему нехватило runtime'а ups'а. Странно... вроде раньше 10 минут ему хватало на то, чтобы корректно потушиться.
Утром начался нелегкий процесс восстановления сервере без backup'а ;)
Пока искал пути решения проблемы на втором сервере забрал все роли и сделал его GC.
Грузится проблемный сервер соглашался только в режиме восстановления AD. Но все попытки отремонтировать ntds.dit штатными средствами (ntdsutil, esentutl) успехом не увенчались. И вот тогда был найден изящный ход. Как всегда решение было изящным до идиотизма
В системах от MS это, вероятно, by desidn.
Решение проблемы по пунктам.
- Проблемный сервер загружен в режиме восстановления AD.
- Запускаем на нем regedit и меняем ключик HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions\ProductType с LanmanNT на ServerNT. Т.е. так вот грубо делаем его рядовым сервером.
- Перезагружаем проблемный сервер.
- После перезагрузки входим в него локально
- Убиваем %windir%\NTDS нафиг
- На том сервере, который раньше был вторым вычищаем из 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
- Запускаем dcpromo и заводим сервер снова в домен.
Все