域控制器同步問題


 

正常情況下:
共兩臺域控(相互同步,當在一臺域控出現故障的情況下,另一臺域控仍然可以正常工作,域用戶依然可以進行登陸驗證。)

此處兩臺域控分別描述爲DC01(windows 2003 Server)和DC02(Windows Server 2008 R2);

 

故障描述:
出現的問題是DC01(主域控)和DC02之間不能互相同步數據,甚至連兩臺DC之間也無法使用計算機名進行互訪,但使用IP可以互相訪問。最初排除的是DNS故障。由於未能同步,結果導致於部分域用戶無法進行登陸驗證。(提示:此工作站和主域間的信任關係失敗。)甚至某些電腦無法加入域。需要在域服務器中將該計算機刪除或將客戶機改名才行。另外,直接關掉一臺故障的域控制器用戶也可以順利加域,因此判斷可能是DC之間互相不能同步,也不互相信任導致的。

 

注:下文主要記錄解決同步問題的步驟,其它故障請自行排除。

原因分析:
可能的原因很多,如DNS服務未運行或解析存在問題問題,NetLogon服務未啓動,Kerberos Key Distribution Center服務停止或文件複製服務未啓動等等。可以先嚐試手動進行同步操作試試,看會有什麼錯誤提示。另外,建議使用Windows自帶的事件查看器來查看具體的問題原因,並記錄好事件代碼。

手動同步操作如圖:

注意查看事件管理器查看故障詳細描述或記錄事件ID。

在排除以上問題的情況下,在服務器上手動同步仍然不成功可以參考以下內容:

首先用命令行輸入:dcdiag 檢查一下有哪些測試未通過。

 

正常情況如圖:

使用強制同步命令:repadmin /syncall /force

正常情況如下圖:

發現我們的故障原因是同步時訪問被拒絕,無法進行同步,最後成功同步時間爲2014/01/22 08:00:00
原因是兩臺域之間有超過60天未進行同步,數據庫中存在延遲對象,無法進行同步。解決辦法就是刪除延遲對象或進行鬆散同步。

(官方說明:Active Directory 複製發現下列分區中存在的對象已經從 本地域控制器(DC) Active Directory 數據庫中刪除。 在邏輯刪除生存時間過期之前,部分直接或可傳遞的複製 夥伴沒有複製該刪除。已經從 Active Directory 分區 刪除並垃圾收集的對象,如果仍然存在於同一域中其他 DC 的可寫入分區中或林中其他域中的全局編錄服務器的 只讀分區中,被稱作“延遲對象”。
此事件被記錄到日誌,因爲源 DC 包含的延遲對象不存在於 本地 Active Directory 數據庫上。此複製被阻止。
解決此問題的最佳方案是標記並刪除林中的所有延遲對象。)

 

解決問題:

方案A:

首先使用命令檢查哪些條目不能測試通過並排除故障:
dcdiag
在DC1上啓用嚴格複製:
Repadmin /regkey <DC_List> +strict
詳細信息請查看下面這篇文檔:
http://technet.microsoft.com/zh-cn/library/cc835086
然後使用下面的命令來進行強制複製
repadmin /kcc
repadmin /syncall /force
查看事件日誌是否相關的錯誤複製信息,如果有我們可以根據相關錯誤信息來刪除這些過期信息。
在兩臺DC上分別執行如下命令:
repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition
詳細信息請查看下面這篇文檔:
Use Repadmin to remove lingering objects
http://technet.microsoft.com/en-us/library/cc785298(WS.10).aspx

 

方案B:(我們使用這種方案成功解決問題)

首先使用命令檢查哪些條目不能測試通過並排除故障:
dcdiag
嘗試使用下面的命令來進行強制複製:
repadmin /syncall /force
查看事件日誌是否相關的錯誤複製信息,如果有我們可以根據相關錯誤信息來刪除這些過期信息。
刪除延遲對象,在兩臺DC上分別執行如下命令:
repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition
命令示例:
repadmin /removelingeringobjects DC1 aaaaaaaa-0000-0000-0000-aaaaaaaaaaaa
dc=dg,dc=feikk,dc=com /advisory_mode

repadmin /removelingeringobjects DC2 bbbbbbbb-1111-1111-1111-bbbbbbbbbbbb
dc=dg,dc=feikk,dc=com /advisory_mode

更改註冊表爲鬆散複製示例:
Value Path: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Value Name: Allow Replication With Divergent and Corrupt Partner(如沒有此鍵值可以直接增加)
Value Type: REG_DWORD
Value Data: 1

Value Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
Value Name: Strict Replication Consistency
Value Type: REG_DWORD
Value Data: 0

點擊“立即複製副本”後會迅速提示覆制完成。複製成功後,請在註冊表中做如下調整:
刪除:
Value Path: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters

Value Name: Allow Replication With Divergent and Corrupt Partner
Value Type: REG_DWORD
Value Data: 1

將以下註冊表設定值恢復成1:
Value Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
Value Name: Strict Replication Consistency
Value Type: REG_DWORD
Value Data: 1

現在再檢查一下兩臺DC之間是否可以自動同步了。

 

如果依然存在問題,請參考以下文章可能會更加全面:
http://blog.sina.com.cn/s/blog_491d1f3701010j2j.html
http://adirectory.blog.com/2012/07/active-directory-replication-troubleshooting/


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