多域控制器環(huán)境下Active Directory災(zāi)難恢復(fù)
郵件服務(wù)器災(zāi)難恢復(fù)體系方案一災(zāi)難情況:主域控制器由于硬件故障突然損壞,使額外域控制器接替它的工作,使Active Directory 正常運(yùn)行,并在硬件修理好之后,恢復(fù)主域控制器,恢復(fù)exchange
郵件服務(wù)器災(zāi)難恢復(fù)體系
方案一
災(zāi)難情況:
主域控制器由于硬件故障突然損壞,使額外域控制器接替它的工作,使Active Directory 正常運(yùn)行,并在硬件修理好之后,恢復(fù)主域控制器,恢復(fù)exchange 數(shù)據(jù)庫。
備份情況:
1:系統(tǒng)狀態(tài)備份 2:exchange 數(shù)據(jù)(MICROSOFT INFORMATION STORE) 總體思路:
1. 恢復(fù)域控制器 (a:清除原DC 信息 b: 額外域控制器上通過ntdsutil.exe 工具奪取五種FMSOc:設(shè)置額外控制為GC 全局編錄 d:重新安裝損壞的域控制器)
2. 恢復(fù)exchange (a:安裝exchange b:恢復(fù)exchange 數(shù)據(jù)庫)
詳細(xì)步驟:
1.恢復(fù)域控制器
a:清除原有Domain Controller的信息
因?yàn)檫@臺(tái)服務(wù)器已經(jīng)不再可用,我們必須重新安裝,所以需要將原來的服務(wù)器的數(shù)據(jù)從ACTIVE DIRECTORY 中刪除。
完成這個(gè)目標(biāo),需要使用ntdsutil 這個(gè)工具。(粗體為輸入內(nèi)容,因測試時(shí)與公司服務(wù)器域名及機(jī)器名不一同,請(qǐng)按提示輸入)
c:>ntdsutil
ntdsutil: metadata cleanup
metadata cleanup: select operation target
select operation target: connections
server connections: connect to domain domain.com
select operation target: list sites
Found 1 site(s)
0 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=com select operation target: select site 0
Site - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=com No current domain
No current server
No current Naming Context
select operation target: list domains in site
Found 1 domain(s)
0 - DC=domain,DC=com
select operation target: select domain 0
Site - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=com Domain - DC=domain,DC=com
No current server
No current Naming Context
select operation target: list servers for domain in site
Found 2 server(s)
0 - CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,
,DC=domain,DC=com
1 - CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration, DC=domain,DC=com
select operation target: select server 0
select operation target: quit
metadata cleanup: remove selected server
出現(xiàn)對(duì)話框,詢問你是否確定刪除該DC 。按“確定”刪除DC1主控服務(wù)器。
metadata cleanup: quit
ntdsutil: quit
從Active Directory users and computers中刪除Domain controllers中DC1服務(wù)器對(duì)象,可以使用ADSI EDIT工具。ADSI EDIT是Windows 2003 support tools中的工具,你需要安裝Windows 2003 support tool,安裝程序在windows 2003光盤中的supporttools目錄下。在DC2上打開ADSI EDIT 工具,展開Domain NC[DC2.domain.com],展開OU=Domain controllers,右擊CN=DC1,然后選擇Delete ,把DC1服務(wù)器對(duì)象刪除。
在Active Directory Sites and Service中刪除DC1服務(wù)器對(duì)象,可以打開Administrative tools中的Active Directory Sites and Service,展開Sites ,展開Default-First-Site-Name ,展開Servers ,右擊DC1,選擇Delete ,單擊“確認(rèn)”按鈕確認(rèn)。
b:在額外域控制器上通過ntdsutil.exe 工具奪取五種FMSO (粗斜體為輸入內(nèi)容)
c:>ntdsutil
ntdsutil: roles
fsmo maintenance: select operation target
select operation target: connections
server connections: connect to domain domain.com
select operation target: list sites
Found 1 site(s)
0 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=com select operation target: select site 0
Site - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=com No current domain
No current server
No current Naming Context
select operation target: list domains in site
Found 1 domain(s)
0 - DC=domain,DC=com
select operation target: select domain 0
Site - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=com Domain - DC=domain,DC=com
No current server
No current Naming Context
select operation target: list servers for domain in site
Found 1 server(s)
0 - CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration, DC=domain,DC=com
select operation target: select server 0
,select operation target: quit
fsmo maintenance: seize domain naming master
出現(xiàn)對(duì)話框,按“確定”
fsmo maintenance: seize infrastructure master
出現(xiàn)對(duì)話框,按“確定”
fsmo maintenance: seize PDC
出現(xiàn)對(duì)話框,按“確定”
fsmo maintenance: seize RID master
出現(xiàn)對(duì)話框,按“確定”
fsmo maintenance: seize schema master
出現(xiàn)對(duì)話框,按“確定”
fsmo maintenance: quit
ntdsutil: quit
(注:Seize 用于原FSMO 不在線時(shí)操作,如果原FSMO 在線,則需要使用Transfer 操作) c: 設(shè)置額外控制(DC2.domain.com&, , amp;, , lt;, , /SPAN>)為GC (全局編錄)
打開Administrative Tools 中的Active Directory Sites and Services ,展開Sites ,展開Default-First-Site-Name ,展開Servers ,展開DC2.domain.com (額外控制器),右擊NTDS Settings選擇Properties ,然后在“Global Catalog”前面打勾,單擊“確定”按鈕,然后重新啟動(dòng)服務(wù)器。 至此,AD 已恢復(fù)完成,把DNS 改為新域控IP ,工作站測試域賬號(hào)是否正常。
d: 重新安裝并恢復(fù)損壞的主域控制器
修復(fù)DC1.domain.com 之后,在DC1.domain.com 服務(wù)器上重新安裝Windows 2003 Server?;旧习凑赵瓉淼姆?wù)器配置安裝組件,但是先不要安裝“證書服務(wù)”(安裝“證書服務(wù)”后,無法進(jìn)行有關(guān)改名和域的操作)。安裝好Windows 2003 Server之后,再運(yùn)行dcpromo 升級(jí)為額外的域控制器;如果需要DC1.domain.com 擔(dān)任五種FMSO 角色,通過ntdsutil 工具進(jìn)行角色轉(zhuǎn)換,使用Transfer 操作(注意:這時(shí)DC2在線,不能用Seize ,只能Transfer )。完成后再安裝“證書服務(wù)”。
通過Active Directory Sites and Services設(shè)置DC1.domain.com 為GC ,而取消DC2.domain.com 的GC 。至此,修復(fù)Active Directory部分。
也可以使用同上方法恢復(fù)把新裝機(jī)器作為主域控,更改DNS ,測試域用戶是否正常,AD 恢復(fù)完成。
2.恢復(fù)EXCHANGE
a: 安裝Exchange Server
為了適應(yīng)災(zāi)難恢復(fù)環(huán)境下的安裝,Exchange Server以及后面的Exchange Server Service Pack的安裝文件都提供了 /disasterrecovery 參數(shù)來實(shí)現(xiàn)災(zāi)難恢復(fù)環(huán)境下的系統(tǒng)修復(fù)。
我們需要將系統(tǒng)恢復(fù)到崩潰前的狀態(tài),如果安裝了SP 和Patch ,新的系統(tǒng)也要安裝相同的SP 和Patch 。 安裝組件的選擇也很重要,必須與崩潰時(shí)的系統(tǒng)所安裝的組件一致。所以,日常維護(hù)中記錄軟件的安裝配置也是一項(xiàng)很重要的工作。
在這個(gè)例子中,安裝好郵件服務(wù)器后,依次安裝SP3還有Rollout ,恢復(fù)到崩潰之前的軟件安裝。 B:恢復(fù)EXCHANGE 數(shù)據(jù)
方法一:可以使用NTBAKUP 的備份還原工具,用備份過的EXCHANGE 數(shù)據(jù)進(jìn)行還原(MICROSOFT INFORMATION STORE),此方法成功機(jī)率低,但已測試成功恢復(fù)。
方法二: 修復(fù)郵件存儲(chǔ) (此方法,沒有測試)
Exchange Server 2003 發(fā)生損壞時(shí),信息存儲(chǔ)是最容易受到影響的組件之一。實(shí)際上Windows 家族的很多設(shè)計(jì)為永遠(yuǎn)在線工作的數(shù)據(jù)庫,都使用了Exchange 數(shù)據(jù)庫引擎。信息存儲(chǔ)由下列四個(gè)數(shù)據(jù)庫文件組成:
Priv1.edb
,Priv1.stm
Pub1.edb
Pub1.stm
Priv1.edb 數(shù)據(jù)庫文件包含簡單郵件傳輸協(xié)議 (SMTP) 郵件,其中包括正在傳送的郵件和存儲(chǔ)在服務(wù)器上的郵件。Priv1.stm 數(shù)據(jù)庫文件包含正在傳送的郵件和存儲(chǔ)的非 SMTP 郵件。Pub1.edb 數(shù)據(jù)庫文件包含用于SMTP 格式信息的公用文件夾存儲(chǔ)。Pub1.stm 包含用于非SMTP 格式數(shù)據(jù)的共用文件夾存儲(chǔ)。 我們的郵件服務(wù)器是stand alone 的,沒有使用站點(diǎn)連接器,也沒有安裝密鑰管理。所以,我們選擇了KB313184的恢復(fù)流程。
由于我們的數(shù)據(jù)庫是異常退出,所以需要確認(rèn)數(shù)據(jù)庫的一致性。如果數(shù)據(jù)庫是一致的,則所有日志文件都已提交給信息存儲(chǔ)。如果數(shù)據(jù)庫不一致,則數(shù)據(jù)庫可能未損壞。相反,日志文件可能丟失、被損壞或尚未提交到數(shù)據(jù)庫。
我們運(yùn)行下面的eseutil 命令以檢查公用和專用數(shù)據(jù)庫的一致性(為便于閱讀,這些命令已折行,粗斜體為輸入內(nèi)容)。
C:Program FilesexchsrvrBIN>eseutil /mh "C:Program Filesexchsrvr
MDBDATApriv1.edb"
C:Program FilesexchsrvrBIN>eseutil /mh "C:Program Filesexchsrvr
MDBDATApub1.edb"
注意:這里假設(shè)正在從C 盤上的Program FilesExchSrvrBin文件夾中運(yùn)行程序,并且.edb 文件位于Program FilesExchSrvrMdbdata文件夾中,如果執(zhí)行了升級(jí),這些數(shù)據(jù)庫文件可能位于C:ExchsrvrMdbdata文件夾中。如果優(yōu)化了數(shù)據(jù)庫,則這些文件可能位于另一驅(qū)動(dòng)器上,可根據(jù)實(shí)際情況自行替換。
要驗(yàn)證.edb 文件是否一致,請(qǐng)檢查標(biāo)有“State”的輸出行。為了方便觀察可以在前面的命令行后面分別加上“> mypriv.txt”和“> mypub.txt”,生成兩個(gè)文本文件。或者使用“| more”參數(shù)來逐屏輸出。
在我們的例子里,服務(wù)器上的數(shù)據(jù)庫state 是“Dirty Shutdown”,所以需要對(duì)數(shù)據(jù)庫進(jìn)行軟故障恢復(fù),以檢查 Mdbdata 文件夾中是否存儲(chǔ)了日志文件的副本。
注意:以下步驟并不是按操作順序排列的,也不是每一步都必須執(zhí)行的,修復(fù)郵件存儲(chǔ),需要根據(jù)實(shí)際情況選擇一步或者幾部執(zhí)行!
(a) 保存有日志文件的存儲(chǔ)恢復(fù)
執(zhí)行軟故障恢復(fù)時(shí),所有未提交的日志文件都將被提交給信息存儲(chǔ)數(shù)據(jù)庫。打開數(shù)據(jù)庫和日志文件所駐留的文件夾,然后在命令提示符處鍵入下面的內(nèi)容(為便于閱讀,這些命令已折行,粗斜體為輸入內(nèi)容): C:Program FilesexchsrvrMDBDATA>"C:Program Filesexchsrvr
BINeseutil.exe" /r E00
單擊“是”運(yùn)行修復(fù)。實(shí)用工具將顯示下面的消息:
Microsoft(R) Exchange Server(TM) Database Utilities
Version 6.5
Copyright (C) Microsoft Corporation 1991-2000. All right reserved.
Initiating RECOVERY mode...
Logfile base name:E00
Log Files:(current directory)
System files:(current directory)
Performing soft recovery...
完成軟故障恢復(fù)之后,程序?qū)@示下面的消息:
Operation completed successfully in x.xxx seconds.
可再次運(yùn)行 eseutil /mh 命令。如果公用信息存儲(chǔ)和專用信息存儲(chǔ)的狀態(tài)都更改為“一致”,表明數(shù)據(jù)庫已
,經(jīng)修復(fù)。
(b) 無日志文件或者日志文件損壞的存儲(chǔ)恢復(fù)
如果eseutil /r 命令未恢復(fù)數(shù)據(jù)庫到一致狀態(tài),請(qǐng)使用硬故障恢復(fù)(強(qiáng)制狀態(tài)恢復(fù))命令。(注意:該命令可能會(huì)丟失某些 Exchange 2003 數(shù)據(jù),其中包括尚未提交給信息存儲(chǔ)數(shù)據(jù)庫的日志文件中所包含的消息。Microsoft 建議,只有在執(zhí)行軟故障恢復(fù)后公用信息存儲(chǔ)或?qū)S眯畔⒋鎯?chǔ)仍沒有恢復(fù)到一致的狀態(tài)時(shí),才使用此命令。)
在命令提示符處,鍵入下列命令(為便于閱讀,這些命令已折行,粗斜體為輸入內(nèi)容):
將 Priv1.edb 文件恢復(fù)到一致狀態(tài):
C:Program FilesexchsrvrMDBDATA>"C:Program FilesexchsrvrBINeseutil" /p priv1.edb 將 Pub1.edb 文件恢復(fù)到一致狀態(tài):
C:Program FilesexchsrvrMDBDATA>"C:Program FilesexchsrvrBINeseutil" /p pub1.edb 單擊“是”運(yùn)行修復(fù)。實(shí)用工具將顯示下面的消息:
Microsoft(R) Exchange Server(TM) Database Utilities
Version 6.0
Copyright (C) Microsoft Corporation 1991-2000. All right reserved.
Initiating REPAIR mode...
Database:priv1.edb
Streaming File:priv1.stm
Temp.Database:TEMPREPAIR1820.EDB
Checking database integrity.
Scanning Status ( complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|-----|
....................................................
修復(fù)過程中將自動(dòng)包括.stm 文件。在完成此過程之后,程序?qū)@示下面的消息:
Integrity check successful.
(c) 進(jìn)行郵件存儲(chǔ)的脫機(jī)碎片整理
建議對(duì)修復(fù)的數(shù)據(jù)庫文件執(zhí)行碎片整理。特別是磁盤空間不足的時(shí)候??梢栽诹硗獾臋C(jī)器上執(zhí)行這種脫機(jī)碎片整理工作。如果對(duì) Pub1.edb 文件和 Priv1.edb 文件都運(yùn)行了軟故障恢復(fù)過程,請(qǐng)分別對(duì)這兩個(gè)文件運(yùn)行下面的碎片整理命令(為便于閱讀,這些命令已折行,粗斜體為輸入內(nèi)容)。
對(duì) Priv1.edb 進(jìn)行碎片整理:
C:Program FilesexchsrvrBIN>eseutil /d
C:Program FilesexchsrvrMDBDATApriv1.edb
對(duì) Pub1.edb 進(jìn)行碎片整理:
C:Program FilesexchsrvrBIN>eseutil /d
C:Program FilesexchsrvrMDBDATApub1.edb
注意:如果存儲(chǔ)數(shù)據(jù)庫很大,整理需要一段時(shí)間。如果提示磁盤空間不足,請(qǐng)將 Program FileExchSrvrBin 文件夾復(fù)制到更大的磁盤,然后嘗試從該位置運(yùn)行此命令。
刪除 Mdbdata 文件夾中的所有.log 文件、.chk 文件,然后刪除 Temp.edb 文件(如果存在)。 關(guān)閉所有收發(fā)信的服務(wù),以避免用戶在修復(fù)過程中訪問郵件存儲(chǔ)。將數(shù)據(jù)庫裝入一次,然后立即將其卸載(Dismount )。
建議對(duì)修復(fù)的數(shù)據(jù)庫文件執(zhí)行碎片整理。特別是磁盤空間不足的時(shí)候??梢栽诹硗獾臋C(jī)器上執(zhí)行這種脫機(jī)碎片整理工作。如果對(duì) Pub1.edb 文件和 Priv1.edb 文件都運(yùn)行了軟故障恢復(fù)過程,請(qǐng)分別對(duì)這兩個(gè)文件運(yùn)行下面的碎片整理命令(為便于閱讀,這些命令已折行,粗斜體為輸入內(nèi)容)。
,對(duì) Priv1.edb 進(jìn)行碎片整理:
C:Program FilesexchsrvrBIN>eseutil /d
C:Program FilesexchsrvrMDBDATApriv1.edb
對(duì) Pub1.edb 進(jìn)行碎片整理:
C:Program FilesexchsrvrBIN>eseutil /d
C:Program FilesexchsrvrMDBDATApub1.edb
注意:如果存儲(chǔ)數(shù)據(jù)庫很大,整理需要一段時(shí)間。如果提示磁盤空間不足,請(qǐng)將 Program FileExchSrvrBin 文件夾復(fù)制到更大的磁盤,然后嘗試從該位置運(yùn)行此命令。
使用<, SPAN lang=EN-US> Isinteg.exe實(shí)用工具可對(duì)Pub1.edb 數(shù)據(jù)庫和 Priv1.edb 數(shù)據(jù)庫的所有區(qū)域運(yùn)行測試,并報(bào)告測試結(jié)果,而且還會(huì)嘗試修復(fù)遇到的任何問題。(為便于閱讀,這些命令已折行,粗斜體為輸入內(nèi)容):
C:Program FilesexchsrvrBIN>isinteg -s (servername) -fix -test alltests
系統(tǒng)會(huì)提示您選擇要檢查的數(shù)據(jù)庫。
Index Status Database-Name
Storage Group Name:First Storage Group
1 Offline Mailbox Store (servername)
2 Offline Public Folder Store (servername)
Enter a number to select a database or press Return to exit.
注意:Exchange 2003 不再結(jié)合使用 -patch 選項(xiàng)來實(shí)現(xiàn) Isinteg 實(shí)用工具。修補(bǔ)操作將在信息存儲(chǔ)啟動(dòng)時(shí)由 Store.exe 自動(dòng)執(zhí)行。
只能檢查標(biāo)記為“Offline”(脫機(jī))的數(shù)據(jù)庫。在選擇一個(gè)數(shù)據(jù)庫后,將出現(xiàn)下面的消息,提示確認(rèn)我們的選擇:
"You have selected First Storage Group / Mailbox Store
Continue?(Y/N)"
Press Y and Enter to start checking the selected database.
重復(fù)修復(fù)的過程,直到不報(bào)告警告、錯(cuò)誤或修復(fù)信息,報(bào)告內(nèi)容類似于以下顯示:
Test reference table construction result:
0 error(s); 0 warning(s); 0 fix(es); 0 row(s); time:0h:0m:0s
Test Folder Result:
0 error(s); 0 warning(s); 0 fix(es); 101 row(s); time:0h:0m:0s
Now in test 3 (reference count verification)of total 3 tests;
100 complete.
如果連續(xù)三次出現(xiàn)同樣的警告、錯(cuò)誤或修復(fù)信息,可以忽略。這些錯(cuò)誤可能是由于損壞的電子郵件附件,或者不會(huì)阻止啟動(dòng)信息存儲(chǔ)的類似情況造成的。
(d) 使用ExMerge 移動(dòng)郵件到新的郵件存儲(chǔ)
如果多次運(yùn)行 Isinteg.exe 后仍報(bào)告同樣的錯(cuò)誤和警告,但是存儲(chǔ)服務(wù)可以正常啟動(dòng)。我們可以將所有用戶郵箱導(dǎo)出為.pst 文件。然后再將這些.pst 文件合并為新的Priv1.edb 文件。如果使用電子郵件的脫機(jī)存儲(chǔ)(.ost 文件),必須先將.ost 文件移至.pst 文件中。
限制:必須要運(yùn)行存儲(chǔ)服務(wù)。ExMerge 只能移動(dòng)用戶郵箱,不能移動(dòng)特定的Exchange 2003配置屬性,如連接器設(shè)置、Outlook 設(shè)置或客戶端規(guī)則。也不能移動(dòng)通訊組列表、通訊組列表中的成員或公用文件夾??梢詫⒐梦募A內(nèi)容移動(dòng)到用戶的個(gè)人文件夾中,以便在合并的.pst 文件中包括公用文件夾信息。如果您嘗試此過程,則必須手動(dòng)重新創(chuàng)建或重新配置通訊組列表。
確保當(dāng)前沒有用戶正在訪問服務(wù)器郵箱,運(yùn)行ExMerge 。
使用兩步合并中的第一步,然后輸入所有用戶。當(dāng)ExMerge 過程完成之后,停止Exchange 2003信息
,存儲(chǔ)服務(wù),找到并打開 ExchSrvrMdbdata 文件夾,然后重命名Pub1.edb 和Priv1.edb 文件。刪除此文件夾中的所有其他文件。在確信合并成功完成之前,請(qǐng)務(wù)必不要?jiǎng)h除重命名的 Pub1.edb 和Priv1.edb 文件,以留作備份。重新啟動(dòng) Exchange 2003 信息存儲(chǔ)服務(wù)。在客戶機(jī)上啟動(dòng) Outlook ,然后向 Exchange 2003 全球通訊簿中的所有用戶發(fā)送一封電子郵件。(注意:如果未完成此步驟,ExMerge 兩步合并中的第二步將不顯示任何可供還原的郵箱。)
使用兩步合并中的第二步運(yùn)行 ExMerge ,然后輸入所有用戶。完成此過程后,以前存儲(chǔ)在.pst 文件中的電子郵件將被移至Exchange 2003郵箱,我們將得到一個(gè)包含所有電子郵件副本的新 Priv1.edb 文件。(注意:如果用戶登錄到空郵箱,則帳戶可能未連接到新創(chuàng)建的郵箱。)
要恢復(fù)公用文件夾存儲(chǔ),需要在客戶端(如Outlook )將公用文件夾復(fù)制到該客戶端上用戶的個(gè)人文件夾。停止信息存儲(chǔ)服務(wù),然后重命名現(xiàn)有的 Pub1.edb 和 Pub1.stm 文件。要?jiǎng)?chuàng)建新的 Pub1.edb ,請(qǐng)裝入公用文件夾數(shù)據(jù)庫。單擊“確定”創(chuàng)建新的 Pub1.edb 。將文件夾從客戶端移回服務(wù)器上的新公用文件夾結(jié)構(gòu)。
接下來重新啟動(dòng)信息存儲(chǔ)。
(注意:必須恢復(fù)公用存儲(chǔ)上的所有權(quán)限。在能夠訪問電子郵件和公用文件夾后,應(yīng)盡快執(zhí)行備份并驗(yàn)證備份是否成功。此過程還將刪除到此時(shí)間點(diǎn)為止收到的郵件的單一實(shí)例存儲(chǔ)。結(jié)果,Exchange 2003 數(shù)據(jù)庫可能會(huì)增長,并需要更多的磁盤空間。)