Windows Server 2008 R2 中的備份基礎
數據保護始終是 Windows 專業人員的關鍵任務。運行備份作業將數據備份至磁帶或磁盤,是許多 IT 專業人員處理此項任務的方式。大型 IT 商店通常都有預算,可以承擔功能更全面的第三方備份解決方案。而其他人則依賴于 Microsoft 提供的免費備份工具。
過去的 Microsoft 免費工具已在已經成為古老的 NTBackup。但是,該工具已經進入了天空中那個巨大的回收站。Windows Server 2008 提供了一組新的備份工具,我將向您展示在新的 Windows Server 2008 R2 中,它們使用起來是如何簡單方便。即使您擁有第三方備份工具,您仍然會發現它有助于理解如何執行快速備份和更新備份。請注意,新的備份功能不能管理用 NTBackup 創建的備份。
安裝要點
首先,我們需要安裝備份功能,因為默認情況下不會安裝此功能。使用服務器管理器中的“添加功能向導”,并添加 Windows Server 備份功能(圖 1)。我將使用命令行工具子功能,以便使用 Windows PowerShell - 我將在本文后面詳細介紹此功能。我還可以使用 ServerManagerCMD.exe 等命令行工具來安裝該功能:C: servermanagercmd –install backup-features。
▲圖 1 使用“添加功能向導”安裝 Windows Server 備份功能和命令行工具。
下一步是找出備份的位置。您可以備份到網絡共享、本地卷或專用磁盤。您不能將數據備份到磁帶上,但是考慮到價格便宜的 USB 存儲設備不斷增多并且使用廣泛,目前這不是一個很大的缺陷。但是,您需要考慮一些因素。
Windows 備份在索引、目錄和其他支持文件方面會產生相當大的開銷。這與創建 .zip 文件不同。切勿假設 100KB 的文件只需要 100KB 的備份空間 - 它們需要的空間要大得多。
在備份到網絡共享時,您必須小心處理文件級訪問控制,以便保護備份的完整性和安全性。還需要注意,如果您將文件備份到相同的網絡共享,以前的備份將被覆蓋。簡單的解決方法是為每個備份創建一個子文件夾。這同樣也適用于您選擇本地卷作為備份目標的情況。
使用網絡共享或卷的一項優勢是 Windows 備份將創建一個 .vhd 文件來包含所有備份的文件。當您指定備份位置時,Windows 備份將創建名為 WindowsImageBackup 的頂級文件夾。在此文件夾中,將為每個計算機創建一個備份文件夾。備份按日期建立版本;因此您將看到類似如下的文件夾名稱:Backup 2009-12-14 172606。該文件夾中包含備份的文件和 .vhd。您可以將此 .vhd 裝入到 Windows 7 和 Windows Server 2008 R2 中。根據您的備份和存檔要求,您可能只需要將此文件移到長期磁盤存儲設備上或將其刻錄到 DVD 上。
最簡單、最快速的方法是使用專用磁盤。該磁盤可以是內部連接的,也可以是通過 USB 或 FireWire 外部連接的。Microsoft 建議,該磁盤上的可用空間應該不少于您要備份的數據的 2.5 倍。該驅動器將被格式化,并從普通管理工具中隱藏,但是會顯示在“磁盤管理”工具中。您可以使用容量高達 2TB 的磁盤。
#p#
創建備份作業
Windows 備份旨在提供一站式設置來保護服務器。您可以啟用計劃任務,以便備份文件和系統狀態,或者提供裸機還原。Microsoft 假設您會有一個計劃任務用于此目的。而我假設您由于預算有限而正在使用 Windows 備份功能,并且力圖在該工具的限制下尋求最大程度的保護。
當您安裝 Windows 備份功能后,在服務器管理器中展開“存儲”節點,并選擇“Windows Server Backup”。在“操作”窗格中,選擇“備份計劃”,從而啟動“備份計劃向導”。然后,在“入門”屏幕上單擊“下一步”。
在第二步中,指定您需要執行何種備份。請嘗試執行完整的服務器備份。您也可以創建自定義備份并選取某些項目,例如選定文件或系統狀態。以后我將向您展示如何執行快速文件備份,但是現在我假設您希望執行完整的服務器備份。
在第三步中,指定您希望備份任務在何時運行。大多數時候,一次備份就足夠了,但是您也可以每天運行多次備份。如果您要備份關鍵文件,這可能是一種好選擇。
在第四步中,決定將備份存儲在何處。Microsoft 建議使用專用的硬盤。請記住,此驅動器將被重新格式化,并且不再可用。您也可以使用卷或網絡共享。請密切注意警告和限制。您可能會看到一條警告,提醒您該磁盤將被重新格式化。
如果您沒有看到所有磁盤,請單擊“顯示所有可用磁盤”按鈕進行刷新。當您選擇一個新磁盤時,不會顯示警告。選擇后,您有一次機會來確認備份設置。如果有任何問題,請使用“上一步”按鈕返回并更正錯誤。如果一切順利,您將看到匯總屏幕。第二天,您就可以檢查 Windows Server Backup 節點,了解結果或錯誤。
您也可以使用 Windows 備份來執行一次性備份。在“操作”窗格中,選擇“立即備份”選項。您可以使用與計劃作業相同的設置,也可以選擇完全不同的設置。如果您選擇了后者,向導將再次運行,以便您輸入新參數。例如,您可能希望將文件復制到網絡共享。請記住,同一文件夾中的任何現有備份都將被覆蓋。備份將立即執行。如果有一項您需要經常執行的備份任務,則您可能希望利用從命令行或 Windows PowerShell 執行腳本化解決方案。我將在后面介紹該過程。
#p#
還原數據
Windows 備份使用時間戳作為版本信息。使用“恢復”任務將啟動一個很容易處理的向導。選擇合適的備份來源?;謴拖驅@示所有可用備份的日期時間控件(請參見圖 2)。選擇合適的備份。根據備份的類型,您可能只有一項選擇。
▲圖 2 從恢復向導中選擇可用的備份。
接著,選擇您希望恢復何種數據。如果您選擇“文件和文件夾”,則可以突出顯示您要恢復的文件。遺憾的是,幾乎不可能從多個目錄中選擇文件。您可以輕松恢復所有內容,或者從一個目錄中恢復選定的文件。在您設置備份作業時,一定要注意這一點。
當您恢復文件時,需要指定目標文件夾,該文件夾可以是原始文件夾,也可以是其他位置。您也可以控制如果存在當前版本,則在您恢復當前文件時將如何處理。您可以創建一個副本,以便獲得兩個版本;您可以覆蓋現有版本;也可以在檢測到現有版本時跳過恢復操作。恢復過程會立即執行。
#p#
使用 WBADMIN.EXE
如果您安裝了命令備份工具,就會有更多選項。打開命令提示服,然后查看 WBADMIN.EXE 的幫助。您可以使用該工具來設置計劃備份,但我認為用 GUI 來執行同樣的任務要容易得多。您會發現此工具更適用于創建一次性備份作業。運行以下命令來查看語法幫助:
C:> wbadmin start backup /?
本文沒有足夠的篇幅來解釋所有選項,但是可以展示一下如何使用此命令行工具,定期將文件備份到網絡共享:
@echo off
::Demo-Backup.bat
::demonstration script using WBADMIN.EXE on a Windows Server 2008 R2 Server
rem backup share UNC
set backupshare=\mycompany-dc01backup
rem files and folders to include
set include=c:scripts,c: iles
rem define date time variables for building the folder name
set m=%date:~4,2%
set d=%date:~7,2%
set y=%date:~10,4%
set h=%time:~0,2%
set min=%time:~3,2%
set sec=%time:~6,2%
rem defining a new folder like \mycompany-dc01backupRESEARCHDCQ52009_132532
set newfolder=%backupshare%%computername%%m%%d%%y%_%h%%min%%sec%
echo Creating %newfolder%
mkdir %newfolder%
rem run the backup
echo Backing up %include% to %newfolder%
wbadmin start backup -backuptarget:%newfolder% -include:%include% -quiet
rem Clear variables
set backupshare=
set include=
set m=
set d=
set y=
set h=
set min=
set sec=
set newfolder=由于我不希望覆蓋任何現有的備份,我將創建一個新的文件夾,該文件夾在其名稱中使用了計算機名稱和日期/時間戳。批處理文件中包含處理此項任務的代碼。腳本的主要功能是調用 WBADMIN.EXE,在指定的共享處創建備份。同樣,如果您想調整此步驟,請查看語法幫助。此腳本讓我喜歡的地方在于,我可以使用任務計劃程序來設置自己的計劃任務。因此,即使備份向導僅允許我創建一個計劃任務,我仍然可以使用 WBADMIN.EXE 根據需要創建盡可能多的任務。我也可以使用此工具創建系統狀態備份。
若要查看執行了哪些備份作業,請運行此命令:C:> wbadmin get versions。
請密切注意版本標識符,因為您必須有此值,才能使用 WBADMIN 來恢復文件(當然您可以輕松地使用恢復向導)。
#p#
使用 Windows PowerShell 進行備份
另一種命令行方法是使用 Windows 備份 PowerShell cmdlet。若要訪問它們,您需要先加載 Windows 備份管理單元:
PS C:> add-pssnapin Windows.ServerBackup
若要查看其中包含哪些 cmdlet,請使用 Get-Command:
PS C:> get-command -pssnapin windows.serverbackup
遺憾的是,創建備份作業是一個多步驟過程。盡管您可以在命令提示符中交互式輸入必要的命令,但是我認為您會發現使用腳本的方法會更簡單一些。下面是我最初的批處理文件的 Windows PowerShell 版本:
#requires -version 2.0
#requires -pssnapin Windows.ServerBackup
#Demo-WBBackup.ps1
$policy = New-WBPolicy
$files=new-WBFileSpec c:scripts,c: iles
Add-wbFileSpec -policy $policy -filespec $files
$backdir=("\mycompany-dc01ackup{0}{1:MMddyyyy_hhmmss}" -f $env:computername,(get-date))
write-host "Creating $backdir" -foregroundcolor Green
mkdir $backdir | out-null
$backupLocation = New-WBBackupTarget -network $backdir
Add-WBBackupTarget -Policy $policy -Target $backupLocation
write-host "Backing up $files to $backdir" -foregroundcolor Green
$policy
Start-WBBackup -Policy $policyWindows PowerShell cmdlet 是以創建和執行策略為基礎的。該策略包括:要包含或排除的文件或卷,要將文件備份到何處,以及各種各樣的選項。您還可以創建系統狀態和裸機恢復作業。在我的演示中,我只是備份了一些目錄。Start-WBBackup cmdlet 用于執行備份任務。
當您查看 Windows 備份的 cmdlet 列表時,您會注意到一個明顯的疏漏:沒有用于恢復數據的 cmdlet。我想出現這種情況的原因是假設您不需要自動執行此步驟,盡管您可以使用 WBADMIN.EXE 來執行此步驟。將來可能會增加 cmdlet。同時,您可以使用恢復向導或 WBADMIN.EXE 來恢復文件。
現在輪到您了
當您嘗試使用這些工具時,我確信您會認識到 Windows 備份工具為您提供的功能遠不止我所說的這些。您還會需要評估這些功能與您的整體備份策略以及您可能擁有的任何業務連續性計劃的契合程度。就某些方面而言,免費的 Windows 備份解決方案有很大的限制,但是編寫腳本的方式以及對 .vhd 文件的使用,提供了一些可克服這些限制的誘人可能性。您只需要具備一定的靈活性即可。
最后,正如任何備份軟件一樣,請務必在非生產設置中練習恢復過程。您一定不希望在實際執行恢復操作時學習該過程,而讓您的老板憤怒地卡您的脖子。請務必熟悉該過程,以便在時機成熟時,您不再需要充英雄。
【編輯推薦】