जब लंबे समय तक डीसी की एक बड़ी संख्या पर सेट किया गया हो, तो लिंचिंग ऑब्जेक्ट्स को ठीक से कैसे हटाया जाए?


16

मैं हाल ही में एक ऐसे वातावरण में था जहां दुनिया भर में 100 से अधिक साइटों में 120 डोमेन नियंत्रक थे। यह डोमेन विंडोज 2000 के युग में शुरू हुआ था और समय के साथ अपग्रेड किया गया था, इसलिए नए डीसी के लिए डिफ़ॉल्ट के रूप में सख्त प्रतिकृति स्थिरता कभी भी सेट नहीं की गई थी और कभी भी किसी भी डीसी पर सक्षम नहीं हुई थी। निर्देशिका में सुस्त वस्तुएं हैं और आप नियमित रूप से इस वजह से परस्पर विरोधी वस्तुओं की एक अच्छी संख्या देखते हैं।

का उपयोग करते हुए repadmin /removelingeringobjectsदो बातों को जानने की आवश्यकता है:

  1. डेटाबेस में कौन सी DC (ओं) की सुस्त वस्तुएं हैं

  2. एक डीसी जिसमें संदर्भ डीसी के रूप में उपयोग करने के लिए उस पर कोई सुस्त वस्तु नहीं है।

जाहिर है, भविष्य में, इस वातावरण को सेट किया जाना चाहिए ताकि सभी नए डीसी में सख्त प्रतिकृति स्थिरता लागू हो और repadmin /options * +strictसभी वर्तमान डीसी को सख्त प्रतिकृति स्थिरता का उपयोग करने के लिए चलाया जाना चाहिए, लेकिन यह वस्तुओं को साफ किए बिना प्रतिकृति को तोड़ देगा

इसलिए, मेरा प्रश्न यह है: इतने बड़े पैमाने पर वातावरण में, जहां मुझे पता नहीं होगा कि डीसी के पास कौन सी वस्तुएं हैं और जो नहीं हैं, मैं repadmin /removelingeringobjectsउपयोग करने के लिए एक अच्छे संदर्भ डीसी की पहचान कैसे कर सकता हूं , और मैं यह कैसे सुनिश्चित कर सकता हूं कि सभी 120+ डीसी सख्त प्रतिकृति स्थिरता लागू करने और प्रतिकृति को तोड़ने से पहले सुस्त वस्तुओं से साफ होते हैं? या, क्या सख्त मोड को चालू करना और देखना आसान repadmin /replsumहै कि क्या टूटता है और इससे कैसे निपटना है?

जवाबों:


11

इसे ठीक करने में कुछ समय लगेगा।

सभी प्रतिकृति को रोकने के लिए, चलाएं:

repadmin /options +DISABLE_OUTBOUND_REPL

सभी डीसी पर। याद रखें कि उपरोक्त सेटिंग मैन्युअल प्रतिकृति क्रियाओं को रोकती नहीं है जैसे कि कोई व्यवस्थापक (आप) चल रहा है repadmin /syncall /APed, आदि। लेकिन यह एक अच्छी बात है क्योंकि यह आपको नियमित प्रतिकृति को फिर से सक्षम करने से पहले अपने सभी डीसी को वापस सिंक में लाने की अनुमति देता है।

Repadmin निर्धारित करता है कि अगर सर्वर Server पर मौजूद है, लेकिन ServerB, जहां ServerB संदर्भ DC है पर मौजूद नहीं है, तो यह एक सुस्त वस्तु है। नई बनाई गई वस्तुओं की प्रतिकृति और पहले से मौजूद वस्तुओं के अपडेट की प्रतिकृति के बीच का अंतर महत्वपूर्ण है। नव निर्मित वस्तुओं की प्रतिकृति बनाना = अच्छा। पहले से मौजूद वस्तुओं के लिए अद्यतन की प्रतिकृति = अच्छा। डेस्टिनेशन पर मौजूद ऑब्जेक्ट्स के अपडेट्स को दोहराना डीसी = खराब नहीं है।

आपको केवल अपने सभी अच्छे संदर्भ डीसी के साथ मेल खाने तक, दोहराने, कुल्ला करने की आवश्यकता है। फिर हर जगह सख्त स्थिरता चालू करें, फिर प्रतिकृति को फिर से सक्षम करें। हां, आप अन्य दूरस्थ DC पर बनाए गए वैध ऑब्जेक्ट्स को हटाने का जोखिम उठाते हैं, जो आपके संदर्भ DC को दोहराया नहीं गया है।

महान " कैसे सक्रिय निर्देशिका प्रतिकृति मॉडल वर्क्स " लेख से:

प्रतिकृति संगति सेटिंग

यदि एक भाषाई वस्तु पर गुण कभी नहीं बदलते हैं, तो वस्तु को प्रतिकृति के लिए कभी नहीं माना जाता है। हालाँकि, यदि कोई विशेषता बदलती है, तो आउटबाउंड प्रतिकृति के लिए विशेषता पर विचार किया जाता है। क्योंकि गंतव्य डोमेन नियंत्रक उस विशेषता के लिए ऑब्जेक्ट नहीं रखता है जिसे दोहराया जा रहा है, एक अद्यतन नहीं किया जा सकता है। यह स्थिति कैसे हल की जाती है यह डोमेन नियंत्रक पर प्रतिकृति संगतता सेटिंग पर निर्भर करता है।

डोमेन नियंत्रक पर एक रजिस्ट्री सेटिंग जो SP3 के साथ Windows Server 2003 या Windows 2000 सर्वर चला रहा है, एक स्थिरता मान प्रदान करता है जो यह निर्धारित करता है कि क्या डोमेन नियंत्रक एक अद्यतन ऑब्जेक्ट को पुन: बनाता है और अन्य सभी प्रतिकृतियों से हटा दिया गया है, या ऐसी वस्तुओं का संकेत है जो पुन: अद्यतन करता है अवरुद्ध कर दिया। डिफ़ॉल्ट सेटिंग्स डोमेन नियंत्रक पर अलग हैं जो SP3 और Windows Server 2003 के साथ Windows 2000 सर्वर चला रहे हैं।

सख्त प्रतिकृति संगतता

हटाए गए ऑब्जेक्ट्स को पुन: प्राप्त करने की समस्याओं से बचने के लिए, एक डोमेन नियंत्रक जो एक नए बनाए गए (अपग्रेड नहीं किए गए) में Windows Server 2003 चला रहा है डिफ़ॉल्ट रूप से Windows Server 2003 वन ब्लॉक इनबाउंड प्रतिकृति को डिफ़ॉल्ट रूप से देता है जब उसे किसी ऑब्जेक्ट का अद्यतन प्राप्त होता है जो उसके पास नहीं है ।

नोट • सक्रिय निर्देशिका प्रतिकृति एक नए बनाए गए ऑब्जेक्ट की प्रतिकृति और किसी मौजूदा ऑब्जेक्ट के लिए विशेषता को अद्यतन करने के बीच अंतर करने के लिए अद्यतन ट्रैकिंग का उपयोग करती है। किसी ऑब्जेक्ट की विशेषता या विशेषताओं को अद्यतन करने का एक प्रयास एक गंतव्य ऑब्जेक्ट के मौजूद नहीं होने के कारण गंतव्य डोमेन नियंत्रक अपडेट नहीं कर सकता है।

ऑब्जेक्ट के लिए निर्देशिका विभाजन में प्रतिकृति को रोक दिया जाता है जब तक कि स्रोत डोमेन नियंत्रक से लिंगिंग ऑब्जेक्ट को हटा दिया जाता है या सख्त प्रतिकृति संगतता सेटिंग अक्षम हो जाती है।

जब ServerB ServerA से कहता है: "अरे, कुछ अपडेट मौजूदा ऑब्जेक्ट के लिए किए गए हैं।" तब ServerA कहता है: "रुको क्या? मेरे पास भी ऑब्जेक्ट नहीं है। मुझे पूरी वस्तु भेज दो!" यदि कोई सख्त संगति नहीं है। यदि सख्त स्थिरता है, तो सर्वरए कहता है: "रुको क्या? आप मुझसे ऐसी वस्तु को कैसे अपडेट करने की उम्मीद करते हैं जो मौजूद नहीं है? जाओ झुक जाओ!"

यह जानने के लिए कि क्या आपके पास एक डोमेन कंट्रोलर पर ऑब्जेक्ट्स हैं:

repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory_mode 

ServerGUID ज्ञात अच्छा संदर्भ DC है। मुझे पता है कि आप यह पहले से ही जानते हैं ... और इसे सभी डीसी पर चलाने के लिए उपरोक्त पंक्ति को कैसे स्क्रिप्ट करना है ... ( foreach ($DC In $(Get-ADDomain).ReplicaDirectoryServers) { }) ...

नीचे पंक्ति के विरुद्ध तुलना करने के लिए आपको एक अच्छे स्रोत DC की आवश्यकता होती है। यदि आपके पास एक ज्ञात अच्छा स्रोत डीसी नहीं है या नहीं पता है, तो आपको बस एक चुनना होगा। यह निश्चित रूप से एक योग्य जीसी होना चाहिए। यह सापेक्ष है - यदि सभी डोमेन नियंत्रक किसी ऑब्जेक्ट के अस्तित्व पर सहमत होते हैं, और उस ऑब्जेक्ट की विशेषताओं ... तो यह एक सुस्त वस्तु नहीं है।

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

उस अच्छे स्रोत के साथ जंगल में हर जीसी के निर्देशिका विभाजन का पुनरुत्थान कर रहा है जिसे आपको GUID के रूप में निर्दिष्ट करने की आवश्यकता है।

उसके बाद जब आप अपने सभी डोमेन नियंत्रकों को एक बार फिर से समझौता कर लेते हैं, और प्रतिकृति खुश हो जाती है ... तो आप जाते हैं और उन सभी पर सख्त स्थिरता पर फ़्लिप करना शुरू करते हैं।

संपादित करें: यह मुद्दे पर Microsoft की पार्टी लाइन है, और वे आपको फोन करने के लिए क्या बात करेंगे।

अंत में, यह तब तक ठीक करने के लिए अधिक परेशानी हो सकती है जब तक कि यह समस्या पैदा न करे। मुझे यह कहने से नफरत है, लेकिन एडी अभी भी सामान्य रूप से इसमें सुस्त वस्तुओं के साथ काम कर सकता है।


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

हालाँकि, रीप्लेदिग पर एक नज़र डालें । यह repadminस्रोत के सभी संयोजनों के खिलाफ आपके लिए चल रही प्रक्रिया को स्वचालित करता है और डीसी के लक्ष्य को लक्षित करता है। इसके बाद यह /advisory_onlyकिसी भी आगे बढ़ने वाली वस्तुओं के लिए जाँच करता है।


यह अभी भी 14,400 हस्तक्षेप है जो इस समय के माध्यम से चलेगा, उस समय के दौरान, अतिरिक्त सुस्त वस्तुओं को पूरी निर्देशिका में दोहराया जा सकता है। क्या इसे पहले सक्षम करने की अनुशंसा की गई है ताकि इससे बचने के लिए प्रतिकृति टूट जाए? 14,400 पुनरावृत्तियों निश्चित रूप से इस आकार की एक निर्देशिका पर पर्याप्त समय लगेगा ताकि अधिक खराब प्रतिकृति के लिए जगह ले सके।
एमडीएमरा 15

क्या आप इसे किसी चीज़ के साथ समानांतर कर सकते हैं?
टॉम ओ'कॉनर

@ TomO'Connor दिलचस्प विचार। यह PowerShell रीमोटिंग के साथ संभव होना चाहिए। तब आप प्रत्येक DC को repadminPARALLEL में खुद के लिए चला सकते हैं !!!
लॉन्गनेक

7
@MDMarra अगर दुनिया भर में फैले 120-DC डोमेन को साफ करना आसान और आसान था, जो तब से Win2k के स्थान पर है और तब से विभिन्न संस्करणों में अपग्रेड किया गया है ... तब कंपनी को बस अपना चौकीदार मिल जाएगा ... ;)
रेयान रिग्स

1
मुझे लगता है कि आपके पास एक bazillion DC है, लेकिन उनमें से कितने वास्तव में प्रशासकों द्वारा परिवर्तन करने के लिए उपयोग किए जाते हैं? आप केवल उन डीसी और उन साइटों में डीसी के साथ इस सफाई को शुरू करके शुरू कर सकते हैं, फिर उन डीसी पर सख्त सेट कर सकते हैं। दूसरों के साथ जारी रखें। किसी भी संभावित समस्याओं को कम करना चाहिए
longneck
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.