Jak prawidłowo usunąć długotrwałe obiekty, gdy przez długi czas ustawiono opcję -strict na dużą liczbę DC?

16

Ostatnio byłem w środowisku, w którym było 120 kontrolerów domeny w ponad 100 witrynach na całym świecie. Ta domena rozpoczęła się w erze systemu Windows 2000 i była z czasem aktualizowana, więc ścisła spójność replikacji nigdy nie była ustawiona jako domyślna dla nowych kontrolerów domeny i nigdy nie została włączona na żadnym kontrolerach domeny. W katalogu znajdują się obiekty trwałe i z tego powodu regularnie widzisz sporą liczbę obiektów będących w konflikcie.

Korzystanie repadmin /removelingeringobjectswymaga znajomości dwóch rzeczy:

  1. Które DC mają obiekty trwałe w bazie danych

  2. DC, w którym nie ma żadnych obiektów trwałych, które mogłyby być użyte jako referencyjny DC.

Oczywiście w przyszłości środowisko to powinno zostać ustawione tak, aby wszystkie nowe kontrolery domeny miały ścisłą wymuszoną spójność replikacji i repadmin /options * +strictpowinny być uruchamiane, aby wszystkie obecne kontrolery domeny stosowały ścisłą spójność replikacji, ale spowoduje to przerwanie replikacji teraz bez czyszczenia obiektów .

Moje pytanie brzmi zatem: w tak ogromnym środowisku, w którym nie miałbym pojęcia, które DC mają obiekty trwałe, a które nie, w jaki sposób mogę zidentyfikować dobry referencyjny DC repadmin /removelingeringobjectsdo użycia i jak mogę zapewnić, że wszystkie 120+ DC są czyste z utrzymującymi się obiektami przed wymuszeniem ścisłej spójności replikacji i przerwaniem replikacji? A może łatwiej jest włączyć tryb ścisły i obserwować, repadmin /replsumco się zepsuło i sobie z tym poradzić?

MDMarra
źródło

Odpowiedzi:

11

Naprawienie zajmie trochę czasu.

Aby zatrzymać całą replikację, uruchom:

repadmin /options +DISABLE_OUTBOUND_REPL

Na wszystkich DC. Pamiętaj, że powyższe ustawienie nie zapobiega ręcznym czynnościom replikacji, takim jak uruchomiony administrator (ty) repadmin /syncall /APeditp. Ale to dobrze, ponieważ pozwala całkowicie zsynchronizować wszystkie kontrolery domeny przed ponownym włączeniem regularnej replikacji.

Program Repadmin ustala, że ​​jest to obiekt utrzymujący się, jeśli obiekt istnieje na serwerze A, ale nie na serwerze B, gdzie serwer B jest referencyjnym kontrolerem domeny. Kluczem jest różnica między replikacją nowo utworzonych obiektów a replikacją aktualizacji do już istniejących obiektów. Replikacja nowo utworzonych obiektów = dobra. Replikowanie aktualizacji do już istniejących obiektów = dobre. Replikowanie aktualizacji obiektów, które nie istnieją w docelowym DC = źle.

Trzeba tylko spienić, spłukać, powtórzyć, aż wszystkie DC będą pasować do jednego dobrego DC referencyjnego. Następnie włącz wszędzie ścisłą spójność, a następnie ponownie włącz replikację. Tak, istnieje ryzyko usunięcia prawidłowych obiektów, które zostały utworzone na innych zdalnych kontrolerach domeny, które nie zreplikowały się na referencyjnym kontrolerze domeny.

Z wielkiego artykułu „ Jak działa model replikacji usługi Active Directory ”:

Ustawienie spójności replikacji

Jeśli atrybuty obiektu trwałego nigdy się nie zmieniają, obiekt ten nigdy nie jest brany pod uwagę do replikacji. Jeśli jednak atrybut się zmieni, atrybut ten jest brany pod uwagę przy replikacji wychodzącej. Ponieważ docelowy kontroler domeny nie przechowuje obiektu dla replikowanego atrybutu, aktualizacja nie może zostać wykonana. Sposób rozwiązania tego warunku zależy od ustawienia spójności replikacji na kontrolerze domeny.

Ustawienie rejestru na kontrolerach domeny z systemem Windows Server 2003 lub Windows 2000 Server z dodatkiem SP3 zapewnia wartość spójności, która określa, czy kontroler domeny replikuje i reanimuje zaktualizowany obiekt, który został usunięty ze wszystkich innych replik, lub czy replikacja takich obiektów jest zablokowany. Domyślne ustawienia są różne na kontrolerach domeny z systemem Windows 2000 Server z dodatkiem SP3 i Windows Server 2003.

Ścisła spójność replikacji

Aby uniknąć problemów z ponownym ożywieniem obiektów, które zostały usunięte, kontroler domeny z systemem Windows Server 2003 w nowo utworzonym (nie uaktualnionym) lesie systemu Windows Server 2003 domyślnie blokuje replikację przychodzącą po otrzymaniu aktualizacji obiektu, którego nie ma .

Uwaga • Replikacja usługi Active Directory wykorzystuje śledzenie aktualizacji, aby rozróżnić replikację nowo utworzonego obiektu od aktualizacji atrybutu dla istniejącego obiektu. Replikacja obiektu trwałego jest próbą aktualizacji atrybutu lub atrybutów obiektu, których docelowy kontroler domeny nie może zaktualizować, ponieważ obiekt nie istnieje.

Replikacja jest zatrzymywana na partycji katalogu dla obiektu, dopóki trwały obiekt nie zostanie usunięty ze źródłowego kontrolera domeny lub ustawienie ścisłej spójności replikacji zostanie wyłączone.

Gdy serwer B mówi do serwera A: „Hej, wprowadzono pewne aktualizacje istniejącego obiektu A.” Następnie Serwer A mówi: „Zaczekaj, co? W ogóle nie mam nawet obiektu A. Wyślij mi cały obiekt!” Jeśli nie ma ścisłej spójności. Jeśli ścisła spójność, ServerA mówi: „Poczekaj, co? Jak oczekujesz, że zaktualizuję obiekt, który nie istnieje?

Aby sprawdzić, czy masz obiekty trwałe na kontrolerze domeny:

repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory_mode 

ServerGUID jest znanym dobrym referencyjnym DC. Wiem, że już to wiesz ... i jak wykonać skrypt powyższej linii, aby uruchomić ją na wszystkich kontrolerach domeny ... ( foreach ($DC In $(Get-ADDomain).ReplicaDirectoryServers) { }) ...

Potrzebujesz dobrego źródła prądu stałego, aby porównać z dolną linią. Jeśli nie masz znanego dobrego źródła prądu stałego lub nie wiesz, po prostu musisz go wybrać. Oczywiście powinien to być zapisywalny GC. Jest względny - jeśli wszystkie kontrolery domeny zgadzają się co do istnienia obiektu i jego atrybutów ... to nie jest to obiekt długotrwały.

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

Ponowna synchronizacja tej partycji katalogu każdego GC w lesie ze znanym dobrym źródłem, które należy określić jako GUID.

Potem, gdy wszystkie kontrolery domeny znów się zgadzają, a replikacja jest szczęśliwa ... wtedy zaczynasz i narzucasz ścisłą spójność na wszystkich z nich.

Edit: To jest linia stroną Microsoftu w tej sprawie, i co oni mogą rozmawiać Cię przez były do nich zadzwonić.

Wreszcie może to być trudniejszy problem niż jest wart, chyba że powoduje problemy. Nienawidzę tego mówić, ale AD nadal może normalnie funkcjonować z utrzymującymi się w nim obiektami.

Ryan Ries
źródło
4

Ogólna zasada w przypadku, gdy nie można zidentyfikować czystego prądu stałego, jest następująca:

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

Ten proces jest opisany tutaj: http://blogs.technet.com/b/glennl/archive/2007/07/26/clean-that-active-directory-forest-of-lingering-objects.aspx

Jednak spójrz na ReplDiag . Automatyzuje proces, uruchamiając się repadmindla wszystkich kombinacji źródeł prądu źródłowego i docelowego. Następnie wykonuje się, /advisory_onlyaby sprawdzić, czy nie pozostały żadne dalsze obiekty.

długa szyja
źródło
To wciąż 14,400 interakcji, przez które to będzie przebiegać, w tym czasie dodatkowe obiekty przeciągające się mogą być replikowane w całym katalogu. Czy zaleca się włączenie + ścisłe najpierw , aby replikacja zrywała, aby tego uniknąć? 14 400 iteracji na pewno zajmie wystarczająco dużo czasu w katalogu o tym rozmiarze, aby umożliwić przeprowadzenie złej replikacji.
MDMarra,
Czy potrafisz coś z tym zrównoważyć?
Tom O'Connor,
@ TomO'Connor Ciekawy pomysł. Powinno to być możliwe dzięki zdalnemu programowi PowerShell. Wtedy możesz sprawić, by każdy DC działał repadminsam, w RÓWNOLEGŁOŚCI !!!
longneck
7
@MDMarra Jeśli szybko i łatwo wyczyścisz domenę 120-DC, która rozciąga się na cały świat i istnieje od Win2k i jest aktualizowana w różnych wersjach od tego czasu ... wtedy firma po prostu poprosi woźnego, aby to zrobił ... ;)
Ryan Ries
1
Zdaję sobie sprawę, że masz bazillion DC, ale ile z nich jest faktycznie używanych przez administratorów do wprowadzania zmian? Możesz zacząć od wykonania tego czyszczenia tylko z tymi kontrolerami domeny i kontrolerami domeny w tych witrynach, a następnie nałożyć surowe reguły na te kontrolery domeny. Kontynuuj z innymi. To powinno zminimalizować wszelkie możliwe problemy
długi szyj