Event ID 1354: KCC не смог сформировать связующее дерево (Spanning Tree)
Симптомы сбоя связующего дерева KCC (Event ID 1354)
В журнале Directory Service фиксируется ошибка Event ID 1354: The Knowledge Consistency Checker (KCC) could not form a complete spanning tree for the following directory partition. Топология репликации леса разорвана, часть контроллеров домена изолирована от обновлений.
| Симптом | Последствия |
|---|---|
| Разрыв графа репликации | Отсутствие замкнутого непересекающегося пути репликации между всеми контроллерами |
| Ошибки repadmin /bind | Невозможность привязать интерфейсы репликации между изолированными сегментами |
| Ошибки целостности базы данных AD | Контроллеры домена начинают накапливать несогласованные метаданные USN |
Пошаговое восстановление дерева репликации (Event ID 1354)
Алгоритм построения Spanning Tree KCC гарантирует, что каждый DC имеет как минимум два пути получения обновлений без образования бесконечных петель. Событие 1354 свидетельствует о физическом или логическом разрыве графа связности.
- Проверьте наличие контроллеров домена в статусе «Down» (Мертвые DC):
# Проверка статуса отклика всех контроллеров домена в лесу:
Get-ADDomainController -Filter * | ForEach-Object {
$ping = Test-Connection -ComputerName $_.IPv4Address -Count 1 -Quiet
[PSCustomObject]@{
DC_Name = $_.Name
IP = $_.IPv4Address
Site = $_.Site
Reachable = $ping
}
}- Удалите метаданные отключенных контроллеров домена (Metadata Cleanup): если сбойный сервер был выведен из эксплуатации без штатного понижения роли:
# Удаление метаданных мертвого DC через PowerShell (от имени Enterprise Admin):
$deadDC = "МЕРТВЫЙ_КОНТРОЛЛЕР"
Get-ADDomainController -Identity $deadDC | Remove-ADDomainController -Force -Confirm:$false- Проверьте настройки транзитивности связей IP: в
dssite.mscоткройте свойства папки Inter-Site Transports > IP и активируйте опцию «Bridge all site links». - Сбросьте топологию и запустите принудительный пересчет:
# Принудительное глобальное обновление KCC:
repadmin /kcc * /async
repadmin /showrepl * /errorsonlyВнимание: Если контроллер домена был отключен от сети дольше, чем значение Tombstone Lifetime (обычно 180 дней), его нельзя возвращать в сеть. Он должен быть удален через Metadata Cleanup.
Частые вопросы (FAQ)
Что такое Spanning Tree в Active Directory?
Это математический граф связей репликации без петель, который KCC строит для обеспечения доставки каждого изменения на любой DC за минимальное число транзитных прыжков (hops).
Что происходит, если Spanning Tree не может быть построено?
Репликация между изолированными сегментами сети останавливается, данные пользователей и пароли начинают расходиться, а политики GPO перестают применяться.
Как узнать Tombstone Lifetime текущего домена?
Выполните: (Get-ADObject "CN=Directory Service,CN=Windows NT,CN=Services,$((Get-ADRootDSE).configurationNamingContext)" -Properties tombstoneLifetime).tombstoneLifetime.
Как Metadata Cleanup помогает решить ошибку 1354?
Удаление остатков неработающих серверов из Active Directory убирает из графа KCC несуществующие вершины, позволяя алгоритму успешно замкнуть связующее дерево.