Làm thế nào để loại bỏ đúng các đối tượng kéo dài khi -strict đã được đặt trên một số lượng lớn DC trong một thời gian dài?


16

Gần đây tôi đã ở trong một môi trường có 120 bộ điều khiển miền trên hơn 100 trang web trên khắp thế giới. Tên miền này bắt đầu trong kỷ nguyên Windows 2000 và được nâng cấp theo thời gian, do đó tính nhất quán sao chép nghiêm ngặt không bao giờ được đặt làm mặc định cho các DC mới và chưa bao giờ được bật trên bất kỳ DC nào. Có các đối tượng kéo dài trong thư mục và bạn thường xuyên thấy một số lượng lớn các đối tượng xung đột vì điều này.

Sử dụng repadmin /removelingeringobjectsđòi hỏi phải biết hai điều:

  1. DC nào có các đối tượng kéo dài trong cơ sở dữ liệu

  2. Một DC không có đối tượng kéo dài trên đó để sử dụng làm DC tham chiếu.

Rõ ràng, trong tương lai, môi trường này phải được thiết lập sao cho tất cả các DC mới có tính nhất quán sao chép nghiêm ngặt được thi hành và repadmin /options * +strictnên được chạy để làm cho tất cả các DC hiện tại sử dụng tính nhất quán sao chép nghiêm ngặt, nhưng điều đó sẽ phá vỡ sự sao chép ngay bây giờ mà không làm sạch các đối tượng .

Vì vậy, câu hỏi của tôi là: Trong một môi trường rộng lớn như vậy, tôi sẽ không biết DC nào có các đối tượng còn sót lại và đối tượng nào không, làm cách nào tôi có thể xác định một DC tham chiếu tốt repadmin /removelingeringobjectsđể sử dụng và làm cách nào tôi có thể đảm bảo rằng tất cả 120+ Các DC có sạch các đối tượng kéo dài trước khi thực thi tính nhất quán sao chép nghiêm ngặt và phá vỡ sao chép không? Hoặc, nó chỉ dễ dàng hơn để bật chế độ nghiêm ngặt và xem repadmin /replsumđể xem những gì phá vỡ và đối phó với nó?

Câu trả lời:


11

Điều này sẽ mất một thời gian để sửa chữa.

Để dừng tất cả các bản sao, hãy chạy:

repadmin /options +DISABLE_OUTBOUND_REPL

Trên tất cả các DC. Hãy nhớ rằng cài đặt ở trên không ngăn các hành động sao chép thủ công như quản trị viên (bạn) đang chạy repadmin /syncall /APed, v.v. Nhưng đó là một điều tốt vì nó cho phép bạn lấy lại tất cả các DC của mình trở lại đồng bộ hoàn toàn trước khi bật lại sao chép thông thường.

Repadmin xác định rằng đó là một đối tượng còn sót lại nếu đối tượng tồn tại trên ServerA nhưng không phải trên ServerB, trong đó ServerB là DC tham chiếu. Sự khác biệt giữa sao chép các đối tượng mới được tạo và sao chép cập nhật cho các đối tượng đã tồn tại là chìa khóa. Tái tạo các đối tượng mới được tạo = tốt. Sao chép cập nhật cho các đối tượng đã tồn tại = tốt. Sao chép cập nhật cho các đối tượng không tồn tại trên đích DC = bad.

Bạn chỉ cần rửa, rửa, lặp lại cho đến khi tất cả các DC khớp với một DC tham chiếu tốt của bạn. Sau đó bật tính nhất quán nghiêm ngặt ở mọi nơi, sau đó kích hoạt lại nhân rộng. Có, bạn có nguy cơ xóa các đối tượng hợp pháp đã được tạo trên các DC từ xa khác chưa được sao chép sang DC tham chiếu của bạn.

Từ bài viết " Cách thức hoạt động của mô hình nhân rộng Active Directory ":

Thiết lập nhất quán nhân rộng

Nếu các thuộc tính trên một đối tượng kéo dài không bao giờ thay đổi, đối tượng không bao giờ được xem xét để nhân rộng. Tuy nhiên, nếu một thuộc tính thay đổi, thuộc tính được xem xét để nhân rộng ra bên ngoài. Vì bộ điều khiển miền đích không giữ đối tượng cho thuộc tính đang được sao chép, nên một bản cập nhật không thể được thực hiện. Làm thế nào điều kiện này được giải quyết tùy thuộc vào cài đặt tính nhất quán sao chép trên bộ điều khiển miền.

Cài đặt đăng ký trên các bộ điều khiển miền đang chạy Windows Server 2003 hoặc Windows 2000 Server với SP3 cung cấp giá trị nhất quán để xác định xem bộ điều khiển miền có sao chép và đánh giá lại một đối tượng đã cập nhật đã bị xóa khỏi tất cả các bản sao khác hay không, hoặc sao chép các đối tượng đó bị chặn. Cài đặt mặc định khác nhau trên các bộ điều khiển miền đang chạy Windows 2000 Server với SP3 và Windows Server 2003.

Nhất quán nhân rộng

Để tránh các vấn đề với việc sắp xếp lại các đối tượng đã bị xóa, bộ điều khiển miền đang chạy Windows Server 2003 trong một bản sao Windows Server 2003 mới được tạo (chưa nâng cấp) được sao chép theo mặc định khi nhận được bản cập nhật cho một đối tượng mà nó không có .

Lưu ý • Sao chép Active Directory sử dụng theo dõi cập nhật để phân biệt giữa sao chép một đối tượng mới được tạo và cập nhật một thuộc tính cho một đối tượng hiện có. Sao chép một đối tượng kéo dài là một nỗ lực để cập nhật một thuộc tính hoặc thuộc tính của một đối tượng mà bộ điều khiển miền đích không thể cập nhật vì đối tượng không tồn tại.

Sao chép được tạm dừng trong phân vùng thư mục cho đối tượng cho đến khi đối tượng kéo dài bị xóa khỏi bộ điều khiển miền nguồn hoặc cài đặt tính nhất quán sao chép nghiêm ngặt bị vô hiệu hóa.

Khi ServerB nói với ServerA: "Này, một số cập nhật đã được thực hiện cho objectA hiện có." Sau đó, ServerA nói: "Đợi cái gì? Tôi thậm chí không có objectA. Gửi cho tôi toàn bộ đối tượng!" Nếu không có sự thống nhất nghiêm ngặt. Nếu tính nhất quán nghiêm ngặt, ServerA nói: "Đợi cái gì? Làm thế nào để bạn mong đợi tôi cập nhật một đối tượng không tồn tại? Hãy đi uốn cong!"

Để tìm xem bạn có các đối tượng kéo dài trên bộ điều khiển miền không:

repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory_mode 

ServerGUID là DC tham chiếu tốt được biết đến. Tôi biết bạn đã biết điều này ... và cách viết kịch bản dòng trên để chạy nó trên tất cả các DC ... ( foreach ($DC In $(Get-ADDomain).ReplicaDirectoryServers) { }) ...

Bạn cần một nguồn DC tốt để so sánh với dòng dưới cùng. Nếu bạn không có nguồn DC tốt đã biết hoặc không biết, bạn chỉ cần chọn một nguồn. Tất nhiên nó phải là một bài viết có thể ghi được. Nó tương đối - nếu tất cả các bộ điều khiển miền đồng ý về sự tồn tại của một đối tượng và các thuộc tính của đối tượng đó ... thì đó không phải là một đối tượng còn sót lại.

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

Đó là đồng bộ hóa phân vùng thư mục của mọi GC trong rừng với nguồn tốt đã biết mà bạn cần chỉ định là GUID.

Sau đó, sau khi bạn đã có tất cả các bộ điều khiển miền của mình một lần nữa, và nhân rộng là hạnh phúc ... sau đó bạn đi và bắt đầu lật lại tính nhất quán nghiêm ngặt trên tất cả chúng.

Chỉnh sửa: Đây là vấn đề của đảng về vấn đề của Microsoft và những gì họ có thể sẽ nói với bạn là bạn gọi cho họ.

Cuối cùng, điều này có thể gây ra nhiều rắc rối để khắc phục hơn giá trị của nó trừ khi nó gây ra sự cố cho bạn. Tôi ghét phải nói điều đó, nhưng AD vẫn có thể hoạt động bình thường với các đối tượng còn sót lại trong đó.


4

Nguyên tắc chung trong trường hợp bạn không thể xác định DC sạch như sau:

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

Quá trình này được mô tả ở đây: http://bloss.technet.com/b/glennl/archive/2007/07/26/clean-that-active-directory-forest-of-lingering-objects.aspx

Tuy nhiên, hãy xem Trả lời . Nó tự động hóa quy trình bằng cách chạy repadmincho bạn chống lại tất cả các kết hợp nguồn DC và đích. Sau đó, nó tiếp tục với /advisory_onlyđể kiểm tra các đối tượng còn sót lại.


Đó vẫn là 14.400 tương tác mà điều này sẽ chạy qua, trong thời gian đó, các đối tượng kéo dài bổ sung có thể được sao chép trong toàn thư mục. Có nên bật + nghiêm ngặt trước để sao chép phá vỡ để tránh điều này không? 14.400 lần lặp chắc chắn sẽ mất nhiều thời gian trên một thư mục có kích thước này để cho phép sao chép xấu hơn.
MDMarra

Bạn có thể song song nó với một cái gì đó?
Tom O'Connor

@ TomO'Connor Ý tưởng thú vị. Điều đó nên có thể với điều khiển từ xa PowerShell. Sau đó, bạn có thể khiến mỗi DC tự chạy repadmin, trong PARALLEL !!!
longneck

7
@MDMarra Nếu việc dọn dẹp một miền 120 DC nhanh chóng và dễ dàng trên toàn cầu và đã có từ khi Win2k và nâng cấp trên các phiên bản khác nhau kể từ đó ... thì công ty sẽ chỉ cần người gác cổng của họ làm điều đó ... ;)
Ryan Ries

1
Tôi nhận ra rằng bạn có một DC bazillion, nhưng có bao nhiêu trong số chúng thực sự được sử dụng bởi các quản trị viên để thực hiện các thay đổi? Bạn có thể bắt đầu bằng cách thực hiện việc dọn dẹp này chỉ với các DC và DC trong các trang web đó, sau đó đặt nghiêm ngặt đối với các DC đó. Việc tiếp tục với những người khác. Điều đó sẽ giảm thiểu mọi vấn đề có thể xảy ra
longneck
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.