Як правильно видаляти затяжні об'єкти, коли -тристрим було встановлено велику кількість постійних струмів протягом тривалого часу?


16

Я нещодавно був у середовищі, де було понад 120 контролерів домену на понад 100 сайтах по всьому світу. Цей домен розпочався в епоху Windows 2000 і з часом удосконалювався, тому сувора послідовність реплікації ніколи не встановлювалася за замовчуванням для нових постійних клієнтів і ніколи не була ввімкнена для жодного постійного струму. У каталозі є затримані об’єкти, і ви регулярно бачите пристойну кількість конфліктуючих об'єктів через це.

Використовувати repadmin /removelingeringobjectsпотрібно знати дві речі:

  1. Який постійний (і) постійний (и) постійного типу мають у базі даних об'єкти

  2. Постійний постійний струм, що не має на ній довгих об'єктів, використовуватиметься як опорний постійний струм.

Очевидно, в майбутньому це середовище повинно бути встановлено таким чином, щоб усі нові постійні постійні постійні постійні постійні repadmin /options * +strictструми застосовували сувору послідовність реплікації, і їх слід запускати, щоб усі поточні постійні токи використовували сувору послідовність реплікації, але це порушить реплікацію зараз без очищення об'єктів .

Отже, моє запитання таке: У такому масивному середовищі, де я б поняття не мав, які постійні токи мають затягнуті об'єкти, а які - ні, як я можу визначити хороший опорний DC для repadmin /removelingeringobjectsвикористання та як я можу переконатися, що всі 120+ ДК очищаються від затяжних об'єктів, перш ніж застосовувати сувору послідовність реплікації та порушувати реплікацію? Або просто простіше увімкнути суворий режим і спостерігати, repadmin /replsumщо таке перерви і з цим боротися?

Відповіді:


11

Це потребує певного часу, щоб виправити.

Щоб зупинити всю реплікацію, запустіть:

repadmin /options +DISABLE_OUTBOUND_REPL

На всіх постійних струмах. Пам’ятайте, що вищевказане налаштування не заважає виконувати вручну реплікаційні дії, такі як адміністратор (ви) repadmin /syncall /APed, і т.д.

Repadmin визначає, що це довготривалий об'єкт, якщо об'єкт існує на ServerA, але не на ServerB, де ServerB є опорним постійним струмом. Різниця між тиражуванням новостворених об'єктів та реплікацією оновлень на вже існуючі об'єкти є ключовою. Реплікація новостворених об’єктів = хороша. Реплікація оновлень на вже існуючі об'єкти = хороша. Реплікація оновлень на об'єкти, які не існують у пункті призначення DC = погано.

Вам потрібно лише мити, промивати, повторювати, поки всі постійні токи не збігаються з вашим хорошим еталонним постійним струмом. Потім увімкніть сувору послідовність скрізь, після чого повторно увімкніть реплікацію. Так, ви ризикуєте видалити законні об’єкти, створені на інших віддалених постійних комп'ютерах, які не реплікувались у ваш контрольний постійний струм.

З чудової статті " Як працює модель реплікації Active Directory ":

Налаштування послідовності реплікації

Якщо атрибути на довгостроковому об'єкті ніколи не змінюються, об'єкт ніколи не вважається реплікацією. Однак якщо атрибут змінюється, атрибут вважається для вихідної реплікації. Оскільки контролер доменного пункту не містить об'єкта для атрибута, який реплікується, оновлення не може бути здійснено. Як вирішено цю умову, залежить налаштування послідовності реплікації на контролері домену.

Параметр реєстру на контролерах домену, на яких працює Windows Server 2003 або Windows 2000 Server із SP3, забезпечує значення узгодженості, яке визначає, чи реплікує доменний контролер і реанімує оновлений об’єкт, видалений з усіх інших реплік, чи реплікація таких об'єктів заблокований. Налаштування за замовчуванням відрізняються від контролерів домену, на яких працює Windows 2000 Server із SP3 та Windows Server 2003.

Сувора послідовність реплікації

Щоб уникнути проблем із реанімацією об’єктів, які були видалені, контролер домену, який працює під керуванням Windows Server 2003 у новоствореному (не оновленому) лісі Windows Server 2003, блокує вхідну реплікацію за замовчуванням, коли отримує оновлення до об'єкта, у якого його немає .

Примітка • Реплікація Active Directory використовує відстеження оновлення для розмежування реплікації новоствореного об'єкта та оновлення атрибута для існуючого об'єкта. Реплікація довгострокового об’єкта - це спроба оновити атрибут або атрибути об'єкта, які контролер доменного пункту не може оновити, оскільки об'єкт не існує.

Реплікація зупиняється в розділі каталогів для об'єкта до тих пір, поки довгий об'єкт не буде видалений з контролера вихідного домену або не буде вимкнено параметр суворої реплікації.

Коли ServerB каже ServerA: "Ей, деякі існуючі об'єкти A були оновлені". Потім ServerA каже: "Зачекайте що? У мене навіть немає об'єктаA. Надішліть мені весь об'єкт!" Якщо немає суворої консистенції. Якщо суворої послідовності, ServerA каже: "Зачекайте що? Як ви очікуєте, що я оновлюю об'єкт, який не існує?

Щоб дізнатися, чи є у вас затримані об’єкти на контролері домену:

repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory_mode 

ServerGUID - відомий хороший довідник постійного струму. Я знаю, що ви вже знаєте це ... і як скриптувати вищевказаний рядок, щоб запустити його на всіх постійних комп'ютерах ... ( foreach ($DC In $(Get-ADDomain).ReplicaDirectoryServers) { }) ...

Вам потрібно хороший джерело постійного струму для порівняння, нижній рядок. Якщо у вас немає відомого хорошого джерела постійного струму або не знаєте, вам просто потрібно вибрати його. Це, звичайно, має бути записаний GC. Це відносно - якщо всі контролери домену погоджуються про існування об'єкта, а атрибути цього об'єкта ... то це не довгий об'єкт.

foreach($GC In $(Get-ADForest).GlobalCatalogs) { repadmin /removelingeringobjects $_.name 85d158d2-a006-4fff-b1e5-f9b6eaabab2b '$directoryPartition'

Це повторне упорядкування цього розділу каталогів кожного GC в лісі з відомим хорошим джерелом, яке потрібно вказати як GUID.

Потім після того, як ви знову отримаєте всі контролери свого домену, всі згодні, і реплікація щаслива ... тоді ви переходите і починаєте гортати сувору послідовність усіх.

Редагувати. Це проблема партії Майкрософт у цьому питанні, і те, що вони, швидше за все, вам поговорять, ви повинні їм зателефонувати.

Нарешті, це може бути більше проблем, ніж виправити, якщо це не спричинить у вас проблем. Я ненавиджу це говорити, але AD все ще може нормально функціонувати з затриманими в ньому об'єктами.


4

Загальний принцип у випадку, коли ви не можете ідентифікувати чистий постійний ток, полягає в наступному:

for each $sourceDC in $allDCs
    for each $targetDC in $allDCs
        if ($targetDC <> $sourceDC) then
            run repadmin with $sourceDC and $targetDC
        end if
    next
next

Цей процес описаний тут: http://blogs.technet.com/b/glennl/archive/2007/07/26/clean-that-active-directory-forest-of-lingering-objects.aspx

Однак погляньте на ReplDiag . Він автоматизує процес, запускаючи repadminдля вас проти всіх комбінацій джерела та цільового постійного струму. Після цього слід /advisory_onlyперевірити наявність будь-яких подальших затриманих об'єктів.


Це ще 14 400 намірів, через які це буде запущено, і за цей час додаткові затримані об'єкти можуть бути реплікані у всьому каталозі. Це рекомендується включити + суворі перший , так що перерви реплікації , щоб уникнути цього? 14 400 ітерацій, безумовно, триватимуть досить довго в каталозі такого розміру, щоб забезпечити більше поганої реплікації.
MDMarra

Чи можете ви паралелізувати це з чимось?
Том О'Коннор

@ TomO'Connor Цікава ідея. Це має бути можливо при видаленні PowerShell. Тоді ви можете змусити кожного постійного струму працювати repadminдля себе, в PARALLEL !!!
longneck

7
@MDMarra Якби швидко та легко очистити домен 120-постійного струму, який охоплює земну кулю, і він існував з Win2k та вдосконалювався в різних версіях відтоді ... тоді компанія просто отримає свого двірника, щоб це зробити ... ;)
Ryan Ries

1
Я розумію, у вас є мільярд DC, але скільки з них насправді використовуються адміністраторами для внесення змін? Ви можете почати, роблячи таку очистку лише з тими постійними та постійними сторонами постійного струму на цих сайтах, а потім встановити суворі вимоги до цих постійних. Продовжуйте з іншими. Це повинно мінімізувати всі можливі проблеми
longneck
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.