深入理解全局編錄服務器GC

概述:
   在Win2003AD域環境中,除了FSMO操作主機角色外,全局編錄服務器(GC)也是有着特殊含義的域控制器。通過GC,可以提高在活動目錄中搜索對象的速度,可以加快用戶登錄驗證等。
   簡單的說,GC是森林中所有對象的只讀調整緩衝存儲器( Read Only Cache),目錄只用於搜索。GC服務器存儲本域中所有對象的所有屬性,同時會存儲林中其它域中所有對象的部分屬性。一般來說,屬性是否存儲在GC中,取決於該屬性在搜索中使用的頻率,由系統自動進行決定。但AD架構管理員也可以定義對象的哪些屬性保存的GC中,同時決定該屬性是否可以進行索引。
   本文擬就與GC相關的內容一一闡述,希望能起拋磚引玉作用,與有興趣的朋友一起更好的瞭解和熟悉全局編錄服務器。
    GC出現的原因
    GC的作用
    查看當前環境中GC服務器
    提升DC爲全局編錄服務器
    驗證全局編錄服務器的提升
    驗證全局編錄服務器是否工作正常
    刪除全局編錄服務器
    使用AdsiEdit工具查看全局編錄服務器中的數據

 
一:GC出現的原因
    在Win2003活動目錄中有兩種目錄服務,分別是DNS以及LDAP,兩個目錄服務互爲補充。DNS的目的比較簡單,用於簡單快速的定位域控制器,但定位到具體的域控制器後,對活動目錄信息的更細緻訪問,如活動目錄中關於用戶,計算機,打印機等對象信息搜索,DNS就無能爲力。此時就需要通過LDAP服務來訪問。
   如果用戶知道某個對象處於哪個域,也知道對象的標識名,那麼用LDAP搜索對象就非常容易。但如果用戶只知道某個對象的某個屬性,根本不知道對象所處的域,也不知道該對象的標識名,那麼使用LDAP來搜索對象是一件非常困難的事,AD不得不對當前環境中每一個域的每個對象都搜索一遍。爲了解決這個問題,活動目錄提供了全局編錄服務器(GC,到Global Catalog)。GC中包含了當前林中每個域中所有對象的副本,如果在一次LDAP搜索中,涉及到搜索中多個域的名稱上下文時,AD會選擇搜索GC服務器,從而實現加快搜索速度,減少網絡通信量的目的。
 
二:GC的作用
    1:存儲對象信息副本,提高搜索性能
      全局編錄服務器中除了保存本域中所有對象的所有屬性外,還保存林中其它域所有對象的部分屬性,這樣就允許用戶通過全局編錄信息搜索林中所有域中對象的信息,而不用考慮數據存儲的位置。通過GC執行林中搜索時可獲得最大的速度併產生最小的網絡通信量。
    2:存儲通用組成員身份信息,幫助用戶構建訪問令牌
      全局組成員身份存儲在每個域中,但通用組成員身份只存儲在全局編錄服務器中。
      我們知道,用戶在登陸過程中需要由登錄的DC構建一個安全的訪問令牌,而要構建成功一個安全的訪問令牌由三方面信息組成:用戶SID,組SID,權力。其中用戶SID和用戶權力可以由登錄DC獲得,但對於獲取組SID信息時,需要確定該用戶屬不屬於通用組,而通用組信息只保存在GC中。所以當GC故障,負責構建安全訪問令牌的DC就無法聯繫GC來確認該用戶組的SID,也就無法構建一個安全的訪問令牌。
      注:在Win2003中,可以通過通用組緩存功能解決GC不在線無法登錄情況,具體操作本文略過。
   3:提供用戶UPN名稱登錄身份驗證。
      當執行身份驗證的域控制器沒有用戶UPN帳號信息時,將由GC解析用戶主機名稱(UPN)進行身份驗證,以完成登錄過程
   4:驗證林中其他域對象的參考
      當域控制器的某個對象的屬性包含有另一個域某個對象的參考時,將由全局編錄服務器來完成驗證。
 
三:查看當前環境中GC服務器
      1:通過“Active Directory 站點和服務”查看
       
         步驟:
              點擊“開始-設置-控制面板-管理工具-Active Directory站點和服務”:
              選中具體的“NTDS Setting"。
            
           
            選中"NTDS Setting",右鍵選擇“屬性”
           
            
            在彈出的“NTDS Setting 屬性”對話框中,有“全局編錄”複選框,如果選中,表示是一臺全局編錄服務器, 如果沒有選中,則表示當前的服務器不是全局編錄服務器。
          
 
       2:利用複製監視器Replmon查看
          複製監視器Replication Monitor(ReplMon)是針對Windows Server的故障查找工具,不但是定位活動目錄
          複製故障強有利的工具,同時也可以使用該工具查看和檢查操作主機角色狀態。
          詳細Replmon工具使用方法本文不做過多說明,這裏只列出如何使用Replmon工具GC角色。
          步驟:選中當前DC,右鍵單擊,選擇“Show Global Catalog Servers in Enterprise”
         
 
            在彈出窗口中,清楚列出當前林中所有的全局編錄服務器
           
 
        3:通過命令行方式查看全局編錄服務器
           在Supprot Tools和Resource Tools工具中,有多個命令行工具可以查看全局編錄服務器,這裏只列出兩個最常見的命令行工具
          
           使用dsquery命令查看當前域中的GC
           dsquery server -domain superlan.com -isgc
 

           使用nltest命令查看當前域中的GC
           nltest /dsgetdc:superlan.com
 
    四:提升DC爲全局編錄服務器
        將一臺域控制器提升爲全局編錄服務器操作很簡單,方法見通過“Active Directory 站點和服務”管理單元查看全局編錄服務器,
        將“全局編錄”複選框選中即可。
        注意:設置完成後,並不代表當前的全局編錄服務器已經提升完成,因爲全局編錄服務器中包含有多個域的所有對象,需要時間來進行全局編錄數據庫同步。
       
 

    五:驗證全局編錄服務器的提升
        通過提升DC爲全局編錄服務器操作,需要時間同步全局編錄服務器,同步完成後,全局編錄服務器纔開始真正運行。
        下面介紹如何查看全局編錄服務器是否已經開始工作。
        1:使用LDP工具查看當前DC的IsGlobalCatalogReady屬性
          LDP(LDAP瀏覽器工具)是一個輕量目錄訪問協議 (LDAP) 客戶端實用工具,可以用來查詢和瀏覽 LDAP目錄服務,詳細用法本文不做具體介紹,
          可以搜索相關的說明文檔或後期的Blog文章介紹。這裏只給出簡單的使用說明
          步驟:
               與LDAP目錄綁定
              “運行”,輸入“LDP”,打開LDP窗口後,選擇“Connection|Bind",打開Bind對話框,輸入身份憑證。
              
 
              單擊”OK“按鈕,LDP連接到”Superlan.Com"域控制器,顯示檢測結果,從下圖可以看出“IsGlobalCatalogReady"屬性爲True
             

        2:查看DNS管理工具查看GC記錄是否已更新到DNS中。
           從下圖可以看出當前哪個域控制器是GC,且使用的端口是多少,默認的GC使用端口是3268。
          
 

     六:驗證全局編錄服務器是否工作正常
         全局編錄服務器正確提升後,可以通過查看註冊表信息和端口狀態來查看
         全局編錄服務器是否工作正常。
         1:查看註冊表信息(HKLM\System\CurrentControlSet\Services\NTDS\Parameters)
           健值:Global Catalog Promotion Complete,值爲1,表示GC工作正常
             
         
 
         2:全局服務編錄器默認使用3268/3269端口,通過查看端口是否處於監聽狀態可以判斷GC是否工作正常
           使用netstat -an命令查看當前正在運行的端口,可以看到3268/3269端口已經處於正常監聽狀態
          
 
     七:刪除全局編錄服務器
         刪除全局編錄服務器方法請參見”四:提升全局編錄服務器“,將”全局編錄“複選框取消即可,此處略過。
           
     八:使用AdsiEdit工具查看全局編錄服務器中的數據
          因篇輻較長,擬定以獨立的文章介紹,見後續文章!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章