虛擬主機 VCB VM 備份 還原

ESX虛擬化平台線上備份 快速還原VM虛擬主機

2012-07-25
上期文章示範了如何針對ESX虛擬化平台上運作的VM虛擬主機進行離線備份作業,以及當虛擬主機崩潰時怎樣透過先前的離線備份進行還原作業。但離線備份僅能針對關機狀態的虛擬主機進行備份,這與企業實際營運環境必須保持服務不中斷的理念相違背,因此本文將進一步說明如何採用ESX虛擬化平台內建的vcbMounter及vcbRestore指令,針對持續提供服務的VM虛擬主機,以VCB和Snapshot機制為運作中的虛擬主機進行線上備份和災難復原作業。
備份指令「vcbMounter -h localhost -u weithenn -p 123456 -a name:DB -r /vmfs/volumes/LocalHDD/DB_VM_Backup」為將ESX虛擬化平台中名稱為「DB」的VM虛擬主機進行備份,執行此備份作業的管理帳號為「weithenn」,而密碼是「123456」,並且指定將備份檔案存放至「/vmfs/volumes/LocalHDD」儲存資源中的「DB_VM_Backup」資料夾內。


▲為線上運作中的DB虛擬主機執行備份任務。

如圖4所示,執行vcbMounter備份指令時,可同步切換到vSphere Client操作畫面,查看Recent Task區塊中目前的任務狀態執行情況。在執行備份時,會建立VM虛擬主機快照(Create virtual machine snapshot),而當備份任務結束時,則會移除VM虛擬主機快照(Remove snapshot)。


▲圖4 執行vcbMounter備份作業前後,將會建立及移除VM虛擬主機快照。

同時備份多台VM虛擬主機(vcbSnapAll)

剛才已使用「vcbMounter」指令來備份單一台VM虛擬主機,若想要一次備份多台VM虛擬主機,使用「vcbSnapAll」指令配合VM虛擬主機狀態即可。

例如使用「powerstate:on」狀態來一次備份,所有運作於ESX虛擬化平台上「開機中」的VM虛擬主機,或者使用「any」狀態來一次備份所有運作於ESX虛擬化平台上的VM虛擬主機。下列備份指令「vcbSnapAll -h 'hostname' -u weithenn -p 123456 -a any -r /vmfs/volumes/LocalHDD/All_VM_Backup」為將此台ESX虛擬化平台中所有的VM虛擬主機(不管是開機、關機、暫停狀態)進行備份。

執行此備份作業的管理帳號為「weithenn」而密碼是「123456」,將備份檔案存放至「/vmfs/volumes/LocalHDD」儲存資源中的「All_VM_Backup」資料夾內,並且當備份作業完成後,可以至「/var/log/vmware/vcbSnapAll-6939」查看備份記錄(Log)內容。由備份記錄中可以發現,其實vcbSnapAll指令是組合vcbMounter指令來達成一次備份多台VM虛擬主機的任務。


▲一次備份ESX虛擬化平台中所有VM虛擬主機。


▲查看備份VM虛擬主機名稱為DB的備份記錄。


▲查看備份VM虛擬主機名稱為Web的備份記錄。

如圖5所示,當執行vcbSnapAll備份指令,可同步切換到vSphere Client操作畫面,查看Recent Task區塊中目前的任務狀態,同樣能看到在備份執行前和執行後,VM虛擬主機快照的建立及移除等動作,證明vcbSnapAll備份指令其實底層運作還是交由vcbMounter執行實際的備份任務。


▲圖5 vcbSnapAll備份指令其底層運作仍交由vcbMounter執行。

還原VM虛擬主機(vcbRestore)

不管備份機制多麼簡單,或是備份後的檔案空間占用極少,如果在災難發生時無法順利將備份進行還原,那麼一切只是白費功夫而已。接著,驗證剛才使用vcbMounter及vcbSnapAll備份指令所備份的VM虛擬主機,是否真的可以正確無誤地進行還原,以及VM虛擬主機還原後是否能夠順利啟動運作以上線提供服務。

假設名稱為DB的VM虛擬主機其作業系統崩潰無法正常運作。首先將該台VM虛擬主機強制關機(Power Off),並使用vSphere Client於操作介面中刪除該台VM虛擬主機(包括Datastore儲存資源中的資料夾,避免還原後發生資料夾名稱衝突),然後使用「vcbRestore」還原指令,將先前使用vcbMounter或vcbSnapAll備份指令所備份的VM虛擬主機檔案進行還原動作。

下列還原指令「vcbRestore -h localhost -u weithenn -p 123456 -s /vmfs/volumes/LocalHDD/DB_VM_Backup」為執行VM虛擬主機還原作業,其中管理帳號為「weithenn」,密碼是「123456」,備份檔案則是儲存於「/vmfs/volumes/LocalHDD」路徑中的「DB_VM_Backup」資料夾內。


▲將先前的備份檔案進行災難復原的動作。
如圖6所示,執行vcbRestore還原指令時,一樣可以切換至vSphere Client操作畫面,查看Recent Task區塊中目前的任務狀態。將發現當還原作業完成後會自動執行註冊VM虛擬主機的動作(Register virtual machine),也就是將該台VM虛擬主機進行Add to Inventory到ESX虛擬化平台上的動作,然後再重新設定虛擬主機(Reconfigure virtual machine)的環境,就可以把VM虛擬主機開機上線服務。


▲圖6 執行vcbRestore還原指令時觀察Recent Task任務狀態。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!