域控之間的相互復制,包括目錄服務復制(主要指AD數據庫,包括復制用戶和計算機等)和文件復制服務(例如登錄腳本和組策略等),提高了系統的可用性。但是由此也會帶來一些問題。
對于前者的復制來說,使用Active Directory Replication Monitor這一工具,可以以圖形化的方式檢查AD復制的拓撲結構,檢查復制過程中出現的一些問題,以及執行強制復制等操作。使用REPADMIN這一命令行工具,可以診斷域控之間的復制故障,確認復制伙伴和AD對象復制來源,執行強制復制等操作。
對于后者的復制來說,可以使用NTFRSUTL這一工具,來檢查文件復制的服務狀態,檢查復制日程安排,強制輪訓,檢查復制集等。
經常遇到的和復制有關的故障有很多,例如拒絕訪問,這可能是某個環節的網絡故障、時鐘不同步等原因造成。因為DNS查找故障導致DSA操作失敗,這可能和域控上的DNS服務沒有存在正確的SRV記錄造成的。
對于不顯示任何復制鏈接或者復制被排隊、復制訪問被拒絕或者提示刪除名稱上下文、站點之間存在多個重復的連接對象、多個域控應用的組策略不一致、目錄服務繁忙導致復制操作無法完成等故障來說,如果多站點的結構,可能需要等待一段時間再進行觀察。如果長時間無法自動解決問題,就說明AD數據庫自身的問題了。
復制的故障從原理上分析,大體上是由于網絡故障或者DNS故障,造成無法確定對方的位置。另外在進行操作時,在等待復制完成過程中,因為各種并發的操作,相互之間會造成影響。
在復制時,并非一股腦將所有的數據全部復制過去,而是每次復制一部分,因此必須等待上一步完成后才可以執行下一步的操作。因為AD數據庫中內容異常,錯誤的復制拓撲結構等底層的原因,也會造成復制出現問題。
打開Active Directory站點和服務窗口,在其中顯示站點的結構信息,可以查看所有的域控制器。在同一個站點內,系統會自動生成域復制的拓撲結構,在域控之間生成一個通道。
在對應域控的復制鏈接項的右鍵菜單上點擊“立即復制副本”項,來執行強制復制操作。如果沒有出現“Active Directory已復制了連接”之類的信息,說明復制出現了問題。
執行“replmon”命令,打開復制監視器窗口,相比Active Directory站點和服務程序,該工具可以提供更加詳細的信息。在左側的“Monited Servers”項的右鍵菜單上點擊“Add Monited Server”項,在向導界面中選擇“Switch for directory find server is add”項,選擇域名后,在下一步窗口中添加需要監控的所有域控。在左側顯示已經添加的域控,其下包括域內數據、配置信息、架構數據、DNS配置信息等。對于全局編錄服務器來說,會顯示特殊的圖標。在目標域控的右鍵菜單上點擊“Check Replication Topology”項,來檢測復制拓撲結構,并強制建立復制通道。
等待一段時間后,選擇上述菜單中的“Show Replication Topologies”項,在打開窗口中顯示所有的域控以及彼此之間的復制連接。
例如,選擇某臺域控,在右鍵菜單上點擊“Show InterSite Connection” 項,顯示站點內的連接情況。當存在多臺域控時,可以通過拓撲圖來發現存在的問題。
對于多站點來說,可以在站點之間顯示不同域控的連接信息。在某臺域控的右鍵菜單上點擊“Properties”項,在屬性窗口中的“FSMO Roles”面板中顯示操作主機角色信息,在不同角色的右側點擊“Query”按鈕,可以檢測其功能是否正常。在“Inbound Replication Connections”面板中顯示復制連接對象信息。當出現復制失敗的情況后,可以采取縮小復制范圍的方法進行排查。
例如,在左側選擇某臺域控節點下的某個分區項目,在右鍵菜單上點擊“Synchronize with this Replication Partner” 項,使其和復制伙伴進行同步,來檢測復制是否成功。選擇某個分區項,在右鍵菜單上點擊“Check Current USN and Un-replicated Objects”項,顯示更新序列號信息,在不同的域控上,如果相同的分區其USN存在差異,說明其內容存在一些不同。
如果兩者的USN差異很大,說明在很長時間內沒有進行同步。如果目標域控的USN和當前域控的相同或者較低,就不會向其復制數據,同時,在右側窗口中會顯示相關的錯誤信息。
通過復制監視器,可以發現各種問題,如哪些域控之間在進行復制、哪些復制操作失敗、哪些內容沒有被成功復制等。在命令行下執行“dsastat”命令,可以檢查目錄服務的狀態信息。該命令提供了一些有用的參數,例如執行“dsastat -s dc1 dc2”命令,可以比較DC1和DC2上AD數據庫的狀態是否一致。
為了避免因為時間不同步造成AD同步失敗,可以執行“net time /rtsdomain:xxx.com”之類的命令,將目標域控設置為時鐘服務器,來精確調整時間。在執行AD復制時,如果出現復制未完成或者未發生故障,可能的原因是站點未通過站點鏈接連接,對應的執行“dcdiag /test:Topology”命令,可以進行檢測。
執 行“repadmin /bridgeheads”命 令,可 以檢測站點組中有無橋頭服務器。如果出現復制緩慢的故障,說明站點拓撲和計劃效率較低,需要重新進行合理規劃。對應的執行“repadmin /latency” 命令,可以進行檢測。執行“dcdiag /test:replication”或 者“dcdiag/test”connectivity”命令,可以檢測站點中有無域控制器聯機。
如果出現客戶端主機收到緩慢響應問題,說明客戶端網絡帶寬不足。執行“repadmin /test:intersite”命令,可以檢測站點拓撲是否正確。利用資源監視器中的NTDS計數器,可以檢測域控數量是否不足。如果在復制時網絡流量大增,說明網絡帶寬不足或者站點拓撲不正確。
使 用“Repadmin” 命令,可以查看和手動創建復制拓撲,強制發生域控之間的復制事件,查看復制元數據。例如執行“repadmin/showreps xxx.com”命令,來查看指定域控的復制伙伴信息。執行“repadmin /showvector dc=xxx,dc=com yyy.xxx.com”命令,可以查看域控上最高更新的USN序列 號。“yyy.xxx.com”為某臺域控的域名。執行“repadmin /showconn yyy.xxx.com”命令,可以查看其連接對象。