Диагностика репликации домена
Утилита Repadmin
REPADMIN /SHOWREPL <dcname>
показывает состояние репликации для контроллера домена <dcname>
REPADMIN /REPLSUMMARY
сводка репликации для всех DC леса
REPADMIN /SYNCALL
Запускает репликацию между DC и партнерами по репликации
Для более глубокого анализа можно задействовать команду:
REPADMIN </команда> *
(звездочка вместо использования имени DC).
Утилита FRSDiag
Диагностика с помощью утилиты FRSdiag.exe: в центре загрузки Microsoft есть утилиты "Windows 2003 support tools".
Среди этих утилит (а возможно и отдельно от них) есть утилита "File Replication Service Diagnostics Tool" - FRSdiag.exe.
Скачайте утилиту и запустите ее. Никаких настроек менять не надо, достаточно нажать "GO".
Утилита произведет диагностику и выдаст массу информации.
Восстановление репликации между контроллерами домена
Если по каким-то причинам один из контроллеров домена не работал более 60 дней, то прекращается синхронизация между контроллерами домена.
Появляются разные сообщения об ошибках в логах.
Чтобы восстановить синхронизацию, необходимо произвести несколько действий:
- провести диагностику с помощью утилиты FRSdiag.exe;
- удалить объекты, которые различаются на контроллерах домена. Обычно это устаревшие и уже давно удаленные объекты;
- разрешить репликацию с серверами, которых давно не было в сети;
- произвести репликацию, убедиться, что она успешная, и снова запретить репликацию с серверами, которых давно не было в сети.
1. Диагностика с помощью утилиты FRSdiag.exe
Скачайте утилиту и запустите ее. Никаких настроек менять не надо, достаточно нажать "GO".
Утилита произведет диагностику и выдаст массу информации. Если там будут следующие строки, переходите к следующим пунктам:
- "Error 2042 It has been too long since this machine last replicated with the named source machine.
The time between replications with this source has exceeded the tombstone lifetime."
- "Use the "repadmin /removelingeringobjects" tool to remove inconsistent deleted objects
and then resume replication."
2. Удаление объектов, которые различаются на контроллерах домена
для этого служит команда:
Repadmin /removelingeringobjects
Не торопитесь ее выполнять! Там масса других параметров.
Описание здесь:
http://support.microsoft.com/kb/870695/en-us
НО! там тоже описано далеко не все!
Вот более точная инструкция:
http://blogs.technet.com/b/glennl/archive/2007/07/26/clean-that-active-directory-forest-of-lingering-objects.aspx
Что необходимо сделать: сначала надо "очистить" один из контроллеров домена, а потом будем использовать его в качестве эталона.
Для этого сначала проводим инспекцию (что надо удалить). С этой целью используется опция /advisory_mode:
repadmin /removelingeringobjects Destination_domain_controller Source_domain_controller_GUID Directory_partition /advisory_mode
где:
Destination_domain_controller - имя контроллера, который будем "чистить".
Source_domain_controller_GUID - идентификатор контроллера, который будет использоваться в качестве "образца" для чистки.
Directory_partition - это разделы Active Directory (их можно посмотреть с помощью adsiedit.msc).
Узнать идентификатор контроллера несложно, есть 2 метода:
- At a command prompt, type repadmin /showrepl /v name of the authoritative server, and then press ENTER. The object GUID of the domain controller is listed in the DC object GUID field.
- Use the Active Directory Sites and Services tool to locate the object GUID of the source domain controller. To do this, follow these steps:
- Click Start, point to Administrative Tools, and then click Active Directory Sites and Services.
- Expand Sites, expand the site where your authoritative domain controller is located, expand Servers, and then expand the domain controller.
- Right-click NTDS Settings, and then click Properties.
- View the value in the DNS Alias box. The GUID that appears in front of _msdcs.forest_root_name.com is the object GUID of the domain controller. The Repadmin tool only requires the GUID. Do not include the _msdcs.forest_root_domain_name.com component in the Repadmin syntax.
Разделы Active Directory - как написано в инструкции:
?Domain directory partition (dc=domain_DN)
?Configuration directory partition (cn=Configuration,dc=forest_root_DN)
?Application directory partition or partitions
(cn=Application_directory_partition_name,dc=domain_DN)
(cn=Application_directory_partition_name,dc=forest_root_DN)
?Schema directory partition (cn=Schema, cn=Configuration,dc=,dc=forest_root_DN)
Итак, пример. У нас есть 3 контроллера домена: DC1, DC2, DC3, домен mydom.com.
Сначала мы "почистим" DC1, используя в качестве образцов DC2 и DC3, а потом "почистим" DC2 и DC3, используя в качестве образца DC1:
сначала берем "образец" для DC1 с DC2:
repadmin /removelingeringobjects DC1 ff4d1971-a0ed-4915-a297-b25041a10c74 DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC1 ff4d1971-a0ed-4915-a297-b25041a10c74 CN=Configuration,DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC1 ff4d1971-a0ed-4915-a297-b25041a10c74 CN=Schema,CN=Configuration,DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC1 ff4d1971-a0ed-4915-a297-b25041a10c74 CN=Schema,CN=Configuration,DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC1 ff4d1971-a0ed-4915-a297-b25041a10c74 DC=ForestDNSZones,DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC1 ff4d1971-a0ed-4915-a297-b25041a10c74 DC=DomainDNSZones,DC=MYDOM,DC=COM /advisory_mode
потом залезаем в логи (Directory Service, источник NTDS Replication) и смотрим:
"Active Directory has completed the verification ... Source domain controller: ...
Number of objects examined and verified:
0
... "
Если количество объектов не 0, смотрим что это за объекты, и если все ок, грохаем (то же самое, но без advisory_mode):
repadmin /removelingeringobjects DC1 224d1971-a0ed-4915-a297-b25041a10c74 DC=MYDOM,DC=COM
repadmin /removelingeringobjects DC1 224d1971-a0ed-4915-a297-b25041a10c74 CN=Configuration,DC=MYDOM,DC=COM
repadmin /removelingeringobjects DC1 224d1971-a0ed-4915-a297-b25041a10c74 CN=Schema,CN=Configuration,DC=MYDOM,DC=COM
repadmin /removelingeringobjects DC1 224d1971-a0ed-4915-a297-b25041a10c74 CN=Schema,CN=Configuration,DC=MYDOM,DC=COM
repadmin /removelingeringobjects DC1 224d1971-a0ed-4915-a297-b25041a10c74 DC=ForestDNSZones,DC=MYDOM,DC=COM
repadmin /removelingeringobjects DC1 224d1971-a0ed-4915-a297-b25041a10c74 DC=DomainDNSZones,DC=MYDOM,DC=COM
теперь берем "образец" для DC1 с DC3:
repadmin /removelingeringobjects DC1 3303F24A-14FC-44A3-A120-C810E1017053 DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC1 3303F24A-14FC-44A3-A120-C810E1017053 CN=Configuration,DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC1 3303F24A-14FC-44A3-A120-C810E1017053 CN=Schema,CN=Configuration,DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC1 3303F24A-14FC-44A3-A120-C810E1017053 CN=Schema,CN=Configuration,DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC1 3303F24A-14FC-44A3-A120-C810E1017053 DC=ForestDNSZones,DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC1 3303F24A-14FC-44A3-A120-C810E1017053 DC=DomainDNSZones,DC=MYDOM,DC=COM /advisory_mode
точно так же проверяем и выполняем те же команды, но уже без advisory_mode.
DC1 "очищен". Теперь так же "чистим" DC2 и DC3, но уже в качестве "образца" выступает DC1.
Для этого логинимся на DC2 (а потом на DC3) и выполняем:
Сначала с advisory_mode:
repadmin /removelingeringobjects DC2 114d1971-a0ed-4915-a297-b25041a10c74 DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC2 114d1971-a0ed-4915-a297-b25041a10c74 CN=Configuration,DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC2 114d1971-a0ed-4915-a297-b25041a10c74 CN=Schema,CN=Configuration,DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC2 114d1971-a0ed-4915-a297-b25041a10c74 CN=Schema,CN=Configuration,DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC2 114d1971-a0ed-4915-a297-b25041a10c74 DC=ForestDNSZones,DC=MYDOM,DC=COM /advisory_mode
repadmin /removelingeringobjects DC2 114d1971-a0ed-4915-a297-b25041a10c74 DC=DomainDNSZones,DC=MYDOM,DC=COM /advisory_mode
А потом то же самое без advisory_mode.
И то же самое повторяем для DC3: логинимся на него, запускаем эти команды с advisory_mode, смотрим логи, а потом запускаем без advisory_mode.
3. Разрешить/запретить репликацию с серверами, которых давно не было в сети
Для этого есть 2 ключа в реестре. Их необходимо выставить на каждом из контроллеров домена, чтобы между ними проходила репликация.
После успешной синхронизации/репликации и (желательно неоднократной) проверки того, что все работает, указанные ключи проще всего удалить.
Содержимое REG файла:
После запуска разрешена синхронизация между контроллерами домена.
Чтобы проверить, что контроллеры синхронизираются, необходимо на одном из них открыть:
"Active Directory Sites and Services" -> Sites -> Default-First-Site-Name -> Servers
Теперь по очереди открываем КАЖДЫЙ контроллер домена, у него - NTDS Settings, после чего кликаем правой кнопкой
на имени контроллера домена (внутри NTDS Settings) и выбираем Replicate Now. Все должно синхронизироваться.
Теперь удаляем ключи из реестра (на всех контроллерах домена!):
|