فاطمه قرباوی
کارشناس شبکه و مجازی سازی

FSMO چیست؟ معرفی Operation Master Roles و نحوه انتقال آنها

فیزمو | FSMO یا Operation Master در اکتیودایرکتوری چه هستند و چگونه آنها را مدیریت کنیم؟ در این مقاله از میان بیشمار موضوع مهم،زیبا و دوست داشتنی موجود در شبکه و اکتیودایرکتوری، FSMO ها را برای نوشتن انتخاب کرده ام.FSMO که مخفف Flexible Single Master Operations میباشد ، از نقش هایی تشکیل شده است که در بردارنده برخی وظایف مهم و اساسی در اکتیودایرکتوری میباشد . لازم به ذکر است که جناب مهندس نصیری در مورد FSMO ها ، این اجزای حیاتی در اکتیو دایرکتوری در مقاله زیر صحبت کرده اند:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

بنده در این مقاله قصد دارم وارد بحث عملی FSMO ها شده و نحوه ی دیدن و منتقل کردن آنها در اکتیودایرکتوری را به خدمت شما دوستان عزیز ارائه دهم.قبل از آن به طور مختصر به معرفی عملکردشان خواهم پرداخت.FSMO ها در بردارنده 5 نقش در اکتیودایرکتوری میباشد که 3 تای آنها Per Domain و 2 تای آنها Per Forest میباشند:

 Per Domain:

 PDC Emulator
 Relative ID Master
Infrastructure Master

 Per Forest:

Schema Master
Domain Naming Master 
 

(PDC Emulator (Primary Domain Controller Emulator چیست؟

این نقش که در سال 2000 معرفی شد و در ویندوز NT دارای نقش اساسی بود. اما امروزه در کار نبودن ویندوز NT به معنای از کار افتادن PDC Emulator نمی باشد.اتفاقا این نقش یکی از نقش های اساسی در دامین مطرح میشود که نبود یا از کار افتادن آن می تواند آسیب های جبران ناپذیری در اکتیو دایرکتوری را ایجاد کند.از وظایفی که این رفیق دوست داشتنی اکتیو دایرکتوری بر عهده دارد عبارت است از:

  • PDC Emulater وظیفه ی Synchronize کردن زمان در اکتیو دایرکتوری را برعهده دارد.به عبارتی PDC Emulator ، root time سرور محسوب میشود که زمان کلیه کامپیوتر های فارست ( که از سیستم عامل ویندوز استفاده میکنند ) را یکسان میکندو اگر نباشد یا به درستی کار نکند پروتکل Kerberos نمی تواند عملیات احراز هویت را به درستی انجام دهد و در نهایت کاربران نمی توانند به شبکه و دامین لاگین کنند.
  • کلیه پالسی های اعمال شده در گروپ پالسی دامین را در سطح فارست replicate میکند.زمانیکه یک GPO ساخته میشود در پوشه sysvol قرار میگیرد و این پوشه محتویات خود را با PDC Emulator به اشتراک میگذارد.از اینرو به محض اینکه در یکی از دامینهای فارست GPO ایی ساخته شود و یا تغییراتی در آن اعمال شود،کلیه اطلاعات آن در اختیار PDC قرار میگیرد و PDC آن را با دیگر دامینهای سطح فارست Replicate میکند.در نهایت در صورت عدم کارکردن یا نبود این رول،دامینهای سطح فارست از حال و تغییرات یکدیگر بی اطلاع میمانند.
  • مدیریت پسوردها و مسئولیت account lockout ها بر عهده PDC Emulatorاست . در صورت عوض شدن پسوردها ،آنها را در سطح فارست replicate میکند و بررسی میکند که پالسی های مربوط به account lockout اعمال میشود یا خیر.
  • وظیفه ی برقراری هماهنگی در میان تراستهای خارجی یا external trust را برعهده دارد.
  • ثبات و سازگاری DFS را بررسی و چک میکند.

همانطور که ملاحظه کردید این رول نقش بسزایی در فارست ایفا میکند،از اینرو دامینی که این رول یا نقش را در بر دارد بسیار حائز اهمیت میباشد.

Relative ID Master چیست؟

کلیه ی آبجکتهایی که در سطح اکتیودایرکتوری تولید میشوند بر اساس SID یا Security Identifier در سطح دامین فعالیت میکنند. SID یک شناسه س منحصر به فرد هست که هر آبجکت در سطح دامین یا فارست با استفاده از این شناسه س منحصر به فرد شناسایی و در نهایت فعالیت میکند.درست مانند شماره ملی افراد در جامعه.به صورت کلی این شناسه های منحصر بفرد در دو سطح تعریف میشوند:یکی در سطح دامین و دیگری در سطح جهان.به شناسه ی منحصر بفرد در سطح دامین SID و به شناسه ی منحصر بفرد در سطح جهان GUID یا Global Unique Identifier میگویند.

خوب بدیهی است که در هر دامین یک نفر باید مسئولیت ایجاد این SID ها را برعهده بگیرد.چرا که کلیه ی تنظیمات امنیتی و غیر امنیتی در سطح دامین یا فارست بر روی این SID ها اعمال میشود،در صورت ایجاد خلل یا مشکلی در تولید SID ها یا یکسان بودن آنها ممکن است دردسرهای بزرگی ایجاد شود ( تصور کنید که 2 نفر دارای کد ملی مشترک باشند،در این صورت کلیه ی اسناد آنها در هر اداره یا سازمانی دچار میکل خواهد شد ! ). RID Master مدیریت و مسئولیت SID ها در سطح دامین را برعهده گرفته است.این نقش (در طول حیات شرافتمندانه خویش ! ) SID تولید میکند و در اختیار دامین قرار میدهد تا در صورت ایجاد آبجکتهای جدید،مشکلی ایجاد نشود یا تشابه SID ی در سطح دامین نداشته باشیم.

Infrastructure Master چیست؟

این رول ساختار دامین را در بر دارد و در صورت ایجاد هر گونه تغییری در سطح دامین ،این تغییرات را به کلیه ی دامینهای سطح فارت اطلاع رسانی میکند.به عنوان مثال ایجاد،یا حذف یکی از دامینها از طریق این رول به اطلاع دیگر دامینها خواهد رسید.

Schema Master چیست؟

حتما تا به حال بر روی اجزا و آبجکتهای ( user,computer,OU,…. ) راست کلیک کرده اید.بعد از راست کلیک پنجره ای برای شما باز خواهد شد که دارای چندین تب میباشد.این پنجره به همراه کلیه ی تب هایش از یک ساختار کلی پیروی میکنند که با ایجاد هر آبجکت در اکتیو دایرکتوری ، به آن ساختار مراجعه شده و پنجره و تب های تعریف شده متناسب با آن آبجکت ،برایش ایجاد میشود.این ساختار چیزی نیست جز schema master...

در کل ساختار فارست یک schema master بیشتر وجود ندارد.ساختار schema ساختار ثابت و تغییر ناپذیری نیست و با نصب برخی نرم افزارها یا سرورها در سطح دامین یا فارست،این ساختار تغییر خواهد کرد.در صورت ایجاد تغییر در ساختار schema master این رول تغییرات را در سطح فارست replicate میکند.این رول در ریشه ی فارست ( اولین دامینی که در سطح فارست ایجاد میشود ) قرار دارد.

Domain Naming Master  چیست؟

تنظیمات مربوط به اسمی دامینها را در سطح فارست را کنترل و در صورت ایجاد child Domain یا additional Domain و یا RODC Domain ، اسامی آنها را مدیریت و در سطح فارست replicate میکند.

FSMO ها در کجا قرار گرفته اند؟ چگونه FSMO را ببینیم؟

خوب در اینجا این سوال برایتان به وجود می آید که از کجا باید فهمید که کدام رولها در کدام سرورها قرار گرفته اند؟! همانطور که در بالا اشاره کردم،سه نقش اول در سطح دامین تعریف میشوند یعنی به ازای هر دامین ما باید سه نقش اول را داشته باشیم،اما دو نقش آخر در سطح فارست وجود دارند .برای مشاهده سه نقش اول یعنی PDC Emulator ،RID Master و Insrastrucure Master مسیر زیر را دنبال کنید:

در Run عبارت زیر را تایپ کنید تا وارد کنسول Active Directory Users and Computers شوید:


وب سایت توسینسو
وب سایت توسینسو

بر روی دامین کنترلر مورد نظر راست کلیک کرده و گزینه ی Operations Masters را انتخاب کنید:

وب سایت توسینسو


در این پنجره می توانید سه روز اول یا رولهای در سطح دامین را مشاهده کنید:

وب سایت توسینسو

نحوه ی مشاهده رولهای در سطح فارست

Domain Naming Master: در Run عبارت زیر را وارد کنید تا وارد کنسول Active Directory Domains and Trusts شوید:

وب سایت توسینسو
وب سایت توسینسو

بر روی Active Directory Domians and Trusts راست کلیک کنید و گزینه ی Operation Master را انتخاب کنید:

وب سایت توسینسو
وب سایت توسینسو

Schema Master: مشاهده و پیدا کردن این رول نسبت به 2 رول قبلی دردسر بیشتری دارد، در ابتدا باید عبارت زیر را در Run وارد کنید تا این رول ریجیستر شود :


وب سایت توسینسو
وب سایت توسینسو

سپس مجددا در Run عبارت MMC را وارد کنید:


وب سایت توسینسو
وب سایت توسینسو

بر روی فایل کلیک کرده و گزینه ی Add or Remove Snap-ins را انتخاب کنید:


وب سایت توسینسو
وب سایت توسینسو


سپس در کنسول باز شده بر روی Active Directory Schema راست کلیک کنید و گزینه ی Change Active Directory Domain Controller را انتخاب کنید:


وب سایت توسینسو

برای دیدن Schema Master گزینه ی This Domian Controller or AD LDS instance را انتخاب کنید:


وب سایت توسینسو
وب سایت توسینسو

بر روی Active Directory Schema راست کلیک کرده و گزینه ی Operations Master را انتخاب کنید:

وب سایت توسینسو


و در نهایت در پنجره ی باز شده رول مورد نظر را میتوانید مشاهده کنید:

وب سایت توسینسو


در ادامه قصد دارم به نحوه ی انتقال FSMO ها از دومین یا سروری که بر روی آن قرار دارند به دومین یا سروری دیگر بپردازم و توضیح دهم که در صورتی که دومین حاوی FSMO ها ،Fail شود به چه صورت میتوانیم آنها را بر روی سروری دیگر بازگردانی و به عبارتی زنده کنیم . برای توضیح موارد فوق و تفهیم هرچه بهتر آن به شما دوستان عزیزم،سناریویی طراحی کرده ام:

در این سناریو فرض کنید در مجموعه ای که مشغول هستید دو سرور وجو دارد:یک سرور اصلی یا PDC و یک سرور ثانویه دیگر با عنوان SDC که حاوی دومین کنترلر Additional میباشد.کلیه ی FSMO های بر روی سرور اصلی قرار دارد.در قسمت اول سناریو نحوه ی انتقال FSMO ها از سرور اصلی به ثانویه رو مورد بررسی قرار میدهم و در قسمت دوم فرض را براین میگزاریم که دومین کنترلر اصلی از کار می افتد یا سرور آن دچار مشکل میشود و ما باید FSMO ها را بر روی یک سرور دیگر زنده یا تعریف کنیم تا اکتیودایرکتوری بقای عمر دوباره خود را بازیابد !

نحوه ی انتقال FSMO ها از یک سرور یا دومین به سرور یا دومین دیگر

همانطور که در قسمت قبل بررسی کردیم ،به صورت کلی ما 5 رول داریم که 3 تای آنها Per Domian و 2 تای آنها Per Forest میباشند.نحوه ی مشاهده ی 5 رول را به شما دوستان در قسمت قبلی نشان دادم.حال میخواهیم FSMO ها را از سرور اصلی ( PDC ) به سرور ثانویه (SDC ) منتقل کنیم .برای انتقال FSMO ها از یک سرور به سروری دیگر 3 راه پیش رو دارید:

  • روش اول:

راه اول این است که در سرور ثانویه و دومین ادیشنال لاگین کنید و مراحل لازم برای دیدن FSMO ها را دنبال کنید،سپس در پنجره ی زیر بر روی change کلیک کنیدو سپس گزینه ی yes را نتخاب کنید:

وب سایت توسینسو
وب سایت توسینسو
وب سایت توسینسو

و در نهایت رول مورد نظر بر روی دومین کنترلر ثانویه قرار میگیرد:

وب سایت توسینسو


و بدین ترتیب همین کار را برای دیگر رولها انجام خواهید داد.فقط برای دیدن رول Schema Master فراموش نکنید که ابتدا باید آن را ریجستر و سپس منتقل کرد.

  • روش دوم:

در روش دوم برای انتقال FSMO ها ، در سرور اولیه یا همان دومین کنترلی که رولها بر روی آن قرار دارند ،لاگین کرده و در کنسول Active Directory Users and Computers بر روی دومین کنترلر اصلی راست کلیک کرده و گزینه Change Domain Controller رو انتخاب کنید و سپس دومین کنترلی که میخواهید رولها بر روی منتقل شود را انتخاب میکنید:


وب سایت توسینسو
وب سایت توسینسو

هم اکنون بر روی دومین کنترلر ثانویه قرار دارید:

وب سایت توسینسو


حال روند همیشگی برای مشاهده FSMO های Per Domian را دنبال میکنیم،یعنی راست کلیک بر روی دومین کنترلر و انتخاب گزینه operation master :


وب سایت توسینسو

حال کافی است برای انتقال FSMO ها از PDC.ITPRO به SDC.ITPRO بر روی گزینه change کلیک کنیدو سپس گزینه Yes را انتخاب کنید:


وب سایت توسینسو
وب سایت توسینسو
وب سایت توسینسو
وب سایت توسینسو


همینکار را برای دو رول دیگر نیز انجام دهید.در مورد Domain Naming Master نیز روند کار بهمین صورت است ( همانطور که میدانید برای مشاهده این رول باید به کنسول Active Directory Domains and Trusts مراجعه کنیدو برای مشاهده رول Schma Master ابتدا باید آن را ریجستر کرد و سپس بعد از مشاهده آن، همین مراحل را برای آن نیز هم دنبال کرد.

  • روش سوم:

راه سوو و راه آخر استفاده از Command Line میباشد. برای اینکار از دستورات زیر به ترتیب باید پیروی کرد:

1-	Ntdsutil
2-	Roles
3-	Connections
4-	Conect to server “domain controller”

به جای domain controller نام دومین کنترلی رو مینویسیم که میخواهیم رولها را به روی آن منتقل کنیم که در سناریو ی ما این دومین کنترلر SDC میباشد.

5-	Quit
6-	Transfer domain naming master
7-	Transfer PDC
8-	Transfer infrastructure master
9-	Transfer schema master

و بدین ترتیب میتوانید کلیه رولها را به دومین کنترلر مورد نظرتان منتقل کنید.

نحوه ی Seize کردن FSMO ها

حال به سراغ قسمت دوم سناریو ی خود میرویم.فرض کنید سرور حاوی کلیه رولهای FSMO ها بسوزد یا به دلیل برخی مشکلات دومین کنترلر آن از بین برود.در همچین مواردی شما با عکس زیر مواجه خواهید شد و به عنوان ادمین ممکن است دو دسته بر سر خود بزنید چرا که قطعا اکتیودایرکتوری شما نیز دچار مشکل شده است( البته در مواردی هم میتوان دستها را به روی آسمان بلند کرد :d )

وب سایت توسینسو

خوب نگران نباشید در اینجا ادمینی که کار خود را خیلی خوب بلد است نه دو دسته بر سر خود میکوبد و نه اینکه دستهایش ره رو به آسمان بلند میکند،بلکه در این موارد آستینهای خود را بالا میزند و شروع به انجام عملیات Seize میکند.

با استفاده از فرمان Seize شما میتوانید کلیه FSMO ها را از سرور سوخته ی خود دوباره تعریف کنید . برای انجام این عملیات دستورات زیر را باید در Command Line به ترتیب اجرا کرد : ( دقت داشته باشید که این فرآیند ،فرآیند حساسی است و در صورتی که به درستی دنبال نشود مشکلتان دو چندان خواهد شد ! )

  • نکته: دقت داشته باشید که در فرآیند Seize کردن ،به جای رول PDC Emulator باید نوشته شود PDC و در ویندوز سرور 2008 و 2008 R2 به جای Domain Naming Master باید Naming Master نوشته شود . جدول زیر راهنمای خوبی میباشد:
وب سایت توسینسو

و حال فرآیند Seize کردن به صورت زیر میباشد، در command prompt بعد از تایپ cmd ، فرمانهای زیر را به ترتیب اجرا کنید:

1-	NTDSUTIL
2-	Roles
3-	Connections
4-	Connect to server” servername”
5-	Quit
6-	Seize PDC
7-	Seize RID master
8-	Seize infrastructure master
9-	Seize schema master
10-	Seize naming master
11-	Quit
12-	Quit

در زیر این فرآیند را به صورت عملی انجام گرفته شده است:

وب سایت توسینسو
وب سایت توسینسو
وب سایت توسینسو
وب سایت توسینسو
وب سایت توسینسو

و بدین ترتیب کلیه رولها از سرور سوخته به سروری دیگر منتقل میشود .فراموش نکنید که یک ادمین موفق همیشه احتمال اتفاقات پیش بینی نشده را میدهد از اینرو همواره خود را آماده حل هر مشکلی در شبکه می دارد ، به همین دلیل هیچگاه Back up گرفتن از سرورو اکتیودایرکتوری در بازه های زمانی مناسب را فراموش نمیکن.

  • فیزمو | FSMO یا Operations Masters چه هستند؟

    فیزمو یا FSMO نه فایل است و نه اطلاعات ، بلکه یک سمت یا یک Role در اکتیودایرکتوری است که وظیفه انجام یک سری اعمال مدیریتی بر روی داده ها را بر عهده دارد ، برای مثال مدیریت زمان اکتیودایرکتوری و کلاینت ها یا ساختار Object ها و ... این Role ها حذف نمی شوند ، ممکن است از بین بروند اما قابل ساختن هستند و هیچ دیتای درون آنها وجود ندارد.

فاطمه قرباوی
فاطمه قرباوی

کارشناس شبکه و مجازی سازی

کارشناس شبکه و مدیریت شبکه های مایکروسافتی ، دارای مدارک MCITP ، CCNA و VCP و علاقمند به مجازی سازی و توسعه شبکه های مجازی مبتنی بر VMware می باشم .

نظرات