虛擬化

伺服器虛擬化的備份和嚴重損壞修復

Adam Fazio

 

綜覽:

  • 規劃嚴重損壞修復的考量因素
  • 嚴重損壞修復的高可用性解決方案
  • 透過 Windows Server Backup 進行備份和還原

目錄

嚴重損壞修復規劃 101
嚴重損壞修復和虛擬化
實體轉虛擬
虛擬機器快照集
備份 Hyper-V
Windows Server Backup
使用 WSB 備份 VM
考量因素
使用 WSB 還原 VM
Data Protection Manager
指令碼式備份
DiskShadow
總結

隨著伺服器虛擬化技術逐漸成形,以及業界廣為採納,各組織也開始發現虛擬化所提供的好處遠超過普遍的理由:降低基礎結構成本,以及提高 IT 靈活度。下一個境界是運用虛擬化平台作為提供或加強嚴重損壞修復 (DR) 策略的途徑。

DR 的整備為什麼一直以來都是 IT 產業面臨的最熱門話題之一呢?相關研究指出,公司停機每小時平均損失 $80,000 到 $90,000 美元,鮮少有公司能從毀滅性資料損失長期倖存下來。本文將介紹使用 Microsoft 虛擬化平台的 DR,還會深入探討 Windows Server 2008 Hyper-V 的備份和還原選項和考量因素。

嚴重損壞修復規劃 101

DR 是指在停機的情況下還原關鍵服務的過程,而且應該屬於每家公司業務持續性計畫的一部分,其中定義著公司在碰到這類災難期間或之後要如何繼續運作。這些計畫是任何 DR 行動的基石。

有些廠商宣稱它們的 DR 自動化技術不太需要或完全不需要詳盡和充分演練的計畫。雖然自動化能夠改善修復的時間,並降低對人為介入的依存,在此還是要做個公眾服務通告:光靠技術是無法成功舒緩大災難的。人員和程序一向與技術同等重要。

事實上,您會發現到若不先認識 DR 規劃過程中出現的所有限制和目標,要選擇適當的技術是不可能的。雖然定義整個 DR 計畫已超過本文討論範圍,但我還是要強調一下選擇適當技術和實作的必備要素。所以,就讓我們迅速簡述一下 DR 計畫當中一些重大的技術推動力吧。

服務定義和優先處理您想要保護的整個服務定位在哪哩,還有它對於貴公司有多重要?[圖 1] 顯示任何 DR 計畫中可能包含的公司服務範例。

[圖 1] 服務定義和優先處理範例

服務 主要元件 依存性 商業用途 SLA
公用網站 網路負載平衡器,三部網頁伺服器,兩部資料庫伺服器 DNS,網路,防火牆,目錄,儲存區域網路 (SAN) 存放裝置 產品採購和訂單追蹤,電子商務,客戶支援入口,公司資訊 99.99%
財務系統 兩部資料庫伺服器,一部應用程式伺服器 DNS,網路 記錄公司營收,如法規所要求 99.99%
電子郵件系統 三部電子郵件伺服器,一部網頁伺服器 DNS,網路,防火牆,目錄 公司通訊,客戶支援 99.5%

一定義好服務之後,就可以開始確認要針對哪種 DR 策略,鎖定哪些系統和依存性。您可能會在看過整組服務和依存性之後,才發現到您需要考慮幾個不同等級的 DR 功能,因為若將單一 DR 解決方案用於所有關鍵型服務,可能過於昂貴和複雜。

服務等級協定 (SLA) SLA 是服務提供者 (IT) 與客戶 (公司) 之間,針對指定服務來定義可用性目標的協定或合約。這些協定可長可短,也可以很親切,例如「電子郵件系統除了排定的維護作業期間外,一般營業時間內的可用度為 99.95%,而在非一般營業時間則為 98%,每月都會進行測量」。SLA 通常會分成幾個可指定 IT 服務的階層,並且在預先定義的時段內進行測量。

作業等級協定 (OLA) OLA 基本上是幾個共同支援 SLA 的 IT 群組之間所訂下的協定,包括提供其服務的程序和回應時間。假設您關鍵型網站的 SLA 目標為 99.99%,但是它的內容所仰賴的資料庫,其可用性目標只有 95%。那麼 OLA 可幫助您釐清這些不協調的現象,讓 IT 小組合作朝著相同的目標前進。

復原點和復原時間目標 (RPO/RTO) RTO 是指服務可以停擺多久持續性才會中斷,而 RPO 則是公司認為可以接受的資料損失等級。因此,如果服務每月測量得到 99% 的 SLA,它的 RTO 就是 7 個小時和 18 分鐘。如果您把該值與比方說 24 小時的 RPO 配對,就可以準確定義您的備份方法和排程了。

資料保留原則 公司的資料保留原則所指定的是備份要保留多久的時間,以及保留在哪裡。這些通常是依據法規的需求而定。

資料分類 另外,您還應該考慮資料的本質。如果您把資料分門別類,很快就可以看出並非所有資料都需要考慮採用相同等級的 DR。比方說,單一資料庫的可用性需求,可能與含有多個網域控制站、各自都包含目錄複本的 Active Directory 截然不同。同樣地,檔案伺服器資料的還原程序,也可能與 CRM 資料大相逕庭。

嚴重損壞的案例 針對所有您想要規劃的案例下定義是很重要的,因為每個都會有不同的還原程序、業務衝擊,以及相關聯的成本。您可以分析所有可能的案例,然後在針對您的環境進行 DR 規劃時,決定想要鎖定哪一個案例目標,這個做法很有幫助。

  • 喪失整個網站
  • 喪失單一資料中心
  • 喪失系統 (作業系統或硬體失敗)
  • 喪失資料 (資料刪除或損毀)
  • 喪失關鍵依存性

復原喪失的整個網站,與復原喪失的單一系統,兩者要考量的因素完全不同。您也需要根據 SLA 來定義復原閾值。譬如,讓我們假設整個網站是因為主要的 ISP 網路中斷而離線。如果根據 SLA,受影響的服務需要 8 個小時來還原服務,需要 48 個小時來還原資料,您可能會選擇將服務容錯移轉到備份網站,而不會執行資料復原程序,因為這麼做預計很快就會回復到實際執行的網站了。

哎呀!連相關技術都還隻字未提,就這麼煞費周章了!千萬不要低估規劃的必要性,DR 實作若沒有根據記錄下來的計畫進行,不過是「DR 空談」罷了。

嚴重損壞修復和虛擬化

DR 規劃的基礎討論完畢之後,接下來要看看虛擬化扮演什麼角色。許多公司都指出,虛擬化伺服器只需幾分鐘的時間就能夠還原完成,比起需要好幾天、甚至好幾個星期還原的實體伺服器來說快多了。因為整個伺服器作業系統不過是一組擷取自基礎實體硬體的檔案,因此為復原性開啟了新視野。

當今普遍的理論都認為部分或全部的 DR 目標,可以透過高可用性 (HA) 解決方案達成。其構想是假設您在不同的實體位置安置了叢集節點,而且各站台間的資料都保持同步,萬一發生失敗時,被動節點仍然可以繼續運作,您因此得以在近乎即時的情況下復原。

這一點是沒有錯,但要是您回想一下前文定義的嚴重損壞案例,就不難發現這並不是適用於所有案例的解決方案。您需要結合各項技術為所有案例做好準備,而這一般包括某種形式的定期備份。HA 並不能為所有可能的停機提供保障,而且它多少也需要某種形式的備份策略。

若將 HA 搭配 Hyper-V 使用,必須審慎規劃存放裝置層,因為這是復原的關鍵要素。舉例來說,如果雙節點 Hyper-V 叢集含有共用存放裝置,還是會有存放裝置子系統和資料這個單一失敗點,即使叢集節點位於不同的資料中心也一樣。

但是,如果同樣的雙節點 Hyper-V 叢集所含的是非共用存放裝置,它的其中一個節點或另一個節點,就能逃過存放裝置或資料損失的毀滅。不過,這需要複寫技術才能使存放裝置保持同步,而且程序非常複雜 (見 [圖 2])。

fig02.gif

[圖 2] 多站台 Hyper-V 叢集 (按一下以放大影像)

資料複寫和同步處理領域的發展有的非常有趣,但是都與 Micro­soft 目前提供的無關。您不妨看看 Windows Server 2008 多站叢集網頁 (microsoft.com/windowsserver2008/en/us/clustering-multisite.aspx) 所展示的合作夥伴。另外一項資源是 Windows Server Catalog (請參閱 windowsservercatalog.com),當中列有具有經過 Windows Server 2008 認證提供之複寫技術的存放裝置廠商。

如您所見,您要考慮的 HA 和存放裝置設定相當多。這也是為什麼您必須定義商務要求,並透過它們來推展技術需求,而不是反其道而行的原因。

實體轉虛擬

虛擬化顯然提供了一些獨一無二的復原靈活性,但那些不適合虛擬化的實體系統怎麼辦呢?System Center Virtual Machine Manager (SCVMM) 可以對執行中的 Windows 伺服器進行實體轉虛擬 (P2V) 作業,而產生與實體來源伺服器完全一樣的可開機 Hyper-V 虛擬機器 (VM)。因此,現在您就可以跨園區或跨國界來複寫這個 VM,就像複寫虛擬化機器一樣,達到類似的復原效果。

這套方法與傳統裸機還原的不同之處在於,復原位置中的實體系統數量或類型,不必與實際執行位置一樣。因此,您可以超量預訂復原硬體,並在需要的時候,依據嚴重損壞的影響狀況加以擴充。

雖然 SCVMM 還沒有預定推出 P2V 轉換的時間表,不過既然 GUI 可完全以 Windows PowerShell 為基礎來執行,使用 New-P2V 指令程式很容易就可以編寫出轉換的指令碼。事實上,SCVMM 中所有的精靈都會顯示它們用來執行工作的程式碼,而且您可以在環境內複製測試 P2V 的程式碼,加以修改供未來自動化之用。[圖 3] 顯示一些範例程式碼,您可以在環境內執行 SCVMM P2V 精靈,以取得獨特且可自訂的 Windows PowerShell 指令碼。

[圖 3] SCVMM P2V 精靈所產生的程式碼

$Credential = get-credential

New-MachineConfig -VMMServer <VMM SERVER> -SourceComputerName "<SOURCE P2V SERVER>" 
-Credential $Credential -RunAsynchronously 

$VMHost = Get-VMHost -VMMServer <VMM SERVER> | where {$_.Name -eq "<TARGET HYPER-V HOST>"}
$MachineConfig = Get-MachineConfig -VMMServer <VMM SERVER> | where {$_.Name -eq "<SOURCE P2V SERVER>"}

New-P2V -VMMServer <VMM SERVER> -VMHost $VMHost -RunAsynchronously -JobGroup 
e823f50d-dbc7-4a41-9087-fb01bb44dc26 -SourceNetworkConnectionID "00:14:D1:3C:66:2F" 
-PhysicalAddress "00:14:D1:3C:66:2F" -PhysicalAddressType Static -VirtualNetwork "External" 
-MachineConfig $MachineConfig 

$VMHost = Get-VMHost -VMMServer <VMM SERVER> | where {$_.Name -eq "<TARGET HYPER-V HOST>"}
$MachineConfig = Get-MachineConfig -VMMServer <VMM SERVER> | where {$_.Name -eq "<SOURCE P2V SERVER>"}

New-P2V -VMMServer <VMM SERVER> -VMHost $VMHost -RunAsynchronously -JobGroup 
e823f50d-dbc7-4a41-9087-fb01bb44dc26 -VolumeDeviceID "C" -Dynamic -IDE -Bus 0 -LUN 0 -MachineConfig $MachineConfig 

$Credential = get-credential
$VMHost = Get-VMHost -VMMServer <VMM SERVER> | where {$_.Name -eq "<TARGET HYPER-V HOST>"}
$MachineConfig = Get-MachineConfig -VMMServer <VMM SERVER> | where {$_.Name -eq "<SOURCE P2V SERVER>"}

New-P2V -Credential $Credential -VMMServer <VMM SERVER> -VMHost $VMHost -Path 
"C:\ProgramData\Microsoft\Windows\Hyper-V" -Owner "DOMAIN\username" -RunAsynchronously -JobGroup 
e823f50d-dbc7-4a41-9087-fb01bb44dc26 -Trigger -Name "<SOURCE P2V SERVER>" -MachineConfig 
$MachineConfig -CPUCount 1 -MemoryMB 512 -RunAsSystem -StartAction NeverAutoTurnOnVM 
-UseHardwareAssistedVirtualization $false -StopAction SaveVM 

虛擬機器快照集

VM 快照集在技術上雖然不是備份,但它提供了一個可讓您使用差異磁碟和 VM 設定檔複本進行還原的時間點。假如嚴重損壞意外刪除了 VM 內部的資料,便可將這視作 DR 功能,因為您可把 VM 回復到快照集,將所造成的損害復原 (我們稍後會探討磁碟區陰影複製服務 (或 VSS) 快照集)。

備份 Hyper-V

主機型備份 伺服器虛擬化最令人雀躍的優點之一,就是可以不用再個別備份虛擬化系統。既然這些系統現在不過是存在主機檔案系統上的檔案,那麼直接備份檔案不就好了嗎?事情可沒那麼簡單,因為這些都是由記憶體中的資料,磁碟、系統和設定上的資料,以及開啟檔案所構成的即時電腦,有幾件事需要考慮。那麼我們要如何確保所有這些活動組件的備份資料都能保持一致呢?

Windows Server Backup 故事的一大轉折要拜 Windows Server 2003 和 VSS 的問世所賜,其中的改進提供了一組標準的可延伸 API,可讓 VSS 寫入器 (會連接到應用程式和服務,幫助提供一致的陰影複本) 用來建立開啟檔案和應用程式的備份。有了 VSS 服務、提供者和寫入器的鼎力相助,備份應用程式很快就能夠產生磁碟區的時間點複本,應用程式不但能感知這樣的複本,也能適當進行處理。

Hyper-V 有自己的 VSS 寫入器,容許軟體製造商建立陣容堅強的備份解決方案。寫入器可讓備份應用程式對執行中的 VM 進行主機型 VSS 備份。假如在 VM 內部執行的作業系統同時裝有 Hyper-V 整合元件和 VSS 服務 (Windows XP SP1 和 Windows Server 2003 及其後版本皆有提供),那麼主機型備份便會像在來賓內部執行一樣進行,備份會在 VM 處於執行狀態時執行,而且資料將會保持一致 (見 [圖 4])。

fig04.gif

[圖 4] VSS 備份 (按一下以放大影像)

然而,要是虛擬作業系統不支援整合元件或 VSS,備份程序會要求把來賓機器置於儲存狀態,並且要求製作 VM 資料檔案的主機 VSS 快照集,以便用於時間點復原。處於儲存狀態的 VSS 快照集會產生一些 VM 停機時間 (一般可以限制為 5-10 分鐘的時間),對資料的 VSS 複本進行完整的備份到磁帶程序。

來賓型備份 在實際環境中,伺服器和應用程式都需要個別進行備份,而這樣的備份方式也必然會延用到虛擬化資料中心。因此,備份 VM 時也要考慮相同的因素,例如網路型備份的網路容量需求,以及備份期間對系統的效能衝擊等。透過來賓型備份,您可以選擇在主機中擁有一個專用的實體 NIC,繫結到所有來賓使用的虛擬網路。

Windows Server Backup

Windows Server 2008 內含具備 VSS 功能的 Windows Server Backup (WSB),可用來執行 VM 的 Hyper-V 主機型和來賓型備份。因為它具備完整的 VSS 功能,所以能夠對執行中的 VM 執行主機型備份,而這也是慣用的備份方式。

但若是您的 VM 沒有安裝整合元件,則不會使用 VSS。在這種情況下,您有幾個選擇,您仍舊可以使用 WSB 來備份沒有安裝整合元件的 VM,也就是說,VM 的狀態將會儲存下來,然後備份會抓取 VM 的虛擬磁碟和設定檔。

不過,這種作法對於像是 Exchange 之類的應用程式可能不太恰當,因為應用程式無法感知備份已經執行,而且應用程式記錄檔也不會被截斷。此外,VM 也會發生停機,視備份所花的時間而定。

另外一個可行的方法是,把 VM 當作實體機器一般,使用 NTBackup 或 WSB (視 VM 的 OS 而定) 從 VM 內部執行備份。讓我們來看看要如何將 WSB 用於裝有整合元件的支援來賓。

使用 WSB 來備份 VM

Hyper-V 並不會自動註冊它自己的 VSS 寫入器,以與 WSB 搭配使用。您必須手動新增 [圖 5] 所示的登錄機碼和值後,WSB 才會支援 Hyper-V 備份。您可以透過命令列來新增它們,如下所示:

reg add "HKLM\Software\Microsoft\windows nt\
  currentversion\WindowsServerBackup\Application
  Support\{66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}"
reg add "HKLM\Software\Microsoft\windows nt\
  currentversion\WindowsServerBackup\Application
  Support\{66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}" /v
  "Application Identifier" /t REG_SZ /d Hyper-v

[圖 5] 用於註冊 Hyper-V VSS 寫入器的機碼和值

路徑 登錄機碼或值 類型
HKLM\Software\Microsoft\windows nt\currentversion\WindowsServerBackup\ Application Support\ {66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE} 機碼 n\a
HKLM\Software\Microsoft\windows nt\currentversion\WindowsServerBackup\ Application Support\{66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}\Application Identifier REG_SZ (例如,Hyper-V)

這個動作並不需要重開機,因為 WSB 會在備份執行階段搜尋這個機碼/值。下列命令將顯示項目是否已設定:

reg query "HKLM\Software\Microsoft\windows nt\
  currentversion\WindowsServerBackup\Application
  Support\{66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}" /s

以下說明如何安裝 WSB。按一下 [開始] | [伺服器管理員],再依序按一下左窗格中的 [功能],和右窗格中的 [新增功能]。然後在 [選取功能] 頁上展開 [Windows Server Backup 功能],並勾選 [Windows Server Backup] 和 [命令列工具] 核取方塊。接著按照下列步驟來設定您的備份:

  1. 前往 [開始] | [系統管理工具] | [Windows Server Backup]。
  2. 若是備份遠端主機,請選取 [連線到另一台電腦],然後輸入 Hyper-V 主機。
  3. 選擇 [單次備份] 或 [備份排程]。
  4. 選擇備份設定 — [完整伺服器] 或 [自訂]。若選取 [自訂],請務必加上所有包含您備份之 VM 相關資料 (包括 VM 設定資料、虛擬磁碟和快照集) 的磁碟區。
  5. 選擇要存放備份的位置。
  6. 選擇 [VSS 完整備份] 或 [複製備份]。如果是主機型備份,也就是 VM 沒有在進行其他備份,請選擇 [VSS 完整備份]。
  7. 一旦確認詳細資料後,請選取 [備份]。

考量因素

  • 您必須備份與 VM 相關的所有磁碟區,包括虛擬硬碟 (VHD)、VM 設定檔和快照集在內。
  • 如果您要建立備份排程,必須使用可經過格式化並完全由 WSB 使用的專用本機磁碟區。相反的,如果您執行的是單次備份工作,則可以把備份存放在非專用的本機磁碟區、卸除式裝置或網路共用上。
  • 若是在備份的 VM 內未安裝整合元件,WSB 會儲存執行中的 VM 狀態,以確保備份資料的一致性。
  • 完成後,備份組便具備可攜性,而且可與任何 Hyper-V 主機搭配使用。

使用 WSB 來還原 VM

雖然 WSB 確實具備還原個別檔案的功能,但這項功能並不會使用 VSS,因此若是 VM 在備份當時處於執行狀態,可能會導致還原不一致。若要還原執行中的 VM,您必須還原整個磁碟區。

如果要這麼做,必須前往 [開始] | [系統管理工具] | [Windows Server Backup],在 [執行窗格] 中選取 [復原]。然後選取要從中復原資料的伺服器 (WSB 備份資料所在的伺服器),再選取要從該資料還原的資料。接著就可以選擇復原類型了。

您必須在這裡做個決定,如果您需要整個 VM,包括它的設定、快照集和虛擬磁碟 (譬如,在發生主機徹底失敗的情況下),請依序選取 [應用程式還原] 和 [Hyper-V],如 [圖 6] 所示。在這種情況下,您不能選擇還原個別檔案,必須還原包含在該備份組內的一切項目。請注意,這個動作並不會覆寫自上次備份以來變更的現有 Hyper-V 和 VM 設定資料。

fig06.gif

[圖 6] 還原 Hyper-V 備份 (按一下以放大影像)

如果您只需要 VHD 本身,而且 VM 的設定資料和快照集很健康,可以選取 [檔案和資料夾],然後挑選所需的個別 VHD 檔案。請注意,這項程序並不會使用 VSS 寫入器,VM 應該先儲存它的狀態,再使用寫入器來進行備份。

如果您徹底損失系統和資料,而且需要復原 Hyper-V 主機本身 (包括 Windows Server 2008 作業系統及其內執行的全部 VM),則必須開機到 Windows 修復環境,並從該處執行還原作業。您可以從 Windows Server 2008 開機磁碟或預先設定的磁碟分割來完成這項作業。

Data Protection Manager

我們討論過 Hyper-V 主機和來賓使用可靠、免費、內建的 WSB 進行備份和還原的步驟和考量因素,但 WSB 並不是企業級的資料保護解決方案。它所缺乏的地方,Data Protection Manager (DPM) 2007 SP1 都能一一補齊。DPM SP1 目前是排定在 2008 年尾發行,它將支援 Hyper-V,並提供一些令人讚賞的功能:

  • 適用於所有 Hyper-V 主機和來賓的單一管理主控台。
  • 連續資料保護,以高達 15 分鐘的間隔擷取 VSS 型快照集,並且只擷取程序當中有變更的位元。
  • Hyper-V 叢集的感知能力,允許備份隨著它在叢集節點之間移動時追隨 VM。
  • DPM 伺服器對 DPM 伺服器複寫。:-)
  • 支援磁碟和磁帶媒體 (磁碟到磁碟、磁碟到磁帶,或磁碟到磁碟到磁帶)。
  • 跨整個資料幅度進行備份和還原的能力,包括 Hyper-V 主機和來賓;對執行中的來賓進行無代理程式的 VSS 備份;支援還原個別 VM;容錯移轉叢集資料;以及適用於 SQL Server、Exchange、SharePoint、Hyper-V 和 Virtual Server 的頂級應用程式專屬功能。
  • 備份前和備份後指令碼處理。

假如您目前是使用協力廠商備份解決方案,請留意應用程式的更新,大多數廠商都竭力推出 Hyper-V 主機型解決方案。

指令碼式備份

WSB 包含一個命令列介面 WBadmin.exe,另外也包含了一組 Windows PowerShell 指令程式,可與指令碼搭配使用。在使用這些功能時,前述的備份規則也適用,另外還需要透過登錄手動註冊 Hyper-V VSS 寫入器。

[圖 7] 顯示一些 WBAdmin 命令。如需完整的 WBAdmin 說明文件,請參閱 go.microsoft.com/fwlink/?LinkId=124380。您可以看到,WBAdmin 裡面並沒有東西可以設定備份原則本身,但是有一個 Windows PowerShell 嵌入式管理單元可用來管理這些設定。您可以使用下列命令來測試看看這個嵌入式管理單元是否已註冊:

Get-PSSnapin -Registered

[圖 7] WBAdmin 命令

WBAdmin 命令 描述
ENABLE BACKUP 啟用或修改排程的日常備份。
DISABLE BACKUP 停用執行中的排程日常備份。
START BACKUP 執行備份。
STOP JOB 停止目前執行中的備份或復原作業。
GET VERSIONS 列出從特定位置復原的備份詳細資料。
GET ITEMS 列出備份中所含的項目。
START RECOVERY 執行復原。
GET STATUS 報告目前執行中的工作的狀態。
GET DISKS 列出目前上線的磁碟。
START SYSTEMSTATERECOVERY 執行系統狀態復原。
START SYSTEMSTATEBACKUP 執行系統狀態備份。
DELETE SYSTEMSTATEBACKUP 刪除系統狀態備份。

而且您可以使用下列命令,載入名為 Windows ServerBackup 的嵌入式管理單元:

Add-PSSnapin windows.serverBackup 

把它載入之後,您就可以存取適用於 WSB 的 Windows PowerShell 指令程式,如 [圖 8] 所示。如需每個指令程式的詳細說明,請執行下述命令:

Get-Command -PSSnapin windows.serverBackup | select name | get-help –full

[圖 8] Windows Server Backup 指令程式

指令程式 描述
Add-WBBackupTarget 新增備份目標到備份原則。
Add-WBVolume 新增磁碟區到備份原則。
Get-WBBackupTarget 從原則取得備份目標。
Get-WBDisk 取得所有磁碟。
Get-WBPolicy 取得目前備份原則。
Get-WBSchedule 取得原則當中的備份排程。
Get-WBSummary 取得備份歷程記錄和摘要。
Get-WBVolume 取得所有磁碟區。
New-WBBackupTarget 新建備份目標。
New-WBPolicy 新建空白原則。
Remove-WBBackupTarget 將備份目標從原則移除。
Remove-WBPolicy 刪除備份原則。
Remove-WBVolume 將磁碟區從原則移除。
Set-WBPolicy 儲存 WBPolicy 物件以建立排程備份。
Set-WBSchedule 設定備份原則的排程。

另外還有一個內建至 Windows Server 2008 的公用程式也可以利用 Hyper-V VSS 寫入器,並為您的指令碼選項添加一些彈性。DiskShadow.exe 允許將陰影複本製作並掛接成磁碟機,跟使用 WSB 比起來,這可讓系統管理員進行選擇性較高的備份。而且您要牢記一個重點,DiskShadow 並不接受 Windows PowerShell 管線輸入,它反而要求命令透過指令碼傳遞給它,看起來可能像這樣:

Delete Shadows Volume C:
Set Context Persistent
Begin Backup 
Writer Verify {66841cd4-6ded-4f4b-8f17-fd23f8ddc3de}
Add Volume C: ALIAS MyShadow 
Create
End Backup
Expose %MyShadow% X: 
Exit

這個指令碼首先會刪除磁碟 C: 任何現有的陰影複本,然後確認該陰影複本在 DiskShadow 執行後會繼續存在。接下來,它會建立一個交易區塊 — 如果當中有任何步驟失敗,整個程序也會失敗。在這個區塊中,DiskShadow 會確認 Hyper-V 的寫入器已載入,並新增磁碟機 C:到要備份的磁碟機清單中。

磁碟機 C:會取得 GUID 以利識別,而且這個 GUID 會儲存在名為「MyShadow」的環境變數中。該動作完成後,便會建立陰影複本。

備份是利用環境變數公開成磁碟機 X:。利用 X: 上的資料可以完成不同的事項,接著可使用命令 Unexpose X: 再次執行 DiskShadow 來移除磁碟機。

請注意,要還原透過 DiskShadow 備份的 Hyper-V VM,目前還是必須以手動方式進行 (VM 必須重新建立,快照集也不會保留等)。雖然這有些明顯的缺點,但至少資料有受到保護。

總結

DR 的艱辛過程可能看似永無止盡,但伺服器虛擬化帶來了一線光明,這全都要歸功於技術和所產生的低成本進入點。Microsoft 不光是提供虛擬化而已,它提供的是整個生態系統。伺服器虛擬化平台與 System Center 系列產品相結合,為各公司所面臨的不斷增加的複雜挑戰 (包括 DR 在內),提供了更周全的解決方案。

在此特別感謝 James O’Neil 對本文所作的貢獻。

Adam Fazio 在兩年多前加入微軟顧問服務 (Microsoft Consulting Services) 的行列,現居美國國民住宅。他投入 IT 產業已有 10 多個年頭,曾為美國财星前一百大 (Fortune 100) 公司,還有網路創業公司處理過各種基礎結構專案和資料中心作業。他目前在 Microsoft 擔任全球虛擬化快速部署專案 (Virtualization Rapid Deployment Program) 的技術呈報主任。