構中針對關鍵任務的組件。如果 Active Directory 出現故障,網絡實際就崩潰了。因此,Active Directory 的備份和恢復計劃是安全性、業務連續性和法規遵從性的基礎。
Windows Server 2008 為 Active Directory? 帶來了許多新功能,其中對備份和恢復計劃具有重大影響的兩個功能是:新的 Windows Server Backup 實用工具,以及獲取和使用 Active Directory 的“卷影復制服務”快照的能力。在本文中,我將介紹這些增強功能所帶來的變化,以及如何利用這些變化來簡化 Active Directory 備份活動。
NTBACKUP 與 Windows Server Backup
組策略設置
Windows Server Backup 提供了若干組策略設置,使您可以在一定程度上控制備份在您服務器上的工作方式。使用這些備份策略,人們通過未經授權的備份訪問未授權數據的風險會降低。選項包括:
僅允許系統備份 如果設置了此選項,則 Windows Server Backup 只能備份關鍵的系統卷。它無法執行卷備份。
不允許本地附加的存儲作為備份目標 如啟用此設置,它不允許備份至本地附加的驅動器。只能備份至網絡共享。
不允許網絡作為備份目標 此設置不允許備份至任何網絡共享。
不允許光學媒體作為備份目標 如設置了此選項,Windows Server Backup 無法備份至任何光學媒體,例如可記錄的 DVD 驅動器。
不允許一次性運行備份 此設置不允許 Windows Server Backup 運行非計劃的特定備份。僅通過 Windows Server Backup MMC 管理單元計劃的備份可以運行。
您所了解和喜愛的 NTBACKUP 自 Windows NT? 3.5 之後已消失。代替它的是 Windows Server Backup。這一新工具不是僅僅對 NTBACKUP 的改進;它是一個全新的備份技術,使您必須重新思考備份系統的方法。
盡管 Windows? Server 備份是 Windows Server 2008 唯一的現成備份解決方案,但它並不是替換 NTBACKUP 的另一種功能。最大的差異在於:Windows Server Backup 是磁盤到磁盤的備份解決方案;它不支持備份至磁帶。您可以在直接附加的磁盤卷、網絡共享,甚至是外部 USB 硬盤和可記錄的多卷 DVD 上創建備份映像。但您不能備份至磁帶。這裡明確一點,您仍可以在 Windows Server 2008 服務器上掛接磁帶驅動器,並將 Windows Server Backup 生成的備份映像復制到磁帶驅動器——但您必須使用其他方軟件才能完成此操作。
NTBACKUP 是基於文件的備份和還原工具,而 Windows Server Backup 是以卷和塊為基本對象。Windows Server Backup 將其備份源處理為卷集,每個卷均作為一個磁盤塊集合。與通過文件系統備份文件相比,這樣效率要提高很多。以塊為基礎處理備份還使 Windows Server Backup 能利用“卷影復制服務”快照來執行塊級別增量備份,以及在目標卷上創建快照以簡化多個備份的使用(並減少其所占用的空間)。
即使您正在執行的是完整備份,Windows Server Backup 也能在目標磁盤上提供很大的空間效率。例如,您可對同一卷執行多個完整備份。由於 Windows Server Backup 在存儲備份映像的目標磁盤上使用“卷影復制服務”快照,因此,快照將僅存儲已發生更改的塊。這極大地減少了多個完整備份所占用的空間。這樣即不必通過執行多個還原操作恢復增量備份。盡管快照僅存儲每個備份的變化量,但“卷影復制服務”會確保每個備份的完整性。
不過,請注意,您只有在備份至本地硬盤時才能從目標上的“卷影復制服務”快照中受益——Windows Server Backup 無法對存儲在 DVD 或網絡共享上的備份執行“卷影復制服務”操作。
Windows Server 備份以 Microsoft? 虛擬硬盤 (VHD) 格式存儲備份映像,這會產生額外的益處。您可以實際獲取備份映像,在 Microsoft Virtual Server 2005 下運行的虛擬機中將其安裝成一個卷。您只需在虛擬機中安裝 VHD 並浏覽特定文件即可,不必通過測試還原磁帶來查看哪個磁帶上具有文件。(特別注意:您不能從備份映像中啟動虛擬機。由於備份的硬件配置與虛擬機的配置不搭配,因此,無法將 Windows Server 備份用作物理到虛擬的遷移工具。)
Windows Server Backup 的卷和塊定向有一個缺點。因為此新工具將備份源視為一組卷和塊,所以它不允許您僅備份選定文件。必須備份整個卷。此外,默認情況下,無法將備份映像存儲在所備份的一個卷上(有一些方法可就此進行配置;請參閱 support.microsoft.com/kb/944530)。我將在本文稍後的部分討論系統狀態備份的深刻含義。
>>
安裝 Windows Server Backup
Windows Server Backup 是 Windows Server 2008 中的一項“功能”,默認情況下並不安裝。在使用 Windows Server Backup 執行備份之前,必須使用“服務器管理器”或 SERVERMANAGERCMD 命令行實用工具安裝該功能:
C:\> servermanagercmd -install Backup-Features
Windows Server Backup 包括兩個子功能,Windows Server Backup 和 Command-line Tool。請注意,Command-line Tool 是指一組 Windows PowerShellTM cmdlet——而非 WBADMIN .EXE 命令行工具。因此,如果您選擇安裝這兩個子功能,則必須安裝 Windows PowerShell 功能。
安裝 Windows Server Backup 後,您可以在“服務器管理器”的“存儲”節點下以及“管理工具”菜單上找到 Microsoft 管理控制台 (MMC) 管理單元。如果您是在 Windows Server 2008 Server Core 安裝中安裝 Windows Server Backup,請使用 OCSETUP 命令(請注意,OCSETUP 命令區分大小寫,這一點非常重要):
C:\> ocsetup WindowsServerBackup
可從 go.microsoft.com/fwlink/?LinkId=113146 獲得安裝過程的完整說明。
請注意,Windows Server Backup 不能還原使用 NTBACKUP 創建的映像。為應對這種極特殊的情況,Microsoft 已為 Windows Server 2008 提供了可下載的 NTBACKUP(請參閱 go.microsoft.com/fwlink/?LinkId=113147)。
Windows Server Backup 組件
組建 Windows Server Backup 應用程序的方式反映出了產生的重大變化。新的備份解決方案由四個組件組成:
●MMC 用戶界面 (WBADMIN.MCS)
●命令行界面(WBADMIN.EXE)
●備份服務 (WBENGINE.EXE)
●Windows PowerShell cmdlet 集
將該應用程序拆分為客戶端和服務有若干好處,最重要的是提高了可靠性。無論是從 MMC 客戶端還是從命令行界面啟動備份,均由 WBENGINE 服務完成主要工作。客戶端程序只報告備份的狀態。因此,終止客戶端不會導致備份中途停止。客戶端將停止,而服務將繼續完成。當然,如果您確實想停止備份,也可以實現,但必須明確執行相應操作。
此拆分的體系結構的另一好處是,您可以使用客戶端管理遠程計算機上的備份。如果必須備份 Windows Server 2008 Core 計算機,這一長處尤其值得稱道。
Windows Server Backup 支持使用 Windows 恢復環境(即 WinRE)進行裸機還原,Windows Server 2008 安裝介質上就有 WinRE。WinRE 簡化了從頭開始恢復服務器的過程。我將在本文後面的內容中討論如何執行裸機還原。在此有必要指出,Windows Server Backup 支持幾個用於管理備份的“組策略”設置——“組策略設置”側欄中有這些設置的概述。
...
>>
卷影復制服務
Windows Server Backup 以三種不同的方式使用“卷影復制服務”。當您在 Windows Server 2008 上啟動完整備份時,應用程序首先制作一個所有源卷的卷影副本。執行此操作會為備份軟件提供一致的文件系統視圖供其使用。(這與 NTBACKUP 所執行的操作類似。)Windows Server Backup 然後逐個將這些塊從源卷復制到備份目標,在此過程中會為每個已備份的卷構建 VHD 映像。
除非另行指定,否則 Windows Server Backup 還會創建源卷的快照,以便“卷影復制服務”跟蹤卷上所有發生更改的塊。這使得 Windows Server Backup 可以創建塊級別增量備份,它們僅需要讀取源卷中發生更改的塊。Windows Server Backup 可以只讀取和寫入發生更改的塊,而不會因為文件有一點更改便讀取和寫入整個文件。
這使得增量備份效率很高,但代價是源卷的寫入操作需要額外的磁盤 I/O。如果您要備份特別繁忙或性能關鍵的卷,則應禁用源卷上的“卷影復制服務”快照,方法是選擇“Configure Performance Settings”(配置性能設置)鏈接,然後禁用此卷上的增量備份(如圖 1 所示)。
Figure 1 Disable incremental backups on busy volumes
當備份完成時,Windows Server Backup 會獲取目標卷的快照(假設您是備份到本地連接的硬盤上)。在下一備份期間,會覆蓋目標 VHD 文件。但是,由於“卷影復制服務”一直保持目標卷的卷影副本,因此實際上,與每個完整備份相對應的各個 VHD 文件都會有多個版本。您實質上花費的是一個完整備份和更改塊的成本,而獲得的是多個完整備份。
...
>>
備份至網絡共享
備份至網絡共享就象備份至本地卷一樣輕松。兩者的主要差異是,它不能創建遠程卷的“卷影復制服務”快照。因此,每個完整備份都將覆蓋前一完整備份,從而在網絡共享上僅為您留下每個服務器的最新完整備份映像。由於此限制,您不能使用 Windows Server Backup 計劃程序來計劃到網絡共享的備份。不過,您可以使用 Windows Task Scheduler 來運行 WBADMIN 命令行程序,執行到網絡共享的完整備份。如果您選擇以此方式來計劃到網絡共享的完整備份,請更改每個備份的目標文件夾以避免覆蓋先前備份。
備份至可記錄的 DVD
Windows Server Backup 還支持備份至光學媒體,例如可寫入的 DVD。您還可以創建包含多個卷的備份集。Windows Server Backup 始終將備份壓縮至 DVD,這意味著,您從 DVD 僅可以還原完整系統或完整卷。Windows Server Backup 不支持使用 DVD 執行系統狀態或文件級別的備份和還原。而且,您不能對備份至 DVD 進行計劃。
系統狀態備份和還原
系統狀態備份僅包括選定的文件和某些應用程序數據庫(而不是整個卷),它雖簡單但通常卻至關重要。但是,在 Windows Server 2008 的早期版本中,並不支持系統狀態備份和還原。備份工具只備份關鍵的系統卷(即,恢復和重新啟動操作系統及關鍵應用程序所必需的任何卷)。這些關鍵系統卷等同於面向卷的系統狀態備份。
應客戶反饋的要求,Microsoft 向 Windows Server Backup 添加了系統狀態備份和還原功能。該應用程序會創建多個 VHD 文件,每個托管系統狀態數據的卷一個 VHD 文件,但它僅將必要的文件和數據庫復制到 VHD 中。另一個問題是,當您執行系統狀態備份時,Windows Server Backup 並不創建目標卷的快照,這一點與正常的備份過程不同。而是每個系統狀態備份生成一個全新的 VHD 文件集,這意味著沒有基於快照的卷備份所具備的空間效率。
您僅可以使用 WBADMIN.EXE 命令行程序執行系統狀態備份——MMC 管理單元不提供此選項。要執行系統狀態備份,請使用以下命令:
C:\> wbadmin start systemstatebackup –backuptarget:e:
WBADMIN 然後會將關鍵系統文件和應用程序數據庫備份至目標卷(在為系統狀態備份而保留的文件夾中)。系統狀態備份在具有默認目錄信息樹 (DIT) 的 32 位 Windows Server 2008 域控制器 (DC) 上運行時要稍大於 6GB——這比在 Windows Server 2003 上大 5GB,部分原因是 Windows Server Backup 捕獲核心操作系統文件,而 NTBACKUP 並不捕獲此類文件。
如您所料,備份系統狀態所需的時間也會更長。當然,這些初始數字是以操作系統的預發布版本為基礎的。您必須在自己的環境下對此進行測試,如果您要將域控制器移至 Windows Server 2008,您需要針對更大的系統狀態備份(以及更長的備份時間)做出計劃。
使用 MMC 備份服務器
運行 Windows Server Backup MMC(請參見圖 2)時,您可以選擇設置備份計劃或立即運行特定備份。在本例中,我選擇“Backup once”(立即備份)以立即執行備份。
Figure 2 Windows Server Backup MMC
...
>>
如您在圖 3 中所見,我可以選擇是備份服務器上的所有卷,還是只備份所選的特定卷。如果選擇“Full server”(完整服務器),則 Windows Server Backup 將備份所有裝入的卷,但我無法備份至裝入的硬盤驅動器——只能備份至可記錄的 DVD 或網絡共享。
Figure 3 Using the backup configuration dialog to specify all or select volumes
在本示例中,我希望備份至本地硬盤驅動器,因此,我選擇“Custom”(自定義)選項。然後會顯示一個對話框,讓我選擇要備份的卷(請參見圖 4)。默認情況下,Windows Server Backup 會選中“Enable system recovery”(啟用系統恢復)框,這會讓 Windows Server Backup 選擇引導卷、操作系統卷,以及具有關鍵系統文件和應用程序數據庫的任何其他卷。在 DC 上,這包括托管 SYSVOL、Active Directory DIT 以及 Active Directory 日志的卷。這等同於系統狀態備份,但它備份所有關鍵卷,而不僅僅是這些卷上的關鍵文件。實際上,我甚至可以從系統恢復備份集執行系統狀態恢復。
Figure 4 Selecting specific volumes to back up
在選擇目標類型(本地驅動器或網絡共享)並指定目標後,Windows Server Backup 會提示我選擇“VSS copy”(VSS 副本)備份或“VSS full”(VSS 完整)備份。這個術語有點令人困惑,因為這兩個選項均將完整地備份選定卷。區別在於備份源文件後 Windows Server Backup 處理它們的方式。如果您選擇副本選項,則 Windows Server Backup 將原樣保留備份的文件。如果您選擇完整選項,Windows Server Backup 將隨後重置存檔。
...
>>
從命令行備份服務器
如果您要編寫備份過程的腳本,或在 Server Core 安裝上備份服務器,則可以使用 WBADMIN.EXE 命令行程序。WBADMIN 提供一個完整的選項集,這些選項實質上執行與 MMC 管理單元相同的功能,包括管理備份計劃。
假設我想啟動 WBENGINE 服務,它會隨後執行備份。我僅需輸入以下命令即可:
C:\> wbadmin start backup –include:c:,d:–backuptarget:e:
若要備份所有關鍵的系統卷,可以輸入以下命令:
C:\> wbadmin start backup -allcritical–backuptarget:e:
啟動備份後,WBADMIN 繼續運行並顯示備份進度。如果終止 WBADMIN,則備份將繼續在後台執行。然後可以使用以下命令重新將 WBADMIN 連接至正在運行的備份:
C:\> wbadmin get status
如果希望終止正在運行的備份,只需輸入以下內容:
C:\> wbadmin stop job 使用 MMC 計劃備份
與 Windows Server Backup 集成的備份計劃程序實際上是為專門完成一項任務:簡化每日對本地磁盤卷做完整系統備份的計劃。您可以使用內置的計劃程序自動在多個目標卷中輪換備份。如果您具有便於移動的硬盤驅動器(或者正在使用通過 USB 連接的硬盤驅動器),則可以使用此功能來建立轉換方案,在此方案中,您取下備份磁盤並將其存儲在外部,然後將最早的備份磁盤返回到服務器以供下一個計劃的備份使用。
Windows Server Backup 計劃程序僅讓您計劃始終每日發生的備份。也就是說,沒有單獨針對各個星期一、星期三和星期五計劃備份的方法。因此,如果您不希望每日都運行計劃的備份,就必須直接使用 Windows Task Scheduler。
當建立到本地磁盤的計劃備份時,Windows Server Backup 負責磁盤,即格式化磁盤、建立特定的文件夾結構,並使 Windows 資源管理器中不顯示目標磁盤。目標磁盤必須為基本卷——Windows Server Backup 無法備份至被配置為動態卷的磁盤。
通過 MMC 管理單元計劃備份十分容易。在此示例中,我首先選擇“Backup Schedule”(備份計劃)鏈接、指定備份類型以及要備份的卷,然後 Windows Server Backup 即會顯示“Specify backup time”(指定備份時間)對話框(請參見圖 5)。
Figure 5 Specifying when daily backups should occur
...
>>
選擇希望備份執行的時間後,我可以選擇備份的一個或多個目標卷。在本例中,我選擇備份卷 E:,如圖 6 所示。Windows Server Backup 會盡量為您選擇一個合適的目標卷,但是,如果您要備份的目標磁盤未出現,則可以使用“Show All Available Disks”(顯示所有可用磁盤)按鈕來查看所有連接的磁盤設備。在顯示兩個“confirm”(確認)對話框之後,Windows Server Backup 會格式化目標卷並使用 Windows Task Scheduler 來計劃備份任務。
Figure 6 Specifying the destination disk for a scheduled backup
每次計劃的備份完成時,Windows Server Backup 都會獲取目標卷的快照。而且每隔七天,它會創建一個新的基本映像。活動則記錄在 Microsoft/Backup/Operational 日志中。您可以在那裡檢查備份是否成功完成,也可以將某一任務(例如發送電子郵件消息)與成功和失敗事件相關聯,以便始終了解計劃備份的狀態。
從命令行計劃備份
如果您正在計劃 Server Core 安裝上的備份,或者只是想編寫該過程的腳本,則可以使用 WBADMIN 命令行來管理備份計劃。要添加計劃的備份,可使用 WBADMIN ENABLE BACKUP 命令指定目標、源以及計劃的時間,如下所示:
C:\> wbadmin enable backup –addtarget:e:-include:c:,d: -schedule:06:00,12:00,18:00
此命令會每天將 C: 和D:驅動器備份至 E:驅動器三次,時間分別為早上 6:00、中午 12:00 和下午 6:00。(請注意,所有時間均使用 24 小時制指定)。要備份所有關鍵的系統卷(從其可執行裸機還原或系統狀態還原),請使用 –allcritical 替換 –include 開關。
也可以使用 WBADMIN 禁用所有計劃的備份,如下所示:
C:\> wbadmin disable backup
此命令將刪除所有由 Windows Server Backup 計劃程序創建的計劃備份工作,並釋放所有備份目標卷以供正常使用。請注意,您始終可以使用 WBADMIN MMC 管理單元遠程管理 Server Core 服務器的備份和還原活動。
...
>>
域控制器的裸機恢復
備份和恢復最激動人心的改進之一是 WinRE 並入安裝過程的方式。從安裝媒體中啟動 Windows Server 2008 時,您可以選擇“Repair your computer”(修復計算機)選項,如圖 7 所示。由於這一選項極易被錯過,所以在此專門做個提醒。
Figure 7 The Repair your computer option is available on the installation screen
在安裝屏幕上選擇修復選項後,Windows 會讓我選擇一個恢復選項,如圖 8 所示。在本例中,我選擇“Windows Complete PC Restore”(Windows 完整 PC 還原),這會調用 Windows 恢復環境。
Figure 8 Specifying system recovery options
在選擇要修復的操作系統(通常只有一個選擇)後,WinRE 允許您選擇要從其進行還原的備份。默認情況下,WinRE 選擇最近的完整系統備份,但您可以指定存儲在本地磁盤上的其他備份,或在網絡中搜索存儲在其他服務器文件共享中的備份。
...
>>
Figure 9 You can easily format and repartition disks before they're restored
在兩個確認對話框之後,WinRE 啟動還原進程,而且服務器重新啟動。此方法極為適合在服務器上執行裸機恢復。
域控制器的系統狀態恢復
如果您需要從某種與 Active Directory 相關的問題中恢復(例如從備份中恢復刪除的 OU),則應將 Active Directory 域服務 (ADDS) 數據庫還原至早期狀態,而不是還原整個系統。盡管您可以像在 Windows Server 2008 中的服務那樣停止 ADDS,但仍需將服務器引導到目錄服務還原模式 (DSRM) 中,以對域控制器執行系統狀態還原。
更改引導選項以將 Windows Server 2008 引導到 DSRM 中並不像以前那樣容易。整個 Windows 引導環境經過了重新設計,以支持新的可擴展固件接口 (EFI),而老式的 boot.ini 文件不再存在。Windows Server 2008 代之以使用引導配置數據 (BCD) 來管理引導過程。
管理 BCD 的最簡單方法是使用 BCDEDIT 命令行程序。說明所有 BCDEDIT 命令和選項需要一整篇文章,我在此處只向您顯示某些有用的示例。
要將 Windows Server 2008 DC 重新引導到 DSRM 中,請使用以下命令:
C:\> bcdedit /set safeboot dsrepair
這將為默認的引導加載程序項設置安全引導選項。在全新的 Windows Server 2008 安裝中,只有一個引導加載程序項 WINLOAD.EXE。要刪除安全引導選項並重新引導到正常模式中,請使用以下命令:
C:\> bcdedit /deletevalue safeboot
您可在 DC 上配置兩個引導加載程序項——一個用於正常引導,一個用於 DSRM 引導,這樣更為便利。您也就可以使用“System Settings”(系統設置)下提供的“Startup and Recovery”(啟動和恢復)設置對話框來更改引導選項。要添加新的引導加載程序項,請使用以下命令:
C:\> bcdedit /copy {default} /d "Directory Service Repair Mode"
此操作將通過復制默認的引導加載程序項創建一個新的引導加載程序項。BCDEDIT 將顯示與下面類似的內容:
The entry was successfully copied to {c50d4710-a1f0-11dc-9580-0003ff402ae9}.
GUID 會識別新項。然後,使用以下命令為 BCD 中新的引導加載程序項設置安全引導選項:
C:\> bcdedit /set {} safeboot dsrepair
...
>>
Figure 10 Disable incremental backups on busy volumes
在使用 WBADMIN 啟動系統狀態還原之前,必須確定要從其進行還原的備份。WBADMIN 可以從完整系統備份、只包含關鍵系統卷的備份或系統狀態備份執行系統狀態還原。在上述任一情況下,必須指定要使用的備份版本。確定可用備份版本的最簡單方法是使用下面的 WBADMIN 命令:
C:\> wbadmin get versions
WBADMIN 然後將以與下面代碼所示信息類似的形式顯示備份版本。請注意,每個備份都有一個備份時間、備份目標、版本標識符(順便說一下,它是備份以“通用平均時”啟動的時間和日期)以及一個可支持恢復操作的類型列表。
確定恢復可用的備份
wbadmin 1.0 - Backup command-line tool
(C) Copyright 2004 Microsoft Corp.
Backup time: 11/30/2007 3:47 PM
Backup target: Fixed Disk labeled E:
Version identifier: 11/30/2007-22:47
Can Recover: Application(s), System State
Backup time: 12/1/2007 10:46 PM
Backup target: Fixed Disk labeled Backup(E:)
Version identifier: 12/02/2007-05:46
Can Recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Backup time: 12/2/2007 5:58 PM
Backup target: Fixed Disk labeled Backup(E:)
Version identifier: 12/03/2007-00:58
Can Recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Backup time: 12/3/2007 11:25 AM
Backup target: Fixed Disk labeled E:
Version identifier: 12/03/2007-18:25
Can Recover: Application(s), System State
在本例中,我選擇最近的備份,並使用以下 WBADMIN 命令啟動系統狀態還原:
C:\> wbadmin start systemstaterecovery –version:12/03/2007-18:25
這將執行非權威還原。如果您希望執行 SYSVOL 的權威還原,只需將還原的 SYSVOL 副本標記為權威即可,方法是將 authsysvol 選項添加至 WBADMIN 命令。有關此過程的詳細信息,請參閱 go.microsoft.com/fwlink/?LinkId=113152。
...
>>
制作 Active Directory 快照
在 Active Directory 的備份方面,最激動人心的變化之一就是根本不再與 Windows Server Backup 發生關聯。在 Windows Server 2008 中,Active Directory 能夠提供“卷影復制服務”快照,這可充分利用這一功能。這些快照是正在運行的 Active Directory 服務的極輕型時間點備份。更為可喜的是,它們僅需幾秒鐘即可創建!隨後,您可以裝入這些快照並使用基於 LDAP 的正常實用工具(例如 LDP 工具)訪問它們。
使用如下所示的 NTDSUTIL 命令制作 ADDS 或 Active Directory 輕型目錄服務 (ADLDS) 的快照:
ntdsutil: snapshot
snapshot: activate instance ntds
Active instance set to "ntds".
snapshot: create
Creating snapshot...
Snapshot set {42c44414-c099-4f1e-8bd8-4453ef2534a4} generated successfully.
snapshot: quit
ntdsutil: quit
此 NTDSUTIL 命令序列會創建包含 Active Directory DIT、日志和 SYSVOL 的卷的“卷影復制服務”快照。即使 Active Directory 仍在更新,“卷影復制服務”也會使用寫入時復制策略來確保正確維護已制作的快照。請注意,快照不是 DIT 的完整副本。它們實際上只是 DIT 中制作快照後經過修改的磁盤塊的集合。通過將這些塊與 DIT 的當前副本組合在一起,VSS 所呈現的 Active Directory DIT 正是其在快照時的狀態。下面代碼顯示如何刪除舊的或不需要的快照。
刪除不需要的快照
C:\> ntdsutil
ntdsutil: snapshot
snapshot: list all
1: 2007/12/03:23:18 {42c44414-c099-4f1e-8bd8-4453ef2534a4}
2: C: {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022}
3: D: {2bbd739f-905a-431b-9449-11fba01f9931}
snapshot: delete 1
Snapshot {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022} mounted as C:\$SNAP_200712032318_VOLUMEC$\
Snapshot {2bbd739f-905a-431b-9449-11fba01f9931} mounted as C:\$SNAP_200712032318_VOLUMED$\
snapshot: quit
ntdsutil: quit
C:\>
裝入 Active Directory 快照
為了使用這些快照之一,您必須首先指示“卷影復制服務”使快照可供文件系統使用。為達此目的,可使用 ntdsutil 命令列出可用快照,然後裝入感興趣的快照。
使用 ntdsutil 裝入快照
C:\> ntdsutil
ntdsutil: snapshot
snapshot: list all
1: 2007/12/03:23:18 {42c44414-c099-4f1e-8bd8-4453ef2534a4}
2: C: {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022}
3: D: {2bbd739f-905a-431b-9449-11fba01f9931}
snapshot: mount 1
Snapshot {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022} mounted as C:\$SNAP_200712032318_VOLUMEC$\
Snapshot {2bbd739f-905a-431b-9449-11fba01f9931} mounted as C:\$SNAP_200712032318_VOLUMED$\
snapshot: quit
ntdsutil: quit
C:\>
"list all" 命令列出了當前由“卷影復制服務”維護的所有可用 Active Directory 快照。"mount 1" 命令裝入 Active Directory DIT 和日志卷的選定快照,然後使它們在文件系統中可用。它們位於 C:\$SNAP_200712032318_VOLUMEC$\ 和 C:\$SNAP_200712032318_VOLUMED$\ 中。
如果您查看這些文件夾,則會看到這些卷的整個內容與制作快照時相同。不過,請注意,裝入的快照為只讀,即:您無法修改已裝入快照中的任何文件。
從 Active Directory 快照恢復數據
裝入包含 Active Directory 的卷的快照這一任務看起來有些神秘。該如何訪問這些快照中所包含的 Active Directory 數據呢?DSAMAIN 命令就是其中的關鍵。它是運行 ADLDS 的可執行程序。實質上是一個獨立的 LDAP 服務器,幾乎與 ADDS 共享其所有代碼。您可以使用 DSAMAIN 使裝入的快照看起來像只讀 LDAP 服務器(包含制作快照時的 Active Directory 數據)。
請考慮以下命令:
C:\> dsamain –dbpath
c:\$snap_200712032318_volumed$\ntds\dit
\ntds.dit -ldapport 10000
這會裝入位於 c:\$snap_200712032318_volumed$\ntds\dit 文件夾中的 ntds.dit 文件,並使其可供 TCP 端口 10000(或您指定的任何開放端口)上的 LDAP 操作使用。DSAMAIN 將在所指定數字加一的端口(在本例中為 10001)上打開 LDAPS 端口(用於 LDAP over SSL 的端口)、在所指定數字加二的端口 (10002) 上打開 GC 端口(用於全局編錄連接的端口),在所指定數字加三的端口 (10003) 上打開 GCS 端口(全局編錄 over SSL)。
您可以使用任何 LDAP 程序(例如 LDP)訪問指定端口上裝入的 DIT。但在 Windows Server 2008 中,Active Directory 用戶和計算機 (ADUC)、站點和服務、域和信任關系以及 ADSIEDIT 均已經過修改,以允許您使用 DSAMAIN 將它們連接到裝入的 DIT。如果您右鍵單擊任何 ADUC 導航窗格中的頂層節點,並選擇“Change Domain Controller”(更改域控制器),則會看到圖 14 中所示的對話框。如果您只鍵入托管已裝入快照的服務器的名稱或 IP 地址以及端口(在我的示例中為 localhost:10000),則 ADUC 將連接裝入的快照,從而允許您浏覽目錄的內容(與制作快照時相同)。非常了不起,不是嗎?
Figure 14 Connecting Active Directory users and computers to a mounted snapshot
能夠以此方式訪問目錄數據使多種數據恢復任務都比以前容易多了。例如,要從備份恢復刪除的對象,以前需要對現有 DC 執行備份的非權威還原,然後執行已刪除對象的權威還原。如果您還原的備份沒有正確數據,則必須使用其他備份再次全部啟動。現在,使用邏輯刪除恢復和快照,您可以快速找到並恢復刪除的數據,甚至不必使域控制器脫機即可執行此操作。
不過,有一些限制。例如,每個活動快照都會增加與寫入到目錄操作關聯的磁盤 I/O,因此,生產 DC 任意時間點的活動快照不應超過一或兩個。此外,快照保持活動狀態的時間越長,“卷影復制服務”變化量存儲就會越大——這也會影響性能。當然,簡單恢復刪除的對象只是恢復問題的第一部分。您可能還必須恢復對象的鏈接屬性,例如組成員身份等。但是,即使在此情況下,快照也可以幫助您確定已刪除對象所屬的所有組。
可靠的 Active Directory 備份和恢復策略
Windows Server 2008 帶來了一個全新的備份和恢復系統。某些變化起初可能會讓人感到不滿。但是,一旦 IT 組織接受這些變化並將新的備份技術融入到日常操作中,更加有效的備份和恢復實施將會使其為之一振。
即使 Windows Server 2008 中備份服務器的方法發生了諸多變化,備份和恢復 Active Directory 的基本策略實際上並無太大變化。因此,在規劃策略時,請確保記住這些最佳實踐:
計劃定期完整備份系統,這樣您便可以在硬件出現故障後恢復 DC。計劃 DC 完整備份的頻率取決於數據更新的頻率、停機時間和/或數據丟失的容差,以及從頭開始重新構建 DC 可能需要的工作量。
計劃經常性系統狀態備份以備份 Active Directory 中的更改。執行系統狀態備份的頻率取決於丟失 Active Directory 數據的容差。但是,您一天應至少執行一次這種備份。如果您有硬件,則至少在本地磁盤上保持一個或兩個系統狀態備份,並將舊的系統狀態版本復制到 DVD 或網絡共享。
確保至少對每個域中的兩個 DC 執行系統狀態備份。這將在其中一個備份出現錯誤或不可用時提供一些保障。
請確保使用應用程序分區副本(如果它們已定義)來備份 DC。同時,考慮在 DC 上創建 Windows 恢復環境,以便您可以在關鍵系統驅動器出現故障時能快速引導到 WinRE 中。