vcbMounter和vcbRestore指令只內建於ESX虛擬化平台,隨著ESX虛擬化平台退場,想要在新的ESXi虛擬化平台內線上備份運作中的虛擬主機,勢必要另尋他法——利用VMware vExpert專家William Lam所撰寫的自動化備份腳本。
在網管人第77期曾經介紹過可以在ESX虛擬化平台內,利用內建的vcbMounter和vcbRestore指令呼叫VCB(VMware Consolidated Backup)
以及快照(Snapshot)機制,來達成線上備份運作中的VM虛擬主機的目的。但可惜的是,這些指令僅內建於具備COS(Service Console)的ESX虛擬化平台內。
自VMware vSphere 5.0版本開始便再也沒有ESX虛擬化平台了,從這個版本開始到目前的最新版本VMware vSphere 5.1以及日後的更新版本,也都只會發行ESXi虛擬化平台而已,因此先前文章所介紹的vcbMounter和vcbRestore指令也不存在於ESXi虛擬化平台當中。
實作環境所需平台及軟體
當然,還是可以將VM虛擬主機關機後再利用Export OVF/OVA Template的方式來達成備份VM虛擬主機的目的,但若希望能夠為線上運作中的VM虛擬主機進行備份時該如何進行呢?這便是本文所要介紹的線上備份(Online Backup)方式。
VMware社群中的熱心人士同時也是VMware vExpert專家的William Lam(http://www.virtuallyghetto.com),撰寫出可以同時運作於ESX和ESXi虛擬化平台的備份腳本「ghettoVCB.sh」。
此備份本為採用類似早期VMware的備份機制VCB所達成(目前VMware主流備份機制是透過vStorage APIs for Data Protection),因此也可以將此備份腳本運用於免費版本的VMware vSphere Hypervisor虛擬化平台上,如圖1所示。
|
▲圖1 VCB(VMware Consolidated Backup)備份機制。圖片來源:VMware Consolidated Backup for Virtual Server & Virtual Machine Backup |
快照機制
在許多VMware vSphere產品中,例如VMware Data Recovery、VMware Lab Manager、Storage vMotion等等,都有運用到「快照(Snapshot)」機制,如圖2所示。
|
▲圖2 快照機制—針對當時VM虛擬主機的狀態及資料進行暫時凍結。圖片來源:VMware KB1015180—VMware KB Understanding virtual machine snapshots in VMware ESXi and ESX |
此快照機制能夠在特定的時間點保留VM虛擬主機的狀態(State)和資料(Data)。以VM虛擬主機的電源狀態來說,便包括了開機(Powered-On)、關機(Powered-Off)、暫停(Suspended)等狀態。
若以資料來看的話,則包含虛擬硬碟(Virtual Disk)、虛擬記憶體(Virtual Memory)、虛擬網路卡(Virtual Network Adapter)、其他虛擬裝置(Virtual Devices)等。
當VM虛擬主機建立快照時,還有幾個要考量的地方。首先,對於VM虛擬主機當中的虛擬記憶體狀態(Virtual Memory State)是否也需要快照?若是備份的VM虛擬主機其運作的服務為資料庫類型時,就強烈建議必須一起快照虛擬記憶體狀態,否則在執行快照回復作業時便會發生VM虛擬主機無法順利運作的問題。不過,若需要備份虛擬記憶體狀態,則所花費的快照時間也較長。
此外,就是「暫停(Quiesce)」機制。ESX(i)虛擬化平台是藉由透過VMware Tools工具來暫時停止VM虛擬主機內的檔案系統,讓Guest OS可以將相關的緩衝資料(Buffers)和虛擬記憶體中的快取資料(Cache),順利地寫回Guest OS的虛擬磁碟內,以保持資料的一致性與可用性,運作流程如圖3所示。
|
▲圖3 快照機制結合虛擬記憶體狀態和暫停機制。圖片來源:VMware KB1015180—VMware KB Understanding virtual machine snapshots in VMware ESXi and ESX |