一、實驗?zāi)M故障問題:
xx公司架設(shè)了一臺主域控制器和一臺輔域控制器,某一天,zhuyu公司的主域控制器系統(tǒng)崩潰,主域控制器系統(tǒng)也進不去。
雖然輔域控制器可以暫時代替主域控制器的普通工作,但是特殊的操作輔域控制器是沒辦法操作的。經(jīng)過zxx公司領(lǐng)導同意,
決定把主域控制器撤走,直接讓輔域控制器升級成主域控制器。
二、網(wǎng)絡(luò)拓撲圖:
********** 注意事項 **********
1、輔域控若要接管主域控的前提是主域控與輔域控上都要有DNS,并且DNS是與域控是集成的。
2、客戶端進行域訪問時首先會聯(lián)系首選DNS,即主域控,但是這時的主域控已經(jīng)脫離網(wǎng)絡(luò),無法訪問。客戶端就會嘗試使用備用DNS,就會聯(lián)系輔域控,達到正常訪問,但是這樣做的話,有一個很明顯的問題,就是訪問、驗證、登錄會比以前慢很多,因為要先聯(lián)系主域控。
3、主域控系統(tǒng)網(wǎng)絡(luò)是斷開狀態(tài),輔域控若要獲取主域控全部權(quán)限,輔域控必須通過強奪的方式把主域的FSMO的五個角色從主域控上強奪過來使用,通過ntdsutil命令清理死亡的主域控的殘留信息(元數(shù)據(jù)),最后指定輔域控為GC(全局編錄)。
4、修改輔域控的IP為原來主域控的IP,同時重啟Netlogon服務(wù),手動將主域的DNS記錄(包括A記錄、NS記錄、SRV記錄、SOA記錄)更改為原主域控的IP地址,把DNS名稱服務(wù)器(NS)存在的已死亡的主域控刪除掉。
5、輔域控重啟系統(tǒng)檢查DNS和域控是否正常,查看日志文件是否報錯。
三、操作步驟:
1、 輔域控制器固定IP設(shè)置。
2、主域控制器已經(jīng)脫離網(wǎng)絡(luò),ping 192.168.10.30已經(jīng)不通了。
3、因為主域控已經(jīng)斷開連接,所以,輔域控的操作主機顯示錯誤。
4、在輔域控DOS命令下運行netdom query fsmo 查看當前的FSMO五個角色的擁有者都是test-zhuAD主域控,
所有輔域控test-beiAD采用強奪方式把主域控test-zhuAD五個角色強奪過來。
5.使用ntdsutil命令把輔域控綁定為主域控。
輸入ntdsutil //按回車鍵
再輸入:roles //按回車鍵
再輸入connections //按回車鍵
再輸入connect to server test-beiAD.zhuyu.com //按回車鍵,提示輔域控test-beiAD綁定成功
輸入quit //退出
6、輸入問號可以看到一些幫助信息,如果主域控沒有壞掉的話,我們可以用transfer進行五個角色的轉(zhuǎn)移,而現(xiàn)在主域控已經(jīng)損壞了,我們要用seize來進行強制奪取了。
7、首先我們強制奪取第一個角色 naming master(域命名主機角色) ---- 使用ntdsutil連接test-beiAD.zhuyu.com進入域控 ----
quit回車退出 ---- Seize naming master ---- 彈出對方框選擇 "是"。
8、選擇 "是" 以后會看到報錯,因為主域控不在線,所以輔域控在奪取角色時會有這個出錯信息,接下來的各個角色的奪取也會出現(xiàn)下圖所示的錯信息是屬于正常情況。
9、接著強制奪取第二個角色 infrastructure master(結(jié)構(gòu)主機角色) ---- 輸入Seize infrastructure master ----- 彈出對方框選擇 "是"。
10、接著強制奪取第三個角色 PDC(PDC角色) ---- 輸入Seize PDC ----- 彈出對方框選擇 "是"。
11、接著強制奪取第四個角色 RID master(RID池管理器角色) ---- 輸入Seize RID master ----- 彈出對方框選擇 "是"。
12、接著強制奪取第五個角色schema master(架構(gòu)主機角色) ---- 輸入Seize schema master ----- 彈出對方框選擇 "是"。
13、在DOS下運行netdom query fsmo 查看當前的FSMO五個角色擁有者已經(jīng)是輔域控制器了,說明已經(jīng)搶奪成功。
14、需要清理死亡主域控制器的殘留信息(元數(shù)據(jù)),在輔域控DOS命令下使用ntdsutil命令進行清除,命令運行如下所示:
(這步操作很重要)
運行--cmd---ntdsutil
ntdsutil: metadata cleanup //進入服務(wù)器對象清理模式
metadata cleanup: select operation target //進入操作對象選擇模式
select operation target: connections //進入連接模式
server connections: connect to domain zhuyu.com //連接到zhuyu.com域控
server connections:quit
select operation target: list sites //列出當前連接的域中的站點
select operation target: select site 0 //選擇站點0
select operation target: List domains in site /列出站點中的域
select operation target: select domain 0 //選擇域0
select operation target: List servers for domain in site //列出所有服務(wù)器
select operation target: select server 0 //選擇域中的將要刪掉服務(wù)器(域控)
select operation target: quit
metadata cleanup:Remove selected server
出現(xiàn)對話框,按"確定"刪除DC-01主控服務(wù)器。
metadata cleanup:quit
ntdsutil: quit
15、指定輔域控為GC(全局編錄) --- TEST-BEIAD站點 ---- 右鍵屬性 --- 常規(guī) ---- 全局編錄打勾 --- 確定。
16、刪除已經(jīng)死亡的主域控站點 TEST-ZHUAD ---- 右鍵刪除 ----彈出對話框選擇 "是"。
17、修改輔域控的IP地為原來主域控的IP地址。
18、重啟Netlogon服務(wù)。
19、手動將主域的DNS記錄(包括A記錄、NS記錄、SRV記錄、SOA記錄)更改為原主域控的IP地址
(本機是測試機,所有沒有任何的原主域控制器的信息),只需要把DNS名稱服務(wù)器(NS)存在的已死亡的主域控刪除掉即可。
20、最后重啟主域控器系統(tǒng) ----- 重啟完后檢查操作主機 ----- 可以找一臺電腦加域測試。
本文討論如下情景的域控修復:當域控超過墓碑生存周期后,即其他域控認為此域控已脫離域后,應(yīng)如何修復。
筆者在這個月內(nèi)企業(yè)服務(wù)的工作中,就遇到兩起此事件,目錄服務(wù)日志中出現(xiàn)2042錯誤,報錯太長時間未進行復制,在AD站點和服務(wù)控制臺中直接復制報錯:拒絕訪問,更直接的判斷方法可通過repadmin /showrepl命令來查看,此故障會直接導致客戶對應(yīng)的AD站點內(nèi)所有用戶無法使用,服務(wù)器無法正常使用域帳戶登錄,AD復制無法正常進行,給業(yè)務(wù)正常運行帶來比較大的中斷影響。
此故障一般發(fā)生于比較大的架構(gòu)中,由于網(wǎng)絡(luò)或建設(shè)時期操作不當?shù)脑颍醇皶r解決或監(jiān)控AD復制及其運行狀態(tài),而直到超過一個時間段后,對應(yīng)的域控脫離域內(nèi),而出現(xiàn)域控功能受損的情況。
首先,我們需要理解墓碑生存周期的概念,墓碑生存時間(tombstoneLifetime)是指:從在AD中刪除某對象開始,到該對象真正被刪除的時間間隔,默認值為60天(2003 sp1和2008后增加為180天),這樣做是為了保證:這種刪除操作被復制到域中其它的DC。需要提到的是在windows server 2008 R2中,增加了目錄回收站的功能,AD對象存活時間相當于延長至160天(默認),詳細內(nèi)容可參考:http://technet.microsoft.com/zh-cn/library/dd392261(WS.10).aspx。AD只備份當前有效的數(shù)據(jù),對于已經(jīng)標記刪除的對象,不備份。而AD中的對象刪除并不是立即的,需要有60天的刪除標記時間。因此,應(yīng)避免恢復60天前的AD備份,以免導致AD不完整。
明白了墓碑生存時間及其作用后,我們很容易想到:可手動將墓碑生存時間的默認值,由60天修改為更大的值,具體操作步驟如下:
1.開始/運行:ADSIedit.msc;
2.找到Configuration\Services\Windows NT\Directory Service,在其上右鍵/屬性;
3.找到tombstoneLifetime屬性,將其值由(注意:并不顯示默認的60天)改為365天或更大;
然后如果我們遇到這種情況時,一般可在完成正常域控系統(tǒng)狀態(tài)備份后按需選擇如下任一種操作;
找出超過墓碑生存周期的域控,離線,然后再AD數(shù)據(jù)庫中通過Ntdsutil工具清除此域控數(shù)據(jù),若此域控承載相應(yīng)的操作主機角色,則需要進行相應(yīng)的角色奪取(詳細的過程不在此描述,可參考如下KB:http://support.microsoft.com/kb/216498和http://support.microsoft.com/kb/255504);
強制復制,這種情況可能會導致不一致的對象進行復制,但對AD功能無其他影響,將Allow Replication With Divergent and Corrupt Partner注冊表鍵值添加進損壞域控HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters注冊表下,并將值設(shè)置為1,在完成復制后將此值改為0,詳細的說明可參考KB:http://technet.microsoft.com/en-us/library/cc757610(WS.10).aspx;
使用 "repadmin /removelingeringobjects" 工具來刪除不一致的已刪除對象,然后繼續(xù)復制,可參考KB:http://technet.microsoft.com/en-us/library/cc780362(WS.10).aspx;
重置損壞域控的安全密碼通道;
筆者擇第四點進行詳細的描述:
假設(shè)正常域控為DC1,損壞域控為DC2,操作步驟如下:
1. 在DC2上禁用KDC服務(wù),打開管理工具中的服務(wù)管理控制臺,禁用Kerberos Key Distribution Center服務(wù),然后重新啟動服務(wù)器;
2. 在重新啟動完成后,點擊開始,指向程序,選擇Windows Support Tools中的Command Prompt,打開命令提示符,輸入命令:
Netdomresetpwd /server: DC2 /userd:domain \administrator /passwordd:密碼;
注意上面的命令中紅色部分為userd和passwordd,后面都多了個d;
命令完成后,重新啟動計算機;
3. 在重新啟動完成后,打開服務(wù)管理控制臺,將Kerberos Key Distribution Center服務(wù)更改為自動啟動,并啟動之;服務(wù)啟動完成后,嘗試進行復制。
4. 如果不行,則繼續(xù)嘗試如下步驟,在服務(wù)器DC2上,點擊開始,指向程序,指向Windows Support Tools,打開Command Prompt;
5. 在打開的命令行中輸入replmon,打開Active directory replication monitor;
6. 在站點Default-first-site-name上右鍵,選擇Add monitored Server;
7. 選擇Add the server explicitly by name,輸入計算機名DC2,點擊Finish,將在站點下出現(xiàn)服務(wù)器名DC2;
8. 在服務(wù)器DC2上右鍵,選擇Synchronize Each Directory Partition with All Servers,按照默認選項,點擊確定;
9. 選擇Add the server explicitly by name,輸入計算機名DC1,點擊Finish,將在站點下出現(xiàn)服務(wù)器名DC1;
10. 在服務(wù)器DC1上右鍵,選擇Synchronize Each Directory Partition with All Servers,按照默認選項,點擊確定;
11. 測試2臺DC之間的復制。
處理超過墓碑生存周期的域控故障過程介紹到此,其實除了此種情況外,AD復制的很多排錯方法和思路都可以從這個過程中獲得。AD復制排錯像一個黑匣子,只有一步一步分析,熟悉的使用工具,方能撥開云霧,解決問題。