正常情況下:
共兩臺(tái)域控(相互同步,當(dāng)在一臺(tái)域控出現(xiàn)故障的情況下,另一臺(tái)域控仍然可以正常工作,域用戶依然可以進(jìn)行登陸驗(yàn)證。)
此處兩臺(tái)域控分別描述為DC01(windows 2003 Server)和DC02(Windows Server 2008 R2);
故障描述:
出現(xiàn)的問題是DC01(主域控)和DC02之間不能互相同步數(shù)據(jù),甚至連兩臺(tái)DC之間也無法使用計(jì)算機(jī)名進(jìn)行互訪,但使用IP可以互相訪問。最初排除的是DNS故障。由于未能同步,結(jié)果導(dǎo)致于部分域用戶無法進(jìn)行登陸驗(yàn)證。(提示:此工作站和主域間的信任關(guān)系失敗。)甚至某些電腦無法加入域。需要在域服務(wù)器中將該計(jì)算機(jī)刪除或?qū)⒖蛻魴C(jī)改名才行。另外,直接關(guān)掉一臺(tái)故障的域控制器用戶也可以順利加域,因此判斷可能是DC之間互相不能同步,也不互相信任導(dǎo)致的。
注:下文主要記錄解決同步問題的步驟,其它故障請自行排除。
原因分析:
可能的原因很多,如DNS服務(wù)未運(yùn)行或解析存在問題問題,NetLogon服務(wù)未啟動(dòng),Kerberos Key Distribution Center服務(wù)停止或文件復(fù)制服務(wù)未啟動(dòng)等等??梢韵葒L試手動(dòng)進(jìn)行同步操作試試,看會(huì)有什么錯(cuò)誤提示。另外,建議使用Windows自帶的事件查看器來查看具體的問題原因,并記錄好事件代碼。
手動(dòng)同步操作如圖:
注意查看事件管理器查看故障詳細(xì)描述或記錄事件ID。
在排除以上問題的情況下,在服務(wù)器上手動(dòng)同步仍然不成功可以參考以下內(nèi)容:
首先用命令行輸入:dcdiag 檢查一下有哪些測試未通過。
正常情況如圖:
使用強(qiáng)制同步命令:repadmin /syncall /force
正常情況如下圖:
發(fā)現(xiàn)我們的故障原因是同步時(shí)訪問被拒絕,無法進(jìn)行同步,最后成功同步時(shí)間為2014/01/22 08:00:00
原因是兩臺(tái)域之間有超過60天未進(jìn)行同步,數(shù)據(jù)庫中存在延遲對象,無法進(jìn)行同步。解決辦法就是刪除延遲對象或進(jìn)行松散同步。
(官方說明:Active Directory 復(fù)制發(fā)現(xiàn)下列分區(qū)中存在的對象已經(jīng)從 本地域控制器(DC) Active Directory 數(shù)據(jù)庫中刪除。 在邏輯刪除生存時(shí)間過期之前,部分直接或可傳遞的復(fù)制 伙伴沒有復(fù)制該刪除。已經(jīng)從 Active Directory 分區(qū) 刪除并垃圾收集的對象,如果仍然存在于同一域中其他 DC 的可寫入分區(qū)中或林中其他域中的全局編錄服務(wù)器的 只讀分區(qū)中,被稱作“延遲對象”。
此事件被記錄到日志,因?yàn)樵?DC 包含的延遲對象不存在于 本地 Active Directory 數(shù)據(jù)庫上。此復(fù)制被阻止。
解決此問題的最佳方案是標(biāo)記并刪除林中的所有延遲對象。)
解決問題:
方案A:
首先使用命令檢查哪些條目不能測試通過并排除故障:
dcdiag
在DC1上啟用嚴(yán)格復(fù)制:
Repadmin /regkey <DC_List> +strict
詳細(xì)信息請查看下面這篇文檔:
http://technet.microsoft.com/zh-cn/library/cc835086
然后使用下面的命令來進(jìn)行強(qiáng)制復(fù)制
repadmin /kcc
repadmin /syncall /force
查看事件日志是否相關(guān)的錯(cuò)誤復(fù)制信息,如果有我們可以根據(jù)相關(guān)錯(cuò)誤信息來刪除這些過期信息。
在兩臺(tái)DC上分別執(zhí)行如下命令:
repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition
詳細(xì)信息請查看下面這篇文檔:
Use Repadmin to remove lingering objects
http://technet.microsoft.com/en-us/library/cc785298(WS.10).aspx
方案B:(我們使用這種方案成功解決問題)
首先使用命令檢查哪些條目不能測試通過并排除故障:
dcdiag
嘗試使用下面的命令來進(jìn)行強(qiáng)制復(fù)制:
repadmin /syncall /force
查看事件日志是否相關(guān)的錯(cuò)誤復(fù)制信息,如果有我們可以根據(jù)相關(guān)錯(cuò)誤信息來刪除這些過期信息。
刪除延遲對象,在兩臺(tái)DC上分別執(zhí)行如下命令:
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
更改注冊表為松散復(fù)制示例:
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
點(diǎn)擊“立即復(fù)制副本”后會(huì)迅速提示復(fù)制完成。復(fù)制成功后,請?jiān)谧员碇凶鋈缦抡{(diào)整:
刪除:
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
將以下注冊表設(shè)定值恢復(fù)成1:
Value Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
Value Name: Strict Replication Consistency
Value Type: REG_DWORD
Value Data: 1
現(xiàn)在再檢查一下兩臺(tái)DC之間是否可以自動(dòng)同步了。