如何在多域林中恢復(fù)活動目錄根域
我最近處理過一個(gè)需要對整個(gè)林根域進(jìn)行恢復(fù)的情況。結(jié)構(gòu)本身是相對比較簡單的,包含兩個(gè)域,一個(gè)空的林根以及一個(gè)包括所有用戶、計(jì)算機(jī)等的子域。其中也只有大約4000個(gè)用戶。
但存在兩個(gè)(幾乎是致命的)問題。首先,該組織在根域中僅僅建立了一個(gè)域控制器。第二,更不幸的是,那個(gè)域控制器已經(jīng)有超過10個(gè)月沒有進(jìn)行備份了。盡管根域控制器是一個(gè)RAID-5的磁盤配置,在同一天內(nèi),災(zāi)難發(fā)生了而且驅(qū)動器里面有兩個(gè)掛掉了。
這種類型的配置可能是承襲了微軟在Windows 2000的早期所信奉的一種***做法。當(dāng)時(shí)的建議是創(chuàng)建一個(gè)空的根域,這樣在子域名字被更改時(shí),可以對其進(jìn)行添加或者移除(不能在一個(gè)域被定義后再對其進(jìn)行改名)。
這種方法沒有得到延續(xù),但是,因?yàn)槎鄠€(gè)域林會有其它的復(fù)雜性:在一個(gè)交叉域組中恢復(fù)組和用戶之間的后端鏈接,在全局目錄服務(wù)器只讀上下文中存在的延遲對象,以及其它的相關(guān)問題。為了避免這些問題,一些組織不得不把多域結(jié)構(gòu)拆為單域。
在這個(gè)例子中,兩個(gè)域分別為Corp.com和EMEA.Corp.com,其中Corp-DC1是根域中的域控制器,而EMEA-DC1和EMEA-DC2為子域中的域控制器。
請注意,所有的客戶——包括用戶、工作站以及服務(wù)器——沒有被這個(gè)問題所影響,這使得我們有時(shí)間去指定并頒布一個(gè)處理計(jì)劃。
挑戰(zhàn)
這種情況下有若干問題和挑戰(zhàn),包括:
-
我還沒有見過林根域需要被恢復(fù)的例子,并且我也找不到誰見過
-
恢復(fù)10個(gè)月以前的備份會在工作良好的子域控制器的林中引入延遲對象
-
當(dāng)恢復(fù)1月份的備份時(shí),在根域控制器中修改系統(tǒng)時(shí)間的話會遇到什么問題?
-
是否需要對Corp.com和EMEA.corp.com兩個(gè)域之間的信任關(guān)系進(jìn)行修復(fù)?同樣地,是否需要重置安全隧道密碼?
-
是否有必要使用一個(gè)授權(quán)的備份?
-
當(dāng)還原Corp.com 1月份的備份時(shí),會遇到什么樣的復(fù)制問題?
盡管如此,在這次災(zāi)難中也有一些正面的因素:
- 在根域中沒有用戶或者工作站——僅僅包括管理賬戶和域控制器。因此,當(dāng)還原10個(gè)月以前的備份時(shí),延遲對象的危害很小。
- 沒有對根域控制器進(jìn)行過任何修改(比如活動目錄對象)(盡管需要關(guān)注配置容器的更改)
- 域名服務(wù)器被委托給子域。因此,對于客戶而言,EMEA.corp.com是域名獨(dú)立的,而且在父域中沒有資源。
恢復(fù)計(jì)劃
最初的想法是將EMEA域控制器恢復(fù)到1月份的備份,還原Corp域的域控制器,前滾子域控制器,然后調(diào)整到當(dāng)前時(shí)間。這個(gè)20步的處理過程需要停機(jī)若干天,并且因?yàn)槠鋸?fù)雜性和破壞性被駁回了。
我們***采用了下面這種更簡單的計(jì)劃:
- 還原兩個(gè)子域控制器的當(dāng)前備份(以及根域控制器1月份的備份),將三個(gè)域控制器變?yōu)橐粋€(gè)私有網(wǎng)絡(luò)上的三臺計(jì)算機(jī)。
- 解決問題,然后重復(fù)生產(chǎn)林的步驟。
- 在Corp.com域中添加第二個(gè)域控制器。
- 備份兩個(gè)域中的所有域控制器。
整個(gè)過程花費(fèi)了大概3周時(shí)間,大部分的時(shí)間都用在研究日志、進(jìn)行還原等等上面。我們對該過程進(jìn)行了詳細(xì)的考慮,并有條不紊的對其進(jìn)行實(shí)施,以確保任何事情都能合適地完成。另外,用戶不會遇到停機(jī)。這意味著,盡管沒有根域,林看起來岌岌可危,對于用戶認(rèn)證和我們進(jìn)行的還原,它都運(yùn)作良好。我們進(jìn)行的生產(chǎn)恢復(fù)是在不影響用戶的情況下,在上班時(shí)間里進(jìn)行的。
恢復(fù)過程
恢復(fù)過程包括下面的步驟:
1.獲取三臺計(jì)算機(jī),并在私有子網(wǎng)上對其進(jìn)行配置。
2.在測試計(jì)算機(jī)上重建EMEA-DC1和EMEA-DC2上當(dāng)前系統(tǒng)的狀態(tài)備份。
3.將Corp-DC1 1月份的備份還原到測試計(jì)算機(jī)。
4.將Corp-DC1的1月份備份上的系統(tǒng)時(shí)間設(shè)為當(dāng)前的日期/時(shí)間。
5.將墓碑生命期設(shè)為365(***)以消除暫時(shí)的延遲對象問題。通過ADSIEdit修改cn=Directory Service,cn=WindowsNT,cn=Services,cn=Configuration, dc=pp上的墓碑生命期屬性
6.將注冊表鍵嚴(yán)格復(fù)制一致性(strict replication consistency)的值設(shè)為“1”(嚴(yán)格),以避免復(fù)制過程中的延遲對象。
HKEY_LOCAL_MACHINE/System/CurrentControlSet/ Services/NTDS/Parameters ValueName = Strict Replication Consistency Data Type = Reg_DWORD Value Data =1
7.取消檢查Corp-DC1上的全局目錄參數(shù)。在復(fù)制完成后再重新啟用。
8.使用HPSReports對域控制器進(jìn)行體檢。逐個(gè)檢查出現(xiàn)的任何錯(cuò)誤,直到所有錯(cuò)誤都得到了清理:
- Netdom Trust/verfy,以驗(yàn)證Corp和EMEA域之間的信任關(guān)系。
C:>netdom trust Corp /domain:EMEA.corp.com /verify
The trust between Corp and EMEA.corp.com has been successfully verified.
- Repadmin/Replsum /bysrc /bydest /sort:delta,以對林中所有域控制器的復(fù)制進(jìn)行測試。
- DCDiag /test:DNS /e /v,以測試林中所有DNS NS的DNS問題。
- 所有的事件日志。
- 確保應(yīng)用程序事件日志顯示組策略(the Application event log indicating Group Policy)中的1704(SCECLI)事件都得到應(yīng)用。同時(shí),檢查每個(gè)機(jī)器的GPResult輸出以檢查GPO是否正常。
- 確保您可以通過一個(gè)Corp.com賬戶登錄到EMEA域的一個(gè)計(jì)算機(jī) – 并可以反過來進(jìn)行 – 以進(jìn)一步的驗(yàn)證信任關(guān)系。
- 將生產(chǎn)EMEA域中的客戶添加到測試EMEA域,并查看是否能被識別。
- 在每一個(gè)域中的域控制器里添加用戶和站點(diǎn),并查看它們是否能復(fù)制到所有的域控制器。這對域進(jìn)行了測試并對NC復(fù)制進(jìn)行了配置。
9.當(dāng)所有的問題都得到解決后,在生產(chǎn)林中重復(fù)這些步驟。
10.在生產(chǎn)根域控制器(Corp-DC1)被還原以后,在那個(gè)域中設(shè)立第二個(gè)域控制器(根域中的第二個(gè)域控制器能防止最開始遇到的問題的產(chǎn)生)。
11.對所有的4個(gè)域控制器有計(jì)劃的進(jìn)行備份。
12.將墓碑生命期屬性重置為最小的120到180天。確保嚴(yán)格復(fù)制一致性(the strict replication consistency)的值仍為1。
結(jié)果
最初,在事件日志中顯示了大量的錯(cuò)誤和警告,在Repadmin/showrepl報(bào)告中也有一些錯(cuò)誤。其中很多錯(cuò)誤是因?yàn)樵噲D修復(fù)系統(tǒng)而發(fā)生的。在運(yùn)行一夜之后,大部分的錯(cuò)誤都自己得到了修復(fù)。我們接下來對剩余的事件進(jìn)行了處理,直到它們都得到解決。測試和生產(chǎn)環(huán)境產(chǎn)生了相似的結(jié)果。
1.因?yàn)闆]有啟用動態(tài)注冊,會存在一些DNS問題。結(jié)果是我們不得不手動的對一些DNS記錄進(jìn)行配置。
2.在對根域的Corp-DC1域控制器進(jìn)行最初的還原之后(從舊的備份),可以在目錄服務(wù)事件日志中找到一個(gè)事件分類,包括:
- 1869 – 在Site-LAN(指的是EMEA-DC1)中發(fā)現(xiàn)了GC
- 1655 – 不能在其中一個(gè)站點(diǎn)(指的是EMEA-DC)中找到GC
- 事件1869和1655是按EMEA和Corp-DC1服務(wù)器的順序記錄的
- 一些1311事件。
- 一些涉及DNS查找失敗的復(fù)制不成功
許多1869和1865事件是在查找全局目錄時(shí)遇到了困難。對所有的這些事件置之不理,復(fù)制仍然可以進(jìn)行,我們可以通過運(yùn)行Repadmin /replsum /bysrc /bydest /sort:delta來發(fā)現(xiàn)這一點(diǎn):
3.通過DCDiag /test:DNS /e /v報(bào)告,我們發(fā)現(xiàn)DNS按照預(yù)期進(jìn)行工作。
4.存在許多W32時(shí)間事件 – 事件ID為29、24和22 – 不需要采取進(jìn)一步的措施,就會隨著時(shí)間而消失。
5.在舊的被還原后的Corp-DC1被放到線上之后,最初會有大量的警告和錯(cuò)誤事件。12個(gè)小時(shí)后,它們都自己得到了修復(fù)。
總的來說,還原工作進(jìn)行得相當(dāng)好,并且相對沒有差錯(cuò)。這是在沒有停機(jī)時(shí)間,而且環(huán)境風(fēng)險(xiǎn)極小的情況下得到完成的。不必使用授權(quán)備份,并且信任關(guān)系也不需要被修復(fù)。由于我們已經(jīng)在測試環(huán)境中進(jìn)行了測試,所有我們有信心將這個(gè)計(jì)劃放到生產(chǎn)環(huán)境中。盡管如此,這對您只是“這應(yīng)該可行”的一個(gè)假設(shè),直到嘗試過您才可能真的對其進(jìn)行掌握。
【編輯推薦】