Ошибка репликации AD 8606: Удаление зависших объектов (Lingering Objects)
Архитектура сбоя (Что такое Lingering Objects)
При проверке репликации Active Directory (через консоль repadmin /showrepl или в Event Viewer) вы видите ошибку: «Было предоставлено недостаточно атрибутов для создания объекта (Insufficient attributes were given to create an object. Ошибка 8606)». В журнале Directory Service также фиксируются >события 1988.
Как появляются "Призраки" (Зомби-объекты)
Ошибка 8606 означает наличие зависших объектов (Lingering Objects). Механизм возникновения:
- Контроллер домена (DC1) был физически выключен (или изолирован сетью) дольше, чем длится срок жизни удаленных объектов (
Tombstone Lifetime- по умолчанию 180 дней). - За это время на работающих контроллерах (DC2) пользователь "Петя" был удален. DC2 превратил его в надгробие (Tombstone) и через 180 дней окончательно стер (Garbage Collection).
- Выключенный DC1 "воскресает". У него в базе "Петя" все еще жив. DC1 пытается реплицировать живого "Петю" (призрака) на DC2.
- В целях безопасности (Strict Replication Consistency) DC2 понимает, что такого объекта у него нет, и отклоняет репликацию всего раздела, выдавая ошибку 8606.
Пошаговое дерево решений (Уничтожение призраков)
Репликация конкретного раздела (Naming Context) между этими двумя DC полностью остановлена. Вам нужно физически удалить призрака из базы DC1.
Сценарий 1: Радикальный (Удаление контроллера) - Рекомендуемый!
Если контроллер был оффлайн больше 180 дней, лечить его призраков — это "сизифов труд" (вы можете пропустить скрытые атрибуты). Самое чистое решение:
- Выключите проблемный DC1 навсегда.
- На живом DC2 выполните Metadata Cleanup (через ADUC или NTDSUTIL), чтобы вычистить упоминания о DC1.
- Отформатируйте сервер DC1, введите его в домен заново и повысьте роль до контроллера. База скачается с нуля (идеально чистая).
Сценарий 2: Использование утилиты Lingering Object Liquidator (LoL)
Если вы хотите спасти контроллер, скачайте официальную графическую утилиту Microsoft Lingering Object Liquidator (LoL). Она автоматизирует сложный синтаксис repadmin, сама найдет призраков (сравнив базы DC1 и DC2) и предложит их удалить.
Сценарий 3: Удаление через командную строку (repadmin)
Если утилит под рукой нет, действуем через консоль. Вам понадобится GUID проблемного DC (введите `repadmin /showrepl` на нем) и Имя живого (Reference) DC.
- Откройте CMD от имени Администратора.
- Сначала выполняем в режиме Advice Mode (Только чтение, без удаления), чтобы увидеть масштаб бедствия:
# Синтаксис: repadmin /removelingeringobjects <Проблемный_DC>/advisory_mode repadmin /removelingeringobjects DC01.domain.local 1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p DC=domain,DC=local /advisory_mode - Изучите лог Directory Service. Событие 1942 покажет, сколько призраков найдено.
- Если вы уверены, удалите
/advisory_modeиз команды и выполните ее для физического уничтожения зомби-объектов.
Типовые ошибки администраторов
- Отключение Strict Replication Consistency: Многие 'гуру' на форумах советуют поменять ключ реестра
Strict Replication Consistencyна 0, чтобы разрешить репликацию призраков. КАТЕГОРИЧЕСКИ НЕ ДЕЛАЙТЕ ЭТОГО! "Зомби-учетки" (с давно известными старыми паролями) разлетятся по всему лесу, воскреснув на всех контроллерах. Вы сломаете безопасность базы данных AD.
Вмешательство в базу AD (NTDS.dit) может привести к потере леса и краху системы авторизации. Делегируйте обслуживание контроллеров домена профессионалам ITSTM: мы вычистим ошибки (KCC, Lingering objects), восстановим консистентную репликацию, обновим топологию Sites and Services и обеспечим надежный DRP план.
Частые вопросы (FAQ)
Как узнать свой Tombstone Lifetime?
Запустите PowerShell: `(Get-ADObject -Identity 'CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=yourdomain,DC=com' -Properties tombstoneLifetime).tombstoneLifetime`. Если пусто, значение по умолчанию — 60 дней (в старых лесах) или 180 дней (Server 2003+).
Можно ли восстановить Lingering Object как нормального пользователя?
Технически да (если выключить Strict Replication), но это крайне небезопасно. Проще удалить призрака командой /removelingeringobjects, а затем заново создать пользователя (с новым безопасным паролем) на живом DC.
Почему 8606 появляется на Read-Only Domain Controller (RODC)?
RODC не может реплицировать изменения наружу. Если RODC был отключен, просто удалите его компьютерный объект (Metadata Cleanup) из AD и повысьте роль заново. На RODC нет смысла лечить базу.
Останавливает ли 8606 репликацию других (нормальных) объектов?
Да! Ошибка на одном объекте блокирует всю очередь репликации для данного раздела (Naming Context) между этими двумя DC. Пока вы не устраните ошибку (удалив сбойный объект), репликация этого раздела будет стоять.
Как предотвратить появление призраков?
Настройте систему мониторинга (Zabbix/SCOM) на опрос репликации 'repadmin /showrepl' каждый день. Если контроллер домена не реплицируется более 5 дней — система должна бить тревогу (до истечения 180 дней).