vSphere VMware ESXi 虛擬主機 ESX 虛擬化 VM 備份

設定排程自動備份 無痛快速還原VM虛擬主機

2013-03-29
接續上一期的文章,本文將說明如何設定ESXi虛擬化平台的排程功能,在指定的離峰時間內自動執行ghettoVCB.sh備份腳本,以達成全自動化的VM虛擬主機備份作業。
此外,在ESXi虛擬化平台中無法改變時區設定(詳細原因可參考「http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1436」網頁的說明),所以在設定排程時要加上8小時,才是台灣的當地時間。

完成排程設定後,必須重新啟動crond(busybox)執行序,才能讓剛才的排程設定套用生效。首先查詢crond的PID(Process ID)號碼,如果ESXi平台版本是5.0,可以直接使用指令「busybox crond」來重新啟動排程服務。

若ESXi平台為最新版本5.1,則會得到「-sh: busybox: not found」的錯誤訊息,因為在ESXi 5.1版本中已經沒有預設的「/bin/busybox」,必須鍵入另外一個完整路徑「/usr/lib/vmware/busybox/bin/busybox」來啟動排程服務才行。

當排程服務啟動完成之後,再次查看新的執行序PID,以判斷是否真的重新啟動成功,如圖3所示。


▲圖3 重新啟動排程執行序crond。

往後只要排程時間一到,便會開始自動執行備份作業。由於已設定將排程執行記錄寫入至「/tmp/mybackup.log」日誌檔內,因此也可以查看日誌內容確認備份動作是否真的執行,以及是否已寫入至備份設定檔中的指定資料夾內。

圖4為查看排程備份的日誌檔「/tmp/ mybackup.log」之詳細內容。


▲圖4 查看備份日誌檔案內容。

確定排程設定成功執行後,為了使ESXi平台主機因更新安全性或硬體維護而須關機或重新啟動時,排程設定仍然有效,因此必須將設定寫入「/etc/rc.local」檔案內。將剛才執行的動作寫入至「/etc/rc.local」檔案中的結尾處即可,如圖5所示。


▲圖5 寫入「/etc/rc.local」以確保ESXi Host重新啟動時排程設定仍然有效。

自訂還原設定檔

接著,模擬VM虛擬主機發生系統損壞的情況。先登入目前正常運作的VM虛擬主機(CentOS63),並且刪除GRUB Boot Loader開機設定檔「/boot/grub/grub.conf」,然後重新開機,來模擬CentOS主機發生災難無法開機的情況,如圖6所示。


▲圖6 模擬CentOS作業系統損壞無法順利開機。

由於該台VM虛擬主機已經無法正常運作,因此可以將此台VM虛擬主機進行強制關機(Power Off),然後在vSphere Client點選該台VM虛擬主機並選擇【Delete from Disk】選項(圖7),表示將此台VM虛擬主機從虛擬化平台管理介面中刪除,並且連同存放於ESXi虛擬化平台中儲存資源的相關檔案也一併刪掉。


▲圖7 刪除無法運作的VM虛擬主機。

利用與備份腳本相同的概念,可以在複製還原VM虛擬主機的範本設定檔「ghettoVCB-restore_vm_restore_configuration_template」後,自行設定所需還原的設定檔內容。此還原設定檔可以分為三個段落相關還原參數,說明如下:

◎DIRECTORY:存放VM虛擬主機備份檔案的路徑。
◎DATASTORE_TO_RESTORE_TO:指定還原至ESXi Host的儲存資源Datastore路徑。
◎DISK_FORMAT_TO_RESTORE:指定還原VM虛擬主機時的虛擬硬碟格式,共支援以下四種不同的格式。

  • zeroedthick: 1,還原為不需要Zero Out初始化的Lazy Zeroed Thick虛擬硬碟格式。
  • 2gbsparse: 2,還原為2GB Sparse虛擬硬碟格式,但是必須先手動載入multiextent module,否則會出現「The system cannot find the file specified」錯誤訊息。
  • thin: 3,還原為硬碟空間動態成長的Thin Provisioning虛擬硬碟格式。
  • eagerzeroedthick: 4,還原為需要Zero Out初始化並且適用於Fault Tolerance進階技術的Eager Zerod Thick虛擬硬碟格式。
了解還原設定檔的內容設定後,以下是此次實作的還原設定檔內容,將VM虛擬主機(CentOS63)的備份檔案,還原到ESXi虛擬化平台中本機硬碟的Datastore「/vmfs/volumes/LocalHDD/」內,並且採用空間動態成長的Thin Provisioning虛擬硬碟格式。

最後請注意,每個段落之間要用分號(;)隔開,並且前後使用雙引號(”)進行包覆的動作,如圖8 所示。


▲圖8 查看備份設定檔內容。

還原VM虛擬主機

在開始執行還原作業之前,有一點必須留意,由於此次實作採用的是最新版本的VMware vSphere ESXi 5.1虛擬化平台,而且自動化還原腳本ghettoVCB-restore.sh內容中具有判斷虛擬化平台版本的機制,但因為腳本作者還來不及更新版本判斷機制內容,所以必須手動修改內容加上判斷機制,否則屆時執行還原腳本時會出現「You're not running ESX(i)3.5, 4.x, 5.x!」錯誤訊息,而且還原作業也會中斷執行。


追蹤我們Featrue us

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

我知道了!