AD五角色詳述

單主複製:所謂的單主複製就是指從一個地方向其它地方進行復制,這個主要是用於以前的NT4域,我們知道,在NT4域的年代,域網絡上區分PDC和BDC,所有的複製都是從PDC到BDC上進行的,因爲NT4域用的是這種複製機構,所以要在網絡上進行對域的修改就必須在PDC上進行,在BDC上進行是無效的。如果你的網絡較小的話,那麼這種機構的缺點不能完全的體現,但是如果是一個跨城區的網絡,比如你的PDC在上海,而BDC在北京的話,那麼你的網絡修改就會顯得非常的麻煩。

 

  多主複製:多主複製是相對於單主複製而言的,它是指所有的域控制器之間進行相互複製,主要是爲了彌補單主複製的缺陷,微軟從Windows 2000域開始,不再在網絡上區分PDC和BDC,所有的域控制器處於一種等價的地位,在任意一臺域控制器上的修改,都會被複制到其它的域控制器上。

 

  既然Windows 2000域中的域控制器都是等價的,那麼這些域控制器的作用是什麼呢?在Windows 2000域中的域控制器的作用不取決於它是網絡中的第幾臺域控制器,而取決於FSMO五種角色在網絡中的分佈情況,現在開始進入正題,FSMO有五種角色,分成兩大類:

 

  1、 森林級別(即一個森林只存在一臺DC有這個角色):

 

  (1)、Schema Master中文翻譯成:架構主控

 

  (2)、Domain Naming Master中文翻譯成:域命名主控

 

  2、 域級別(即一個域裏面只存一臺DC有這個角色):

 

  (1)、PDC Emulator 中文翻譯成:PDC仿真器

 

  (2)、RID Master 中文翻譯成:RID主控

 

  (3)、Infrastructure Master 中文翻譯成:基礎架構主控

 

 

 

  一、接下來就來說明一下這五種角色空間有什麼作用:

 

  1、 Schema Maste

 

  用是修改活動目錄的源數據。我們知道在活動目錄裏存在着各種各樣的對像,比如用戶、計算機、打印機等,這些對像有一系列的屬性,活動目錄本身就是一個數據庫,對像和屬性之間就好像表格一樣存在着對應關係,那麼這些對像和屬性之間的關係是由誰來定義的,就是Schema Maste,如果大家部署過Excahnge的話,就會知道Schema是可以被擴展的,但需要大家注意的是,擴展Schema一定是在Schema Maste進行擴展的,在其它域控制器上或成員服務器上執行擴展程序,實際上是通過網絡把數據傳送到Schema上然後再在Schema Maste上進行擴展的,要擴展Schema就必須具有Schema Admins組的權限纔可以。

 

  2、 建議:在佔有Schema Maste的域控制器上不需要高性能,因爲我們不是經常對Schema進行操作的,除非是經常會對Schema進行擴展,不過這種情況非常的少,但我們必須保證可用性,否則在安裝Exchnage或LCS之類的軟件時會出錯。

 

  3、 Domain Naming Master

 

這也是一個森林級別的角色,它的主要作用是管理森林中域的添加或者刪除。如果你要在你現有森林中添加一個域或者刪除一個域的話,那麼就必須要和Domain Naming Master進行聯繫,如果Domain Naming Master處於Down機狀態的話,你的添加和刪除操作那上肯定會失敗的。

 

  4、 建議:對佔有Domain Naming Master的域控制器同樣不需要高性能,我想沒有一個網絡管理員會經常在森林裏添加或者刪除域吧?當然高可用性是有必要的,否則就沒有辦法添加刪除森裏的域了。

 

  5、 PDC Emulator

 

  在前面已經提過了,Windows 2000域開始,不再區分PDC還是BDC,但實際上有些操作則必須要由PDC來完成,那麼這些操作在Windows 2000域裏面怎麼辦呢?那就由PDC Emulator來完成,主要是以下操作:

 

  ⑴、處理密碼驗證要求;

 

  在默認情況下,Windows 2000域裏的所有DC會每5分鐘複製一次,但有一些情況是例外的,比如密碼的修改,一般情況下,一旦密碼被修改,會先被複制到PDC Emulator,然後由PDC Emulator觸發一個即時更新,以保證密碼的實時性,當然,實際上由於網絡複製也是需要時間的,所以還是會存在一定的時間差,至於這個時間差是多少,則取決於你的網絡規模和線路情況。

 

  ⑵、統一域內的時間;

 

  微軟活動目錄是用Kerberos協議來進行身份認證的,在默認情況下,驗證方與被驗證方之間的時間差不能超過5分鐘,否則會被拒絕通過,微軟這種設計主要是用來防止回放式***。所以在域內的時間必須是統一的,這個統一時間的工作就是由PDC Emulator來完成的。

 

  ⑶、向域內的NT4 BDC提供複製數據源;

 

  對於一些新建的網絡,不大會存在Windows 2000域裏包含NT4的BDC的現象,但是對於一些從NT4升級而來的Windows 2000域卻很可能存有這種情況,這種情況下要向NT4 BDC複製,就需要PDC Emulator。

 

  ⑷、統一修改組策略的模板;

 

  ⑸、對Winodws 2000以前的操作系統,如WIN98之類的計算機提供支持;

 

  對於Windows 2000之前的操作系統,它們會認爲自己加入的是NT4域,所以當這些機器加入到Windows 2000域時,它們會嘗試聯繫PDC,而實際上PDC已經不存在了,所以PDC Emulator就會成爲它們的聯繫對象!

 

  建議:從上面的介紹裏大家應該看出來了,PDC Emulator是FSMO五種角色裏任務最重的,所以對於佔用PDC Emulator的域控制器要保證高性能和高可用性。

 

 4、RID Master

 

  在Windows 2000的安全子系統中,用戶的標識不取決於用戶名,雖然我們在一些權限設置時用的是用戶名,但實際上取決於安全主體SID,所以當兩個用戶的SID一樣的時候,儘管他們的用戶名可能不一樣,但Windows的安全子系統中會把他們認爲是同一個用戶,這樣就會產生安全問題。而在域內的用戶安全SID=Domain SID+RID,那麼如何避免這種情況?這就需要用到RID Master,RID Master的作用是:分配可用RID池給域內的DC和防止安全主體的SID重複。

 

  建議:對於佔有RID Master的域控制器,其實也沒有必要一定要求高性能,因爲我們很少會經常性的利用批處理或腳本向活動目錄添加大量的用戶。這個請大家視實際情況而定了,當然高可用性是必不可少的,否則就沒有辦法添加用戶了。

 

  5、 Infrastructure Master

 

  FSMO的五種角色中最無關緊要的可能就是這個角色了,它的主要作用就是用來更新組的成員列表,因爲在活動目錄中很有可能有一些用戶從一個OU轉移到另外一個OU,那麼用戶的DN名就發生變化,這時其它域對於這個用戶引用也要發生變化。這種變化就是由Infrastructure Master來完成的。

 

建議:其實在活動目錄森林裏僅僅只有一個域或者森林裏所有的域控制器都是GC(全局編錄)的情況下,Infrastructure Master根本不起作用,所以一般情況下對於佔有Infrastructure Master的域控制器往忽略性能和可能性。

 

  二、在說完FSMO五種角色的作用以後,我們如何知道這五種角色在網絡中的分佈情況呢?

 

  對於新建的網絡,這五種角色都集中在森林中的第一臺域控制器上,但是如果是別人已經建好的網絡,比如我們去接手一些網絡的時候,很可能這五種角色已經被轉移到其它的域控制器上了。這時我們可以通過三種方法來知道,分別是GUI介面,命令行及腳本:

 

  1、 GUI介面:

 

  GUI介面下不能一次性獲得五種角色的分佈,

 

  ⑴、Schema Maste

 

  點擊“開始-運行”,輸入:“regsvr32 schmmgmt”,回車:

 

然後點擊“確定”。

 

 

  再點擊“開始-運行”,輸入:“MMC”,回車,進入控制檯,.

 

 

 

  出來下面的介面:

 

再點擊“添加”:

 

選中上圖所示中有“Active Directory架構”,點擊“添加”,然後點“關閉”:

然後點擊“確定”,在控制檯上選中“Active Directory架構”擊“右鍵”,選擇“操作主機”

 

 

出現下圖:

就可以看到當前的架構主控了。

 

⑵、RID Master、Infrastructure Master、PDC Emulator

 

  點擊“開始-設置-控制面板-管理工具-Active Directory用戶和計算機”

 

 

 

  在域名上單擊右鍵:

 

在出來的菜單中選擇“操作主機”:

在出來的畫面中可以看到RID Master、PDC Emulator、Infrastructure Master的分佈情況。

 

 

 

  ⑶、Domain Naming Master

 

  點擊“開始-設置-控制面板-管理工具-Active Directory域和信任關係”:

 

 

 

  在“Active Directory域和信任關係”上擊右鍵:

 

 

 

  選擇“操作主機”:

 

 

 

  這就是“Domain Naming Master”所在的域控制器。

 

 

 

  以上就是用GUI來查看FSMO五種角色的分佈情況,用GUI介面不但可以查看,還可以隨意的改變這五種角色的分佈情況,但缺點是比較麻煩,需要較多的操作項目,如果僅僅是查看就比較的浪費時間。

2、 命令行工具:

 

  首先你要安裝Support Tools,在安裝光盤中的Support文件夾下的Tools子文件下。默認安裝在系統盤的Program Files文件下。安裝成功後,點擊“開始-程序-Windows Support Tools-Command Prompt”:

 

 

 

  然後運行“netdom”命令,在這裏,運行的是:“netdom query fsmo”:

 

 

 

  看到了吧,馬上把當前域裏的FSMO五種角色所在的域控制器羅列了出來。

 

  3、 腳本。

 

  在這裏,我給大家一段腳本:

 

  Set objRootDSE = GetObject("LDAP://rootDSE"

 

  Dim text

 

  ' Schema Master

 

  Set objSchema = GetObject("LDAP://" & objRootDSE.Get("schemaNamingContext")

 

  strSchemaMaster = objSchema.Get("fSMORoleOwner"

 

  Set objNtds = GetObject("LDAP://" & strSchemaMaster)

 

  Set objComputer = GetObject(objNtds.Parent)

 

  text="Forest-wide Schema Master FSMO: " & objComputer.Name & vbCrLf

 

  Set objNtds = Nothing

 

  Set objComputer = Nothing

 

  ' Domain Naming Master

 

  Set objPartitions = GetObject("LDAP://CN=Partitions," & _

 

  objRootDSE.Get("configurationNamingContext")

 

  strDomainNamingMaster = objPartitions.Get("fSMORoleOwner"

 

  Set objNtds = GetObject("LDAP://" & strDomainNamingMaster)

 

  Set objComputer = GetObject(objNtds.Parent)

text=text&"Forest-wide Domain Naming Master FSMO: " & objComputer.Name & vbCrLf

 

  Set objNtds = Nothing

 

  Set objComputer = Nothing

 

  ' PDC Emulator

 

  Set objDomain = GetObject("LDAP://" & objRootDSE.Get("defaultNamingContext")

 

  strPdcEmulator = objDomain.Get("fSMORoleOwner"

 

  Set objNtds = GetObject("LDAP://" & strPdcEmulator)

 

  Set objComputer = GetObject(objNtds.Parent)

 

  text=text&"Domain's PDC Emulator FSMO: " & objComputer.Name & vbCrLf

 

  Set objNtds = Nothing

 

  Set objComputer = Nothing

 

  ' RID Master

 

  Set objRidManager = GetObject("LDAP://CN=RID Manager$,CN=System," & _

 

  objRootDSE.Get("defaultNamingContext")

 

  strRidMaster = objRidManager.Get("fSMORoleOwner"

 

  Set objNtds = GetObject("LDAP://" & strRidMaster)

 

  Set objComputer = GetObject(objNtds.Parent)

 

  text=text&"Domain's RID Master FSMO: " & objComputer.Name & vbCrLf

 

  Set objNtds = Nothing

   Set objComputer = Nothing

 

  ' Infrastructure Master

 

  Set objInfrastructure = GetObject("LDAP://CN=Infrastructure," & _

 

  objRootDSE.Get("defaultNamingContext")

 

  strInfrastructureMaster = objInfrastructure.Get("fSMORoleOwner"

 

  Set objNtds = GetObject("LDAP://" & strInfrastructureMaster)

 

  Set objComputer = GetObject(objNtds.Parent)

 

  text=text&"Domain's Infrastructure Master FSMO: " & objComputer.Name & vbCrLf

 

  WScript.Echo text

 

  大家把以上內容複製到記事本,保存爲fsmo.vbs,然後到域裏的計算機上運行,就可以得到如下畫面:

 

 

 

  也看到了吧!!!

三、最後來看一下FSMO的規劃,在規劃時,請大家按以下原則進行:

 

  1、佔有Domain Naming Master角色的域控制器必須同時也是GC;

 

  2、不能把Infrastructure Master和GC放在同一臺DC上;

 

  3、建議將Schema Master和Domain Naming Master放在森林根域的GC服務器上;

 

  4、建議將Schema Master和Domain Naming Master放在同一臺域控制器上;

 

  5、建議將PDC Emulator、RID Master及Infrastructure Master放在同一臺性能較好的域控制器上;

 

  6、儘量不要把PDC Emulator、RID Master及Infrastructure Master放置在GC服務器上.


轉自:http://blog.csdn.net/xuhuojun/article/details/2102306

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章