Исправляем Error issuing replication: 8452 (0x2104)
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В минувший раз мы с вами изучили список горячих клавиш Windows 12. Двигаемся дальше и сегодня будет статья на 100% посвященная траблшутингу Active Directory. Столкнулись мы тут с коллегами с ошибкой репликации между доменами, звучала она вот так "Error issuing replication: 8452 (0x2104)", промучались мы с ней более 5 часов, пока не нашли рабочее решение. Давайте я поделюсь опытом и оставлю себе же любимому инструкцию, которая думаю пригодится в будущем.
Описание ситуации
В моей компании заканчивается процесс перехода на более свежие операционные системы Windows Server 2019 и Windows Server 2022. Контроллеры домена тут остались на самое сладенькое. Так как контроллеры домена это очень важный сервис в рамках компаний использующих Active Directory, то зачастую время на работу с ним весьма бывает ограниченным, что влечет за собой и некоторые последствия.
На одном из доменов был понижен контроллер домена до рядового сервера, затем были отправлены команды на принудительную синхронизацию по всему лесу. После чего был введен новый контроллер домена с теми же реквизитами в виде, старого имени и Ip-адресации.
После ввода нового DC была проверена репликация между контроллерами и вот тут было интересное явление, что в Source DSA было два раза имя одного и того же контроллера. Один отвечал и через него ходили реплики, а второй висел мертвым грузом.
При попытке выполнить команду repadmin /syncall /AeD /d, я на некоторых этапах получил ошибку:
Error contacting server CN=NTDS Settings,CN=DC01,CN=Servers,CN=domain,CN=root,CN=Configuration,DC=Pyatilistnik,DC=org (network error): 1722 (0x6ba):
The RPC server is unavailable.
Error issuing replication: 8452 (0x2104):
The naming context is in the process of being removed or is not replicated from the specified server.
Их будет столько, сколько у вас участников в топологии репликации. Очень важно тут выявить участников проблемы и выписать себе.
Как устранять ошибку с дублирование записей контроллеров домена
Первое, что вы должны сделать, это из вывода вышеописанной команды посмотреть, какие контроллеры не могут реплицироваться друг с другом. Далее на каждом из них нужно проверить логи на наличие ошибок. В моем случае я на контроллере домена, который располагался в другом сайте и домене получал ошибку ID 1311. В свое время я очень подробно ее описал и если в двух словах, то у вас проблема в репликации на уровне сайтов, и искать проблему нужно там.
Запустите на контроллерах домена, оснастку "Active Directory Sites and Services" можно в окне "Выполнить" ввести:
Найдите нужные сайты и контроллеры домена, проверьте, что там не остались старые записи коннектора. Если они есть, то их нужно удалить. Через некоторое время будет выстроен, новый автоматический коннектор.
Для ускорения реплики, воспользуйтесь утилитой repadmin.
После этого проверяем, ушла ошибка "Error issuing replication: 8452 (0x2104)" или нет. Если это не дало результата, то советую проверить, такую вещь. В оснастке "Active Directory Sites and Services" выберите контроллер с которым есть проблема в репликах. Разверните в нем NTDS Settings. Убедитесь, что там прописан верный DNS Alias, у меня как раз и была проблема в том, что там остался старый GUID, который как раз и не давал нормально идентифицировать данный контроллер, а так же в списке репликации выдавал дубль контроллера.
Когда был не тот GUID была такая картина. Не прилетали автоматические маршруты и в свойствах NTDS Settings не было коннектора.
После актуализации правильного GUID, автоматический маршрут репликации и коннектор появились.
Дополнительно пропингуйте новый GUID контроллера домена на других участниках.
Должно все корректно разрешаться, если нет, то проверяйте настройки DNS и Сайтов дальше. В идеале после выполнения команды:
у вас должно быть все чистенько и без ошибок или цифр в счетчике fails.
Если после выполнения команды:
У вас до сих пор ошибка "Error issuing replication: 8452 (0x2104)" и все GUID правильные, то советую вам вот что. В "SyncAll reported the following errors" найдите контроллеры на которых ругается команда.
Так же тут может быть ошибка:
Откройте логи репликации в журнале "Directory Service", есть вероятность, что вы там обнаружите событие ID 1925.
Directory partition:
DC=ForestDnsZones,DC=Pyatilistnik,DC=org
Source directory service:
CN=NTDS Settings,CN=DC02,CN=Servers,CN=Root,CN=Sites,CN=Configuration,DC=Pyatilistnik,DC=org
Source directory service address:
b815323e-1111-1111-8e24-995defca266e._msdcs.Pyatilistnik.org
Intersite transport (if any):
CN=IP,CN=Inter-Site Transports,CN=Sites,CN=Configuration,DC=Pyatilistnik,DC=org
This directory service will be unable to replicate with the source directory service until this problem is corrected.
User Action
Verify if the source directory service is accessible or network connectivity is available.
Additional Data
Error value:
1722 The RPC server is unavailable.
Тут нужно проверить открытые порты Active Directory до партнера репликации, например 137 и 135 порт. Полный список портов Active Directory смотрите по ссылке. В моем случае антивирус Касперского просто блокировал данные попытки репликации, и самое интересное, что я их не видел в логах. После отключения антивируса все заработало. Как видите я в моем примере делал проверку порта 135 и 137, у обоих статус был "False".
После этого были созданы новые коннекторы на сайтах и служба KCC построила правильные маршруты репликации.
Дополнительные ссылки
Обязательно советую почитать на предмет того, что можно еще сделать:
- ✅ID 2042 при репликации Active Directory
- ✅Ошибка репликации 8524 в Active Directory
- ✅Ошибка 1722 сервер RPC не доступен на контроллере домена
- ✅SyncAll exited with fatal Win32 error: 8440 (0x20f8)
- ✅Ошибка репликации (2148074274) The target principal name is incorrect
- Для поиска проблем в репликации в большом лесу советую попробовать визуальную утилиту Active Directory Replication Status Tool.