Забезпечення коректної реплікації в лісі Active Directory – це одна з головних задач адміністратора AD. У цій статті спробуємо зрозуміти базові принципи реплікації бази Active Directory і методики діагностики несправності. Варто відзначити, що реплікації – один з основоположних принципів побудови сучасної корпоративної мережі на базі AD, так, наприклад, ми вже говорили про реплікації групових політик в домені AD і реплікації зон DNS.

Для моніторингу реплікації Active Directory в корпоративному середовищі Microsoft рекомендує використовувати продукт SCOM (або інші продукти моніторингу з схожим функціоналом). Крім того, для моніторингу реплікації AD можна використовувати утиліту repadmin (repadmin / showrepl * / csv) спільно з самописні скриптами аналізу виведення цієї утиліти. Типові проблеми, пов’язані з помилками реплікації Active Directory, – ситуації, коли об’єкти не з’являються в одному або декількох сайтах (наприклад, щойно створений користувач, група або інший об’єкт AD не доступні на контролерах домену в інших сайтах).

Хороша відправна точка для пошуку несправності в механізмі реплікації Active Directory – аналіз журналу «Directory Services» на контролерах домену. Конкретні дії будуть залежати від того, які помилки будуть виявлені в журналі, проте для вирішення проблем потрібно досить чітко розуміти процеси реплікації Active Directory. Реплікація Active Directory

Одним з базових елементів управлінням трафіком реплікації між контролерами домена є сайти Active Directory. Сайти пов’язані між собою особливими зв’язками, званими «site link», які визначають вартість маршрутизації даних AD (елементи лісу, домену, папка SYSVOL і т.д.) між різними сайтами. Розрахунок алгоритму управління і маршрутизації трафіку реплікації в лісі ведеться службою KCC.

KCC визначає партнерів по реплікації для всіх контролерів домену в лісі. Для межсайтовой реплікації KCC автоматично вибирає спеціальні сервера-плацдарми (bridgehead server), крім цього, адміністратор домену може вручну вказати контролери домену, які будуть виконувати роль сервера-плацдарму для того чи іншого сайту, саме ці сервера і управляють межсайтовой репликацией. Сайти та сервера bridgehead потрібні для того, щоб зручно управляти трафіком реплікації Active Directory, і щоб зменшити обсяг трафіку, що передається по мережі.

Міжсайтовий топологію в лісі можна проаналізувати за допомогою команди:

repadmin /showism

дана команда відобразить список сайтів в лісі Active Directory. Для кожного з сайтів вказані 3 значення: вартість реплікації між двома сайтами, інтервал реплікації в хвилинах, а також додаткові налаштовані параметри межсайтовой зв’язку. Висновок цієї команди може виглядати так:

C:>repadmin /showism

==== TRANSPORT CN=IP,CN=Inter-Site Transports,CN=Sites,CN=Configu

ration,DC=winitpro,DC=ru CONNECTIVITY INFORMATION FOR 3 SITES: ====

0,    1,    2

Site(0) CN=LAB-Site1,CN=Sites,CN=Configuration,DC=winitpro,DC=ru

0:0:0, 10:15:0, 10:30:0

All DSAs in site CN=ADP-ADSN,CN=Sites,CN=Configuration,DC=lab,

DC=net (with trans& hosting NC) are bridgehead candidates.

Site(1) CN=LAB-Site2,CN=Sites,CN=Configuration,DC=winitpro,DC=ru

10:15:0, 0:0:0, 20:30:0

All DSAs in site CN=ADP-Intranet,CN=Sites,CN=Configuration,DC=la

b,DC=net (with trans & hosting NC) are bridgehead candidates

Site(2) CN=LAB-Site3,CN=Sites,CN=Configuration,DC=winitpro,DC=ru

10:30:0, 20:30:0, 0:0:0

1 server(s) are defined as bridgeheads for transport CN=IP,CN=Int

er-Site Transports,CN=Sites,CN=Configuration,DC=winitpro,DC=ru &

site CN=LAB-Site3,CN=Sites,CN=Configuration,DC=winitpro,DC=ru:

Server(0) CN=testlabdc2,CN=Servers,CN=LAB-Site3,CN=Sites,CN=Co

nfiguration,DC=winitpro,DC=ru

C:>

У вищенаведеному балці видно, що в домені winitpro.ru існує 3 сайта, які називається відповідно Site (0), Site (1) іSite (2). Кожен з сайтів має 3 набору репликационной інформації, по одній для кожного сайту в лісі. Наприклад, налаштована зв’язок між Sites (2) (LAB-Site3) і Site (0) (LAB-Site1), параметри зв’язку з цим – 10: 30: 0, що означає: 10 – вартість реплікації, і інтервал реплікації 30 хвилин. Також зверніть увагу, що для сайту Site (2) заданий сервер-плацдарм (bridgehead) – це контролер домену з ім’ям testlabdc2.

Контролери домену, партнери по реплікації – можуть бути ідентифіковані за допомогою графічного Gui або за допомогою утиліт командного рядка. Відкрийте консоль MMC «Active Directory Sites and Services», розгорніть вузол Sites, в ньому знайдіть цікавить ваш сайт. У цьому вузлі будуть містяться контролери домену, що відносяться до цього сайту. Розгорнувши контролер домену і вибравши пункт NTDS Settings, ви побачите всіх партнерів по реплікації даного контролера домену.

контролер домену NTDS Settings

У командному рядку за допомогою команди nslookup можна отримати список контролерів домену, що відносяться до нашого сайту (природно для цього необхідно, щоб всі DC мали коректні записи SRV). Формат команди такий:

nslookup -type=srv _ldap._tcp.._sites.dc._

на виході отримуємо приблизно наступне:

C:>

_ldap._tcp.LAB-Site1._sites.dc._msdcs.winitpro.ru SRV service location

priority       = 0

weight         = 100

port           = 389

svr hostname   = testlabdc1.winitpro.ru

_ldap._tcp.LAB-Site1._sites.dc._msdcs.winitpro.ru SRV service location

priority       = 0

weight         = 100

port           = 389

svr hostname   = testlabdc2.winitpro.ru

testlabdc1.winitpro.ru       internet address = 172.21.23.13

testlabdc2.winitpro.ru       internet address = 172.21.23.16

Щоб для певного контролера домену відобразити всіх партнерів по реплікації, з датою і часом останньої реплікації, скористайтеся командою:

repadmin /showrepl

Варто зазначити, що служба DNS – це важливий компонент служби реплікації Active Directory. Контролери домену реєструють свої SRV записи в DNS. Кожен контролер домену в лісі реєструє записи CNAME виду dsaGuid._msdcs.лісНазва, де dsaGuid -GUID видимий у об’єкта в пункті NTDS Settings в консолі «AD Sites and Services». Якщо в журналі Directory Services є помилки, пов’язані зі службою DNS, для перевірки коректних записів типу CNAME і A для контролера домену.

dcdiag /test:connectivity

Якщо будуть помилки, запустіть службу Netlogon, в результаті чого відбудеться перереєстрація відсутніх dns записів. Якщо dcdiag все також буде видавати помилки, перевірте конфігурацію служби DNS і коректність DNS налаштувань на DC. Для більш детального знайомства з темою тестування служб dns, рекомендую звернутися до статті Діагностика проблем з пошуком контролера домену.

команда репадмін має спеціальний параметр / реплсума, Який дозволяє швидко перевірити стан реплікації на конкретному контролері домену (вказується його ім’я) або на всіх контролерах (опція wildcard).

repadmin /replsummary [targetDC|wildcard]

У тому випадку, якщо помилки реплікації відсутні, у висновку цієї команди буде видно, що помилок – 0 .:

C:>repadmin /replsummary testlabdc2

Replication Summary Start Time: 2010-01-24 15:56:03

Beginning data collection for replication summary, this may take a

while:

....

Source DSA       largest delta    fails/total  %% error

testlabdc1           06m:27s       0 /   3    0

testlabdc3           06m:27s       0 /   6    0

testlabdc4           06m:27s       0 /   5    0

Destination DSA  largest delta    fails/total  %% error

testlabdc3           06m:27s       0 /  14    0

C:>

У тому випадку, якщо помилки все-таки будуть, за допомогою утиліти Repadmin можна отримати більш повну інформацію. Кожен контролер домену має власний унікальний USN (Update Sequence Number), який инкрементируется кожен раз при успішному зміні оновленні об’єкта Active Directory. При ініціалізації реплікації, партнеру передається USN, який порівнюється з USN, отриманим в результаті останньої успішної реплікації з даними партнером, тим самим визначаючи скільки змін відбулося в базі AD з часу останньої реплікації.

З ключем / showutdvec, Можна отримати список поточних значень USN, що зберігаються на зазначеному DC.

repadmin /showutdvec

наприклад

C:>repadmin /showutdvec  testlabdc4 DC=winitpro,DC=ru

Caching GUIDs.

....

LAB-Site1testlabdc1   @ USN  16608532 @ Time 2010-01-24 16:27:11

LAB-Site1testlabdc2   @ USN    307126 @ Time 2010-01-24 16:27:27

LAB-Site2testlabdc3   @ USN 297948217 @ Time 2010-01-24 16:19:34

LAB-Site3testlabdc4   @ USN 245646728 @ Time 2010-01-24 16:19:36

C:>

Запустивши цю команду на контролері домену, на якому спостерігаються проблеми з реплікацією, можна зрозуміти наскільки різняться бази AD, просто порівнявши значення USN.

Тестування реплікації Active Directory за допомогою утиліти repadmin можна здійснити кількома способами:

  • replmon / реплікація <targetDC> <sourceDC> <dirPartition> (Дозволяє запустити реплікацію певного розділу на вказаний контролер домену)
  • replmon / replsingleobj <targetDC> <sourceDC> <objPath> (Реплікація конкретного об’єкта між двома DC)
  • replmon / syncall <targetDC> (Синхронізація зазначеного контролера домену з усім партнерами по реплікації)
C:>repadmin /replicate testlabdc1 testlabdc3 DC=winitpro,DC=ru

Sync from testlabdc3 to testlabdc1 completed successfully.

C:>repadmin /replsingleobj testlabdc1 testlabdc3 cn=stuart,ou=dsu

sers,DC=winitpro,DC=ru

Successfully replicated object cn=stuart,ou=dsusers,DC=winitpro,DC=ru

to testlabdc1 from .

C:>repadmin /replsingleobj testlabdc1 testlabdc3 ou=dsusers,dc=la

b,dc=net

Successfully replicated object ou=dsusers,DC=winitpro,DC=ru to testlab

dc1 from .

C:>repadmin /replsingleobj testlabdc1 testlabdc3 DC=winitpro,DC=ru

Successfully replicated object DC=winitpro,DC=ru to testlabdc1 from

.

C:>repadmin /syncall testlabdc3

CALLBACK MESSAGE: The following replication is in progress:

From: 25fdc051-6ff6-4922-bc02-0b77a4652bfc._msdcs.winitpro.ru

To  : 99305007-2290-489b-9551-20827ba0664d._msdcs.winitpro.ru

CALLBACK MESSAGE: The following replication completed successfully

From: 25fdc051-6ff6-4922-bc02-0b77a4652bfc._msdcs.winitpro.ru

To  : 99305007-2290-489b-9551-20827ba0664d._msdcs.winitpro.ru

CALLBACK MESSAGE: The following replication is in progress:

From: b0870af5-ab82-4372-9e39-0a9772a5e47c._msdcs.winitpro.ru

To  : 99305007-2290-489b-9551-20827ba0664d._msdcs.winitpro.ru

CALLBACK MESSAGE: The following replication completed successfully

From: b0870af5-ab82-4372-9e39-0a9772a5e47c._msdcs.winitpro.ru

To  : 99305007-2290-489b-9551-20827ba0664d._msdcs.winitpro.ru

CALLBACK MESSAGE: SyncAll Finished.

SyncAll terminated with no errors.

C:>

При наявності проблем з механізмом реплікації Active Directory, потрібно знати і вміти користуватися утилітами repadmin, nslookup, dcdiag, вкрай корисний при аналізі журнал подій Directory Services. В особливо складний і нестандартних ситуаціях може допомогти база знань Microsoft KB, в якій описані типові проблеми і методики їх вирішення. Пошук по базі KB зазвичай здійснюється по ідентифікаторів помилок (Event ID), отриманим із зазначеного журналу ..

Leave a Reply

Your email address will not be published. Required fields are marked *