در Active Directory همه کنترلرهای دامین تقریباً برابرند؛ هر کدام میتوانند تغییرات را بپذیرند و به بقیه منتقل کنند. اما چند کار هست که اگر همزمان روی دو سرور انجام شود تداخل ایجاد میکند، مثل تغییر Schema یا اختصاص شناسههای یکتا. این کارها به نقشهای FSMO (Flexible Single Master Operations) سپرده شدهاند که هر کدام در هر لحظه فقط روی یک کنترلر دامین قرار دارد.
پنج نقش FSMO
در سطح جنگل (Forest)، یک نسخه برای کل جنگل:
- Schema Master: تنها جایی که Schema، یعنی تعریف انواع اشیا و ویژگیها، تغییر میکند؛ مثلاً هنگام نصب Exchange یا گسترش Schema برای LAPS.
- Domain Naming Master: افزودن و حذف دامینها در جنگل.
در سطح هر دامین:
- RID Master: به هر کنترلر دامین بستهای از شناسههای نسبی (RID) میدهد تا هر شیء جدید، مثل کاربر یا گروه، شناسه امنیتی یکتا بگیرد.
- PDC Emulator: مرجع زمان دامین، محل ثبت فوری تغییر رمزها، هماهنگکننده قفل حساب و مقصد پیشفرض ویرایش Group Policy. این نقش بیش از بقیه در کار روزمره حس میشود.
- Infrastructure Master: بهروز نگه داشتن ارجاع به اشیای دامینهای دیگر. در جنگل تکدامینی یا وقتی همه کنترلرها Global Catalog هستند، اهمیت عملی کمی دارد.
اگر صاحب یک نقش از دسترس خارج شود
از کار افتادن کوتاهمدت بیشتر نقشها فوراً حس نمیشود، اما:
- نبود PDC Emulator معمولاً زودتر از همه دیده میشود: ناهماهنگی در تغییر رمز و قفل حساب، و اختلاف تدریجی ساعت که اگر ادامه پیدا کند به خطای احراز هویت Kerberos میرسد.
- اگر RID Master در دسترس نباشد، هر کنترلر دامین تا وقتی بسته RID فعلیاش تمام نشده میتواند شیء جدید بسازد؛ پس از آن ساخت کاربر و گروه جدید ممکن نیست.
- بدون Schema Master و Domain Naming Master کار روزمره ادامه دارد، اما گسترش Schema یا تغییر ساختار جنگل انجام نمیشود.
پیدا کردن و انتقال نقشها
برای دیدن صاحب نقشها از netdom query fsmo یا در PowerShell از Get-ADDomain و Get-ADForest استفاده کنید.
انتقال (Transfer) زمانی انجام میشود که هر دو کنترلر دامین سالم و در دسترساند؛ مثلاً پیش از کنار گذاشتن سرور قدیمی. دستور نمونه:
Move-ADDirectoryServerOperationMasterRole -Identity DC02 -OperationMasterRole PDCEmulator,RIDMaster,InfrastructureMaster
نقشهای سطح جنگل را هم با افزودن SchemaMaster و DomainNamingMaster به همین دستور میتوان منتقل کرد. پیش از انتقال، سلامت Replication را با repadmin /replsummary بررسی کنید.
تصاحب (Seize)؛ فقط در شرایط اضطراری
اگر کنترلر دامینِ صاحب نقش برای همیشه از دست رفته، مثلاً سختافزارش نابود شده و بازگرداندنش ممکن نیست، نقش را روی کنترلر دیگری تصاحب کنید؛ همان دستور بالا با پارامتر -Force.
کنترلر دامینی که نقشش تصاحب شده، هرگز نباید دوباره به شبکه وصل شود؛ دو صاحب برای یک نقش، بهخصوص RID Master، میتواند Active Directory را دچار ناسازگاری جدی کند. پس از تصاحب، اطلاعات آن سرور را با Metadata Cleanup از دامین پاک کنید.
چیدمان و نگهداری
- در شرکتهای کوچک و متوسط، نگه داشتن همه نقشها روی یک کنترلر دامین پایدار رایج و قابلقبول است و مدیریت را سادهتر میکند.
- PDC Emulator ریشه زمان دامین است؛ آن را با یک منبع NTP معتبر همگام کنید، مثلاً با
w32tm /config /manualpeerlist:"pool.ntp.org" /syncfromflags:manual /reliable:yes /update. اگر این سرور ماشین مجازی است، تداخل همگامسازی زمان از میزبان مجازیسازی را هم بررسی کنید. - محل نقشها را مستند کنید و پس از هر انتقال، مستندات را بهروز کنید.
- همیشه دستکم یک بکاپ سالم و تستشده از کنترلرهای دامین داشته باشید.
چکلیست
- میدانید هر پنج نقش روی کدام کنترلر دامین است.
- PDC Emulator با منبع زمان معتبر همگام است.
- پیش از کنار گذاشتن هر کنترلر دامین، نقشهایش منتقل میشود.
- تفاوت انتقال و تصاحب برای تیم فنی روشن است.
- بکاپ کنترلرهای دامین سالم و تستشده است.
کارشناسان ITPlus724 میتوانند وضعیت نقشهای FSMO و سلامت کنترلرهای دامین شما را بررسی کنند و انتقال یا بازیابی آنها را با برنامه و کمترین ریسک انجام دهند.