[server] 많은 DC에서 -strict가 오랫동안 설정되어있을 때 느린 개체를 올바르게 제거하는 방법은 무엇입니까?

저는 최근 전 세계 100 개가 넘는 사이트에 120 개의 도메인 컨트롤러가있는 환경에있었습니다. 이 도메인은 Windows 2000 시대에 시작되어 시간이 지남에 따라 업그레이드되었으므로 엄격한 복제 일관성 이 새 DC의 기본값으로 설정되지 않았으며 어떤 DC에서도 활성화되지 않았습니다. 디렉토리에 느린 개체가 있으며 이로 인해 정기적으로 상당한 수의 충돌 개체가 표시됩니다.

사용 repadmin /removelingeringobjects하려면 두 가지를 알아야합니다.

  1. 데이터베이스에 남아있는 DC가있는 DC

  2. 기준 DC로 사용하기 위해 남아있는 물체가없는 DC.

분명히이 환경은 모든 새 DC에 엄격한 복제 일관성이 적용되도록 설정해야하며 현재 모든 DC가 엄격한 복제 일관성 repadmin /options * +strict을 사용하도록 실행해야 하지만 이제는 개체를 정리하지 않고도 복제가 중단됩니다 .

그래서 내 질문은 이것입니다 : 어떤 DC가 남아있는 DC를 가지고 있고 어떤 DC를 가지고 있지 않은지 알 수없는 거대한 환경에서 사용하기 위해 좋은 참조 DC를 식별하는 repadmin /removelingeringobjects방법과 120 + DC는 엄격한 복제 일관성을 유지하고 복제를 중단하기 전에 느린 개체를 제거합니까? 아니면 엄격 모드를 켜고 repadmin /replsum중단 된 부분을보고 처리하는 것이 더 쉬운 가요?



답변

이 문제를 해결하려면 시간이 다소 걸립니다.

모든 복제를 중지하려면 다음을 실행하십시오.

repadmin /options +DISABLE_OUTBOUND_REPL

모든 DC에서. 위의 설정으로 관리자 (사용자) 실행 등의 수동 복제 작업을 막을 수는 없지만 repadmin /syncall /APed정기적 복제를 다시 활성화하기 전에 모든 DC를 완전히 다시 동기화 할 수 있기 때문에 좋은 방법입니다.

Repadmin은 개체가 ServerA에는 있지만 ServerB에는없는 경우 느린 개체인지 확인합니다. 여기서 ServerB는 참조 DC입니다. 새로 만든 개체 복제와 기존 개체에 대한 업데이트 복제의 차이점이 핵심입니다. 새로 생성 된 객체 복제 = 양호 기존 객체에 대한 업데이트 복제 = 양호 대상 DC에 존재하지 않는 개체에 대한 업데이트 복제 = 불량.

모든 DC가 하나의 좋은 기준 DC와 일치 할 때까지 거품을 내고 헹구고 반복하면됩니다. 그런 다음 모든 곳에서 엄격한 일관성을 설정 한 다음 복제를 다시 활성화하십시오. 예, 참조 DC로 복제되지 않은 다른 원격 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에게 다음과 같이 말할 때 : “이봐, 기존 objectA가 일부 업데이트되었습니다.” 그런 다음 ServerA는 “잠깐만 요. objectA도 전혀 없습니다. 전체 개체를 보내주세요!”라고 말합니다. 엄격한 일관성 없는 경우 엄격한 일관성이있을 경우 ServerA는 “잠깐만 요? 존재하지 않는 객체를 어떻게 업데이트할까요? 구부러 지십시오!”라고 말합니다.

도메인 컨트롤러에 느린 개체가 있는지 확인하려면 다음과 같이하십시오.

repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory_mode

ServerGUID는 알려진 양호한 참조 DC입니다. 나는 당신이 이미 이것을 알고 있다는 것을 알고 있습니다 … 그리고 위의 줄을 모든 DC에서 실행하도록 스크립트하는 법 … ( foreach ($DC In $(Get-ADDomain).ReplicaDirectoryServers) { }) …

결론과 비교할 수있는 좋은 소스 DC가 필요합니다. 알려진 양호한 소스 DC가 없거나 모르는 경우 하나만 선택하면됩니다. 물론 쓰기 가능한 GC 여야합니다. 상대적입니다-모든 도메인 컨트롤러가 개체의 존재와 해당 개체의 특성에 동의하면 느린 개체가 아닙니다.

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

그것은 GUID로 지정 해야하는 알려진 좋은 소스와 함께 포리스트의 모든 GC의 디렉토리 파티션을 다시 동기화합니다.

그런 다음 모든 도메인 컨트롤러를 다시 한 번 동의하면 복제가 행복해집니다. 그런 다음 모든 컨트롤러에서 엄격한 일관성을 유지하기 시작합니다.

편집 : 문제에 대한 Microsoft의 파티 라인이며, 그들이 당신에게 전화 할 가능성이있는 것은 무엇입니까?

마지막으로, 문제를 일으키지 않는 한 가치보다 수정하기가 더 어려울 수 있습니다. 나는 그것을 말하고 싶지 않지만 AD는 여전히 남아있는 객체로 정상적으로 작동 할 수 있습니다.


답변

클린 DC를 식별 할 수없는 경우의 일반적인 원칙은 다음과 같습니다.

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소스 및 대상 DC의 모든 조합에 대해 실행하여 프로세스를 자동화합니다 . 그런 다음 /advisory_only추가로 남아있는 개체가 있는지 확인합니다.


답변