多域控制器環(huán)境下Active Directory災難恢復
郵件服務器災難恢復體系方案一災難情況:主域控制器由于硬件故障突然損壞,使額外域控制器接替它的工作,使Active Directory 正常運行,并在硬件修理好之后,恢復主域控制器,恢復exchange
郵件服務器災難恢復體系
方案一
災難情況:
主域控制器由于硬件故障突然損壞,使額外域控制器接替它的工作,使Active Directory 正常運行,并在硬件修理好之后,恢復主域控制器,恢復exchange 數據庫。
備份情況:
1:系統(tǒng)狀態(tài)備份 2:exchange 數據(MICROSOFT INFORMATION STORE) 總體思路:
1. 恢復域控制器 (a:清除原DC 信息 b: 額外域控制器上通過ntdsutil.exe 工具奪取五種FMSOc:設置額外控制為GC 全局編錄 d:重新安裝損壞的域控制器)
2. 恢復exchange (a:安裝exchange b:恢復exchange 數據庫)
詳細步驟:
1.恢復域控制器
a:清除原有Domain Controller的信息
因為這臺服務器已經不再可用,我們必須重新安裝,所以需要將原來的服務器的數據從ACTIVE DIRECTORY 中刪除。
完成這個目標,需要使用ntdsutil 這個工具。(粗體為輸入內容,因測試時與公司服務器域名及機器名不一同,請按提示輸入)
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
出現對話框,詢問你是否確定刪除該DC 。按“確定”刪除DC1主控服務器。
metadata cleanup: quit
ntdsutil: quit
從Active Directory users and computers中刪除Domain controllers中DC1服務器對象,可以使用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服務器對象刪除。
在Active Directory Sites and Service中刪除DC1服務器對象,可以打開Administrative tools中的Active Directory Sites and Service,展開Sites ,展開Default-First-Site-Name ,展開Servers ,右擊DC1,選擇Delete ,單擊“確認”按鈕確認。
b:在額外域控制器上通過ntdsutil.exe 工具奪取五種FMSO (粗斜體為輸入內容)
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
出現對話框,按“確定”
fsmo maintenance: seize infrastructure master
出現對話框,按“確定”
fsmo maintenance: seize PDC
出現對話框,按“確定”
fsmo maintenance: seize RID master
出現對話框,按“確定”
fsmo maintenance: seize schema master
出現對話框,按“確定”
fsmo maintenance: quit
ntdsutil: quit
(注:Seize 用于原FSMO 不在線時操作,如果原FSMO 在線,則需要使用Transfer 操作) c: 設置額外控制(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”前面打勾,單擊“確定”按鈕,然后重新啟動服務器。 至此,AD 已恢復完成,把DNS 改為新域控IP ,工作站測試域賬號是否正常。
d: 重新安裝并恢復損壞的主域控制器
修復DC1.domain.com 之后,在DC1.domain.com 服務器上重新安裝Windows 2003 Server?;旧习凑赵瓉淼姆掌髋渲冒惭b組件,但是先不要安裝“證書服務”(安裝“證書服務”后,無法進行有關改名和域的操作)。安裝好Windows 2003 Server之后,再運行dcpromo 升級為額外的域控制器;如果需要DC1.domain.com 擔任五種FMSO 角色,通過ntdsutil 工具進行角色轉換,使用Transfer 操作(注意:這時DC2在線,不能用Seize ,只能Transfer )。完成后再安裝“證書服務”。
通過Active Directory Sites and Services設置DC1.domain.com 為GC ,而取消DC2.domain.com 的GC 。至此,修復Active Directory部分。
也可以使用同上方法恢復把新裝機器作為主域控,更改DNS ,測試域用戶是否正常,AD 恢復完成。
2.恢復EXCHANGE
a: 安裝Exchange Server
為了適應災難恢復環(huán)境下的安裝,Exchange Server以及后面的Exchange Server Service Pack的安裝文件都提供了 /disasterrecovery 參數來實現災難恢復環(huán)境下的系統(tǒng)修復。
我們需要將系統(tǒng)恢復到崩潰前的狀態(tài),如果安裝了SP 和Patch ,新的系統(tǒng)也要安裝相同的SP 和Patch 。 安裝組件的選擇也很重要,必須與崩潰時的系統(tǒng)所安裝的組件一致。所以,日常維護中記錄軟件的安裝配置也是一項很重要的工作。
在這個例子中,安裝好郵件服務器后,依次安裝SP3還有Rollout ,恢復到崩潰之前的軟件安裝。 B:恢復EXCHANGE 數據
方法一:可以使用NTBAKUP 的備份還原工具,用備份過的EXCHANGE 數據進行還原(MICROSOFT INFORMATION STORE),此方法成功機率低,但已測試成功恢復。
方法二: 修復郵件存儲 (此方法,沒有測試)
Exchange Server 2003 發(fā)生損壞時,信息存儲是最容易受到影響的組件之一。實際上Windows 家族的很多設計為永遠在線工作的數據庫,都使用了Exchange 數據庫引擎。信息存儲由下列四個數據庫文件組成:
Priv1.edb
,Priv1.stm
Pub1.edb
Pub1.stm
Priv1.edb 數據庫文件包含簡單郵件傳輸協議 (SMTP) 郵件,其中包括正在傳送的郵件和存儲在服務器上的郵件。Priv1.stm 數據庫文件包含正在傳送的郵件和存儲的非 SMTP 郵件。Pub1.edb 數據庫文件包含用于SMTP 格式信息的公用文件夾存儲。Pub1.stm 包含用于非SMTP 格式數據的共用文件夾存儲。 我們的郵件服務器是stand alone 的,沒有使用站點連接器,也沒有安裝密鑰管理。所以,我們選擇了KB313184的恢復流程。
由于我們的數據庫是異常退出,所以需要確認數據庫的一致性。如果數據庫是一致的,則所有日志文件都已提交給信息存儲。如果數據庫不一致,則數據庫可能未損壞。相反,日志文件可能丟失、被損壞或尚未提交到數據庫。
我們運行下面的eseutil 命令以檢查公用和專用數據庫的一致性(為便于閱讀,這些命令已折行,粗斜體為輸入內容)。
C:Program FilesexchsrvrBIN>eseutil /mh "C:Program Filesexchsrvr
MDBDATApriv1.edb"
C:Program FilesexchsrvrBIN>eseutil /mh "C:Program Filesexchsrvr
MDBDATApub1.edb"
注意:這里假設正在從C 盤上的Program FilesExchSrvrBin文件夾中運行程序,并且.edb 文件位于Program FilesExchSrvrMdbdata文件夾中,如果執(zhí)行了升級,這些數據庫文件可能位于C:ExchsrvrMdbdata文件夾中。如果優(yōu)化了數據庫,則這些文件可能位于另一驅動器上,可根據實際情況自行替換。
要驗證.edb 文件是否一致,請檢查標有“State”的輸出行。為了方便觀察可以在前面的命令行后面分別加上“> mypriv.txt”和“> mypub.txt”,生成兩個文本文件?;蛘呤褂谩皘 more”參數來逐屏輸出。
在我們的例子里,服務器上的數據庫state 是“Dirty Shutdown”,所以需要對數據庫進行軟故障恢復,以檢查 Mdbdata 文件夾中是否存儲了日志文件的副本。
注意:以下步驟并不是按操作順序排列的,也不是每一步都必須執(zhí)行的,修復郵件存儲,需要根據實際情況選擇一步或者幾部執(zhí)行!
(a) 保存有日志文件的存儲恢復
執(zhí)行軟故障恢復時,所有未提交的日志文件都將被提交給信息存儲數據庫。打開數據庫和日志文件所駐留的文件夾,然后在命令提示符處鍵入下面的內容(為便于閱讀,這些命令已折行,粗斜體為輸入內容): C:Program FilesexchsrvrMDBDATA>"C:Program Filesexchsrvr
BINeseutil.exe" /r E00
單擊“是”運行修復。實用工具將顯示下面的消息:
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...
完成軟故障恢復之后,程序將顯示下面的消息:
Operation completed successfully in x.xxx seconds.
可再次運行 eseutil /mh 命令。如果公用信息存儲和專用信息存儲的狀態(tài)都更改為“一致”,表明數據庫已
,經修復。
(b) 無日志文件或者日志文件損壞的存儲恢復
如果eseutil /r 命令未恢復數據庫到一致狀態(tài),請使用硬故障恢復(強制狀態(tài)恢復)命令。(注意:該命令可能會丟失某些 Exchange 2003 數據,其中包括尚未提交給信息存儲數據庫的日志文件中所包含的消息。Microsoft 建議,只有在執(zhí)行軟故障恢復后公用信息存儲或專用信息存儲仍沒有恢復到一致的狀態(tài)時,才使用此命令。)
在命令提示符處,鍵入下列命令(為便于閱讀,這些命令已折行,粗斜體為輸入內容):
將 Priv1.edb 文件恢復到一致狀態(tài):
C:Program FilesexchsrvrMDBDATA>"C:Program FilesexchsrvrBINeseutil" /p priv1.edb 將 Pub1.edb 文件恢復到一致狀態(tài):
C:Program FilesexchsrvrMDBDATA>"C:Program FilesexchsrvrBINeseutil" /p pub1.edb 單擊“是”運行修復。實用工具將顯示下面的消息:
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
|----|----|----|----|----|----|----|----|----|-----|
....................................................
修復過程中將自動包括.stm 文件。在完成此過程之后,程序將顯示下面的消息:
Integrity check successful.
(c) 進行郵件存儲的脫機碎片整理
建議對修復的數據庫文件執(zhí)行碎片整理。特別是磁盤空間不足的時候??梢栽诹硗獾臋C器上執(zhí)行這種脫機碎片整理工作。如果對 Pub1.edb 文件和 Priv1.edb 文件都運行了軟故障恢復過程,請分別對這兩個文件運行下面的碎片整理命令(為便于閱讀,這些命令已折行,粗斜體為輸入內容)。
對 Priv1.edb 進行碎片整理:
C:Program FilesexchsrvrBIN>eseutil /d
C:Program FilesexchsrvrMDBDATApriv1.edb
對 Pub1.edb 進行碎片整理:
C:Program FilesexchsrvrBIN>eseutil /d
C:Program FilesexchsrvrMDBDATApub1.edb
注意:如果存儲數據庫很大,整理需要一段時間。如果提示磁盤空間不足,請將 Program FileExchSrvrBin 文件夾復制到更大的磁盤,然后嘗試從該位置運行此命令。
刪除 Mdbdata 文件夾中的所有.log 文件、.chk 文件,然后刪除 Temp.edb 文件(如果存在)。 關閉所有收發(fā)信的服務,以避免用戶在修復過程中訪問郵件存儲。將數據庫裝入一次,然后立即將其卸載(Dismount )。
建議對修復的數據庫文件執(zhí)行碎片整理。特別是磁盤空間不足的時候。可以在另外的機器上執(zhí)行這種脫機碎片整理工作。如果對 Pub1.edb 文件和 Priv1.edb 文件都運行了軟故障恢復過程,請分別對這兩個文件運行下面的碎片整理命令(為便于閱讀,這些命令已折行,粗斜體為輸入內容)。
,對 Priv1.edb 進行碎片整理:
C:Program FilesexchsrvrBIN>eseutil /d
C:Program FilesexchsrvrMDBDATApriv1.edb
對 Pub1.edb 進行碎片整理:
C:Program FilesexchsrvrBIN>eseutil /d
C:Program FilesexchsrvrMDBDATApub1.edb
注意:如果存儲數據庫很大,整理需要一段時間。如果提示磁盤空間不足,請將 Program FileExchSrvrBin 文件夾復制到更大的磁盤,然后嘗試從該位置運行此命令。
使用<, SPAN lang=EN-US> Isinteg.exe實用工具可對Pub1.edb 數據庫和 Priv1.edb 數據庫的所有區(qū)域運行測試,并報告測試結果,而且還會嘗試修復遇到的任何問題。(為便于閱讀,這些命令已折行,粗斜體為輸入內容):
C:Program FilesexchsrvrBIN>isinteg -s (servername) -fix -test alltests
系統(tǒng)會提示您選擇要檢查的數據庫。
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 不再結合使用 -patch 選項來實現 Isinteg 實用工具。修補操作將在信息存儲啟動時由 Store.exe 自動執(zhí)行。
只能檢查標記為“Offline”(脫機)的數據庫。在選擇一個數據庫后,將出現下面的消息,提示確認我們的選擇:
"You have selected First Storage Group / Mailbox Store
Continue?(Y/N)"
Press Y and Enter to start checking the selected database.
重復修復的過程,直到不報告警告、錯誤或修復信息,報告內容類似于以下顯示:
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ù)三次出現同樣的警告、錯誤或修復信息,可以忽略。這些錯誤可能是由于損壞的電子郵件附件,或者不會阻止啟動信息存儲的類似情況造成的。
(d) 使用ExMerge 移動郵件到新的郵件存儲
如果多次運行 Isinteg.exe 后仍報告同樣的錯誤和警告,但是存儲服務可以正常啟動。我們可以將所有用戶郵箱導出為.pst 文件。然后再將這些.pst 文件合并為新的Priv1.edb 文件。如果使用電子郵件的脫機存儲(.ost 文件),必須先將.ost 文件移至.pst 文件中。
限制:必須要運行存儲服務。ExMerge 只能移動用戶郵箱,不能移動特定的Exchange 2003配置屬性,如連接器設置、Outlook 設置或客戶端規(guī)則。也不能移動通訊組列表、通訊組列表中的成員或公用文件夾??梢詫⒐梦募A內容移動到用戶的個人文件夾中,以便在合并的.pst 文件中包括公用文件夾信息。如果您嘗試此過程,則必須手動重新創(chuàng)建或重新配置通訊組列表。
確保當前沒有用戶正在訪問服務器郵箱,運行ExMerge 。
使用兩步合并中的第一步,然后輸入所有用戶。當ExMerge 過程完成之后,停止Exchange 2003信息
,存儲服務,找到并打開 ExchSrvrMdbdata 文件夾,然后重命名Pub1.edb 和Priv1.edb 文件。刪除此文件夾中的所有其他文件。在確信合并成功完成之前,請務必不要刪除重命名的 Pub1.edb 和Priv1.edb 文件,以留作備份。重新啟動 Exchange 2003 信息存儲服務。在客戶機上啟動 Outlook ,然后向 Exchange 2003 全球通訊簿中的所有用戶發(fā)送一封電子郵件。(注意:如果未完成此步驟,ExMerge 兩步合并中的第二步將不顯示任何可供還原的郵箱。)
使用兩步合并中的第二步運行 ExMerge ,然后輸入所有用戶。完成此過程后,以前存儲在.pst 文件中的電子郵件將被移至Exchange 2003郵箱,我們將得到一個包含所有電子郵件副本的新 Priv1.edb 文件。(注意:如果用戶登錄到空郵箱,則帳戶可能未連接到新創(chuàng)建的郵箱。)
要恢復公用文件夾存儲,需要在客戶端(如Outlook )將公用文件夾復制到該客戶端上用戶的個人文件夾。停止信息存儲服務,然后重命名現有的 Pub1.edb 和 Pub1.stm 文件。要創(chuàng)建新的 Pub1.edb ,請裝入公用文件夾數據庫。單擊“確定”創(chuàng)建新的 Pub1.edb 。將文件夾從客戶端移回服務器上的新公用文件夾結構。
接下來重新啟動信息存儲。
(注意:必須恢復公用存儲上的所有權限。在能夠訪問電子郵件和公用文件夾后,應盡快執(zhí)行備份并驗證備份是否成功。此過程還將刪除到此時間點為止收到的郵件的單一實例存儲。結果,Exchange 2003 數據庫可能會增長,并需要更多的磁盤空間。)