Operation Master در اکتیو دایرکتوری

 

در اکتیو دایرکتوری تمام دامین کنترلر ها با همدیگر برابراند. آن ها می توانند اطلاعات را روی Database خودشان ذخیره نمایند و سپس آن را بین بقیه دامین کنترلرها Replicate  کنند . در اکتیو دایرکتوری دامین کنترلرهای Operaion Master فقط و فقط  Role های مشخصی را به عهده دارند و  با آنکه دامین کنترلر های دیگر می توانند آن ها را انجام دهند، از انجام دادن آن role ها سر باز می زنند.

تصور نکنید:اگر از مدیران شبکه قدیمی ویندوز NT هستید، لطفا تصور نکنید که operation master همان Primary Domain Controller است. همچنین می دانم تصور نخواهید کرد که این همان Read-Only Domain Controller است.

Operaion Master ها چی هستند؟

- اکتیو دایرکتوری شامل ۵ رول Operation Master است. دوتای آنها در سراسر جنگل (Forest) انجام می شود آنها را Forest-wide می گوییم. توجه داشته باشد هر رول فقط توسط یک دامین کنترلر در سراسر جنگل صورت می پذیرد:

۱٫ Domain Naming : در زمان اضافه یا حذف کردن یک دامین از این رول استفاده می شود. بنابراین در زمان اضافه کردن یا حذف کردن یک دامین در جنگل باید رول Domain Naming Master در دسترس باشد.

۲٫ Schema : دامین کنترلری که رول Schema Master را دارد فقط  این دامین کنترلر می تواند تغییرات روی Schema در سراسر جنگل را اعمال کند. سایر دامین کنترلرها یک نسخه read-only از schema را نگه داری می کنند که آن را با دامین کنترلر که رول Schema Master دارد یکسان می کنند. اگر می خواهید Schema را تغییر دهید یا نرم افزاری نصب کنید که Schema را تغییر می دهد، توصیه می شود آن را در دامین کنترلری که رول Schema Master رادارد انجام دهید. در غیر این صورت تغییرات باید از Schema Master درخواست (Request) شوند.

- و سه تای آنها در هر دامینی انجام می شود. آنها را Domain-Wide می گوییم و توجه داشته باشید که فقط توسط یک دامین کنترلر در تمام دامین انجام می شود:

۳٫(Relative Identifier (RID : این رول بسیار حیاتی است. SID شناسه ای است که اشیاء همانند Users.Computers, Groups در سراسر یک دامین با آن شناسایی می شوند. SID یک عدد است که در سراسر دامین یکتا است. از آنجا که در هر دامین کنترلری می توان یک شیئ جدید ایجاد کرد، باید یک مکانیسمی وجود داشته باشد تا یکتا بودن SID آن را تضمین کند. RID Master بسیار شبیه به DHCP است حال آنکه به جای آنکه IP اختصاص دهد، از ID Pool خود، ID اختصاص می دهد.

۴٫ Infrastructure : در یک جنگل که چند دامین دارد، اشیاء ترکیبی می توان ساخت. به عنوان مثال می توان گروهی را ساخت که شامل کاربرانی در دامین دیگر باشد! اگر کاربری که در دامین دیگر است move شد یا rename شد دامینی که شامل گروه است از کجا مطلع شود که کاربر تغییر کرده؟ infrastructure Master رولی است که اطلاعات دامین کنترلری که گروه در آن است را به روز می کند. برای راحتی نحوه عملکرد infrastructure فعلا تصور کنید که یک سیستم Tracking است و تغییراتی که روی اشاء دیگر اتفاق می افتد را ردیابی می کند.

۵٫ PDC Emulator : این رول چند عمل حیاتی را در یک دامین انجام می دهد.

> ادای یک Primary Domain Controller را در می آورد! در گذشته، در زمان ویندوز NT 4.0 تغییرات روی اکتیو دایرکتوری فقط در PDC می توانست ذخیره شود. نرم افزارهایی که در آن زمان نوشته شده اند بر این اساس کار می کردند. اکنون روی هر دامین کنترلری می توان تغییرات را ذخیره و سپس با دامین کنترلرهای دیگر Replicate شود.  PDC Emulator هرچند واقعا یک PDC نیست اما وانمود می کند که PDC است! خود را به عنوان PDC در سراسر دامین معرفی می کند، هرچند که در روند نرم افزار های جدید تغییری به وجود نمی آید اما با نرم افزارهایی که برای روزگار PDC نوشته شده بودند هماهنگی ایجاد می کند. اکتیو دایرکتوری اکنون تقریبا ۱۰ ساله شده است، بهتر است چنین نرم افزار های قدیمی به روز شوند. اگر امکان پذیر نیست با این رول می توانید سیستم عامل دامین کنترلرها را ارتفا دهید هر چند باید به Functional Level نیز توجه کنید.

> زمامی که  password یک کاربر reset می شود و یا Change می شود و… تغییراتی هستند که اهمیت بالایی دارند و نمی توان منتظر Replication ماند. بنابراین این دسته تغییرات به سرعتReplicate می شود. اما آیا بین تمام دامین کنترلرها Replicate می شود و آیا سرعت Replicate شدن کافی است؟ تغییرات به PDC Emulator گفته می شود. اگر یک کاربر بلافاصله پس از آنکه Password خود را تغییر داد Logon کند، ممکن است هنوز تغییرات به دامین کنترلری که در حال بررسی هویت کاربر است گفته نشده باشد بنابراین از password جدید کاربر بی اطلاع است. اما پیش از آنکه Username و Password را نپذیرد، سری به PDC Emulator می زند. در واقع درخواست Logon را به PDC Emulator می فرستد از آنجا که PDC Emulator همیشه آخرین تغییرات را می داند، کلمه عبور و نام کاربری کاربر را تایید می کند و به دامین کنترلر دستور می دهد تا logon را قبول کند. البته این به آن معنا است که هر زمانی که کاربر password خود را اشتباه وارد کند، درخواست Authentication به PDC Emulator ارسال می شود. بنابراین باید PDC Emulator سرعت ارتباطی بالا و امکانات سخت افزای قوی داشته باشد. (در خصوص وجود سایت بحث خواهد شد)

> اکتیو دایرکتوری، Kerberos ، FRS و بسیاری از سرویس های دیگر بسیار به قالب زمانی وابسته اند. پس همسان سازی ساعت و تاریخ (زمان) در تمام یک محیط بسیار پر اهمیت است. PDC Emulator ای که در Forest Root قرار دارد معین کننده زمان در تمام جنگل است. روند همسان سازی زمان به این صورت است که هر PDC Emulator زمان خود را با PDC Emulator موجود در Forest root همسان می کند و تمام دامین کنترلر های یک دامین خود را به PDC Emulator دامین خود. کلاینت ها و سرور های دیگر خود را با دامین کنترلرها همسان می کنند. این سلسه مراتب همسان سازی دامین در کاهش ترافیک و بار سرور ها خیلی موثر است و از طریق سرویس Win32time انجام می شود.

> زمانی که وارد Network می شوید. مثلا روی Start کلیک می کنید و Network را می زنید، لیستی از برخی کامپیوتر های موجود را می بینید. این لیست که Browse list نام دارد، توسط یک سرویس به نام Browser service ساخته می شود. Master Browser در شبکه های دامین وظیفه ساختن یک Browse List را دارد. یک PDC Emulator در نقش یک Domain Master Browser می تواند عمل کند.

همانطور که مشاهده کردید، سرویس های حیاتی وجود دارند که فقط روی یک دامین کنترلر قابل ارائه هستند. امروزه راهی برای ارائه شدن این سرویس ها روی چند دامین کنترلر وجود ندارد. امنیت، در دسترس بودن، امکانات سخت افزاری و سرعت مناسب ارتباط برای دامین کنترلرهایی که نقش های فوق را بر عهده دارند بسیار فاکتور های مهمی هستند. با توجه به آنکه در یک دامین یک دامین یا یک جنگل تنها یک دامین کنترلر می تواند این رول ها یا برخی از آنها را  به عهده داشته باشد،در یک جنگل با یک دامین ۵ رول و در یک جنگل با ۲ دامین ۸ رول وجود دارد. این رول ها باید به خوبی مدیریت شوند.

جای مناسب Operation Master ها کجا است؟

زمانی که اولین دامین کنترلر در یک جنگل جدید و دامین چدید را ایجاد می کنید تمام ۵ رول Operation Master بر عهده همان دامین کنترلر گذاشته می شود. بدیهی است که پس از آنکه دامین کنترلر دیگری اضافه کردید می توانید به علت Load Balance یکی یا چندی از این رول ها را به دامین کنترلر دیگری واگذار کنید. همچنین ممکن است با توجه به موقعیت فیزیکی، تصمیم بگیرید که رول ها را به دامین کنترلری که شرایط مناسب تری دارد منتقل کنید. بهترین نحوه این تنظیمات عبارت است از:

۱٫ Schema Master و  Domain Naming Master باید روی یک دامین کنترلر که GC Server است قرار گیرد. این دامین کنترلر باید امن تر از دامین کنترلرهای دیگر باشد و از آنجا که این رول ها باهم و به GC وابسته اند بهتر است روی یک دامین کنترلر قرار گیرند.

۲٫ RID و PDC Emulator روی یک دامین کنترلر باشند. اگر می خواهید که روی دو دامین کنترلر مختلف آن ها را تنظیم کنید، باید از لینک ارتباطی مطمئن و پر سرعتی بین این دو  دامین کنترلر موجود باشد. همچنین باید در Replication به صورت مستقیم باهم Repication انجام دهند. اما در هر حال بهترین حالت زمانی است که هر دوی آنها روی یک دامین کنترلر باشند مگر در شرایط خاص.

۳٫ Infrastructure Master روی دامین کنترلر باشد که GC Server نیست اما از طریق یک لینک مطمئن و با سرعت مناسب به GC Server متصل است. مانعی برای قرار دادن Infrastructure Master روی همان دامین کنترلری که PDC Emulator و RID Master است وجود ندارد.

۴٫ یکی از توصیه هایی که می شود آن است که تمام دامین کنترلرها GC Server باشند. در این صورت دیگر اهمیتی ندارد که کدام دامین کنترلر نقش Infrastructure Master را بازی کند.

۵٫ فکر آنکه یک دامین کنترلر مثلا همان دامین کنترلر اولی در یک شبکه بزرگ تمام این کارها را انجام دهد را هم نکنید.

۶٫ یک برنامه برای failover یا redundancy ایجاد کردن داشته باشید. خواهید دید که می توان این رول ها را منتقل کرد. بدون شک باید این برنامه از پیش تعیین شده باشد.

 

مشخص کردن Operation Master ها و انتقال آن ها:

برای تنظیم کردن یک دامین کنترلر در یک رول Operation Master، ابتدا باید بدانید که در حال حاضر کدام DC این رول را برعهده دارد. از طریق خط فرمان یا محیط گرافیکی می توان به مدیریت پرداخت:

الف. رول های Domain-Wide که عبارت اند از RID ، PDC Emulator و Intrastructure :  به کنسول Active Directory Users & Computers رفته  و سپس  روی دامین کلیک راست کرده و گزینه Master Operation را انتخاب کنید. در زبانه (tab) های مربوط به هر رول می توانید سروری که در حال حاضر آن رول را بر عهده دارد ببینید.

ب. رول Domain Naming : در کنسول Active Directory Domains and Trusts روی Root Node یعنی Active Directory Domains and Trusts کلیک راست کرده و گزینه Operaion Master را بزنید. حال می توانید سروری که در حال حاضر رول Domain Naming را بر عهده دارد مشاهده کنید.

ج. رول Schema Master : به MMC بروید. و از منوی File گزینه  Add/remove Snap-in را برنید. از لیست Snap-in های سمت چپ، Active Directory Schema را add کنید. سپس روی Root Node یعنی Active Directory Schema کلیک راست کنید و گزینه Operation Master را انتخاب کنید.

نکته مهم : باید Active Directory Schma Snap-in را در اولین باری که باز می کنید register کنید. در غیر این صورت در قسمت ج نخواهید توانست که Active Directory Schema را بین Snap-in های موجود پیدا کنید. برای این کار به خط فرمان رفته و سپس وارد کنید:

regsvr32 schmmgmt.dll

یادآوری: همانطور که پیش از این در قسمت یک گفته شده بود، زمانی که اولین دامین کنترلر در دامین جدید و جنگل جدید ایجاد می کنید آن دامین کنترلر تمام این ۵ رول را بر عهده می گیرد. زمانی که اولین دامین کنترلر را در دامین جدید جنگل موجود ایجاد می کنید رول های Domain Wide را برعهده می گیرد. زمانی که دامین کنترلر های دیگری در دامین / جنگل ایجاد می کنید، توصیه می شود برای load Balance رول ها را بین دامین کنتر ها تقسیم کنید.

توجه مهم : اگر برنامه ریزی کرده اید که دامین کنترلر مدتی offline شود، اگر Master Operation روی آن دامین کنترلر است حتما آن ها را انتقال دهید.

برای انتقال Operation Master ها باید ۳ گام کلی زیر را انجام دهید:

۱٫ با توجه به آنچه در قسمت های الف تا ج گفته شد، به کنسول مربوط به role ای که می خواهید تغییر دهید بروید.

۲٫ روی Root Node کلیک راست کنید و گزینه های Connect to Domain Controller یا Change Domain Controller را بزنید و به دامین کنترلری که می خواهید رول به آن منتقل شود را انتخاب و به آن متصل شوید.

۳٫ مشابه آنچه در قسمت های الف تا ج گفته شد عمل کنید. سپس دکمه change را بزنید.

تذکر: در محیط عملیاتی برای یادگیری آزمایش نکنید. همچنین پیش از انتقال از صلاحیت  (فیزیکی -  منطقی) دامین کنترلر مقصد اطمینان یابید.

تذکر: بهتر است پس از انتقال یک Replication بین دو دامین کنترلر به صورت force انجام شود هر چند عدم انجام مانعی ندارد.

زمانی که یک role را منتقل می کنید و هر دو دامین کنترلر online هستند. یعنی در شبکه در حال سرویس دهی هستند. به سرعت دامین کنترلر جدید رول را بر عهده می گیرد و دامین کنترلر قدیمی از انجام role سر باز می زند. این روش بهترین روش انتقال این رول ها است.

خرابی دامین کنترلر های دارای یک وظیفه Operation Master و مصادره رول ها :

چنانچه دامین کنترلری که یک رول Operation Master را به عهده دارد، خراب شود و دیگر امیدی به رکاوری نباشد یا اینکه برای مدت زیادی زمان نگه داری نیاز داشته باشد، اگر نتوانسته بودید که رول ها را انتقال دهید می توانید آن ها را Seizing یا مصادره کنید. در خصوص هر کدام از این رول ها شرایط خاصی ایجاد خواهد شد:

۱٫ PDC Emulator : این رول اگر در دسترس نباشد سریع تر از تمام رول های دیگر در شبکه ایجاد اختلال خواهد کرد و کاربران سریع با مسئله درگیر می شوند. خوشبختانه می توان این رول را Seize کرد و سپس به سرویس دهنده اصلی بازگرداند. منظور از سرویس دهنده اصلی دامین کنترلری است که وظیفه PDC Emulator را بر عهده داشته.

۲٫ infrastructure Master : هرچند در خرابی های این role  شاید کاربران سریع درگیر نمی کند، اما مدیران را اذیت خواهد کرد. می توان این رول را Seize کرد و با بازگرداننده سرویس دهنده اصلی، رول را به او بازگردانند.

۳٫ RID Master : خرابی RID Master باعث خواهد شد که دامین کنترلرها نتوانند SID جدیدی دریافت کنند. بنابراین از ساخت user,group و… جلوگیری به عمل خواهد آورد. از آنجایی که دامین کنترلر ها یک دسته SID را دریافت می کنند، ممکن است به سرعت با مشکل جدی رو به رو نشوید. Seize این رول عمل مناسبی نیست و توصیه نمی شود اما در صورت لزوم و اجتناب ناپذیر بودن آن، دامین کنترلری که این رول از آن مصادره شده است نمی تواند دوباره به کار خود بازگردد و online شود.

۴٫ Schema Maste : این رول تنها زمانی حیاتی است که تغییر در Schema به وجود آید. حال چه توسط برنامه های Active Directory integrated چه توسط یک مدیر شبکه.  Seize این رول عمل مناسبی نیست و توصیه نمی شود اما در صورت لزوم و اجتناب ناپذیر بودن آن، دامین کنترلری که این رول از آن مصادره شده است نمی تواند دوباره به کار خود بازگردد و online شود.

۵٫ Domain Naming Master : این رول زمانی کاربرد دارد که یک دامین به جنگل اضافه/حذف می شود.  Seize این رول عمل مناسبی نیست و توصیه نمی شود اما در صورت لزوم و اجتناب ناپذیر بودن آن، دامین کنترلری که این رول از آن مصادره شده است نمی تواند دوباره به کار خود بازگردد و online شود.

نحوه مصادره یک رول:

هشدار: در محیط عملیاتی برای یادگیری آزمایش نکنید. Seize عمل حساسی است.

با آنکه انتقال یک رول هم از طریق خط فرمان و هم از طریق محیط گرافیکی امکان پذیر است، مصادره کردن یک role فقط از طریق خط فرمان (CMD) امکان پذیر است. برای Seize کردن یک رول مراحل زیر را پیش بگیرد:

۱٫ در run وارد کنید CMD و در خط فرمان وارد کنید ntdsutil و enter بزنید.

۲٫در فرمان ابزار ntdsutil وارد کنید roles و enter بزنید.

۳٫ اکنون باید به دامین کنترلری که قرار اجرای role به آن واگذار شود، متصل شوید برای این کار در فرمان fsmo maintenance وارد کنید connections و enter بزنید.

۴٫ اکنون در فرمان server connections وارد کنید connect to server DCFQDN و enter بزنید. دقت کنید DCFQDN نام کامل دامین کنترلر مورد نظر است مثلا : Server8.contoso.com

5.در فرمان Server connection وارد کنید quit و enter بزنید.

۶٫در فرمان fsmo maintenance وارد کنید seize ROLE و enter بزنید.

ROLE یکی از رول ها می تواند باشد یعنی : PDC , RID master , schema master , domain naming master , infrastructure master (خود لغت ROLE را وارد نکنید)

۷٫در فرمان fsmo maintenance و ntdsutil وارد کنید quit

* در هر مرحله می توانید از ؟ برای راهنمایی استفاده کنید.

** برای انتقال به جای دستور seize ROLE از دستور transfer ROLE استفاده کنید.

هشدار: به هیچ عنوان دامین کنترلر هایی که قابل بازگرداندن نیستند را به شبکه دوباره متصل نکنید. اگر می خواهید دوباره از آن استفاده کنید به استفاده از دستور dcpromo /forceremoval نقش دامین کنترلر را از آن حذف کنید. گاهی توصیه شده است از ابتدا ویندوز را روی آن نصب کنید و البته پس از این کار دوباره می توانند به دامین بازگردد، دامین کنترلر شود و رول(ها) را به آن انتقال داد. در هر حال مصادره کردن آخرین راه است.