在當前主要的虛擬化平臺中,以VMware在備份機制方面的發展著力最多,考慮到VMware同時也是當前占有率最高、應用最普及的虛擬化平臺,其備份機制也更值得我們關注與了解。

目前VMware環境的資料備份可分為三種主要做法:(1)虛擬主機Guest OS端備份;(2)透過VMware的VCB(VMware Consolidated Backup)備份機制;(3)透過VMware的VADP (vStorage API for Data Protection)備份機制。

虛擬主機Guest OS端備份

也就是像傳統實體環境備份一樣,將虛擬機器當成實體主機一樣、在Guest OS上部署備份代理程式,然後由備份伺服器驅動代理程式執行備份,因此完全無須更動原有的網路備份架構,可沿用原先實體環境使用的備份產品。由於這種方式是從Guest OS端執行備份,因此可識別與存取虛擬主機內的個別檔案,或應用程式的物件,可針對個別檔案或應用程式物件,執行更精細的檔案或物件層級備份。

但這種架構的問題是:用戶有多少臺虛擬機器,就得部署多少套代理程式,需要的軟體授權費用與導入虛擬化之前完全相同。

此外,多數企業通常是選擇下班離峰時間執行備份,導入虛擬化後也不例外。但若採用傳統方式,在虛擬主機上安裝代理程式執行備份,將會造成實體主機上的多臺虛擬主機在同個時間區段內一起執行備份,以致給網路頻寬、磁碟I/O等主機硬體資源帶來極大負荷,甚至導致備份工作完全無法動作。

要避免效能衝擊問題,就只能限制實體主機上的虛擬機器數量,藉以減輕備份帶來的衝擊。但這又與虛擬化的目的背道而馳——無法在一臺實體主機上執行盡可能多的虛擬機器。

Guest OS端代理程式備份架構的最後一個問題,是無法搭配VMware的vMotion、DRS(Distributed Resource Service)或HA(High Availability)等跨實體主機遷移或切換虛擬機器功能運作,利用vMotion、DRS或HA遷移或切換虛擬主機後,備份存取路徑也隨之改變,但傳統備份架構並未考慮與VMware的vCenter整合,因而無法得知虛擬主機遷移或切換後的存取路徑,以致無法執行備份作業。

VCB備份

VCB是VMware在2006年6月推出VI3(VMware Infrastructure 3)架構時,所提出的一種備份機制,繼最早的VCB 1.0版後,後來在2007年12月與2008年7月又分別推出改進後的VCB 1.1與1.5版。

VCB是一種實體主機端的備份架構,無須在Guest OS端安裝任何代理程式,只要直接在VCB備份代理伺服器(Backup Proxy Server)上執行指令,或透過支援VCB架構的第三方備份軟體執行,故能大幅降低主機資源的消耗。

VCB備份有檔案層級與磁碟映像層級兩種類型,無論哪種類型都是由一臺獨立的備份代理伺服器依排程或手動啟動,先由備份代理伺服器直接呼叫ESX主機(或透過Virtual Center呼叫指定的ESX主機),啟動VMFS檔案系統的VMsnap指令,為指定虛擬機器的虛擬磁碟(VMDK)製作快照複本。

在檔案層級模式下,備份代理伺服器會利用本身內含的VLUN驅動程式,將虛擬機器的快照複本掛載到本身的Windows作業系統上成為唯讀磁碟區,再搭配第三方備份軟體,將磁碟區中的檔案備份到磁碟或磁帶上,備份完畢後,快照複本將會被移除。

而在磁碟映像層級下,虛擬機器快照複本則會轉換成磁碟映像檔案的型式(可選擇將整個磁碟映像轉為一個單一檔案,或轉為多個2GB容量的檔案),並匯出到備份代理伺服器的本機儲存裝置指定目錄內,再由第三方備份軟體轉存到指定儲存裝置。

在執行快照期間,系統會先透過pre-Backup Script暫停原本磁碟區的寫入I/O,暫時不允許虛擬機器對這些磁碟區(VMDK)的寫入,而是改為將虛擬機器的寫入I/O需求導入到一個暫存用的delta data檔案。因此虛擬機器在這段時間內的寫入,並不會受到影響,待快照完成後,系統便解除原磁碟區的寫入鎖定,並將delta data檔案中的新資料寫回原磁碟區,然後讓系統恢復為正常存取狀態。

VCB的優缺點

藉由前述作業方式,VCB備份可將備份作業負擔,從ESX主機轉移到備份代理伺服器上,第三方備份軟體是對備份代理伺服器作備份,而非ESX主機。而且備份作業是針對虛擬機器的快照複本,而不是直接針對虛擬機器本身,在備份執行過程中,虛擬機器仍可繼續運作與存取資料。

另外VCB備份也不受vMotion或DRS等虛擬機器遷移功能的干擾,無論虛擬機器被遷移到哪裡,備份代理伺服器仍可透過Virtual Center呼叫對應的ESX主機啟動備份程序。

理論上,即使不依靠第三方備份軟體,透過在Virtual Center或ESX主機上透過命令列或批次檔執行相關指令,亦能完成VCB備份工作。但這種方式只能將備份資料轉存到該主機連接的本機磁碟,或共享磁碟上,不像第三方備份軟體可轉存到磁帶,而且只能進行磁碟映像層級的還原時。另外透過第三方備份軟體的整合介面選單,無論備份或還原操作都會更為方便。

不過VCB雖不會占用ESX主機資源,但把快照複本掛載到備份代理伺服器上執行備份時,仍會占用ESX主機底層儲存設備的I/O資源,從而間接影響前端虛擬機器可用的I/O效能。

另外VCB備份還有幾項限制:

● VCB代理伺服器程式只能安裝在Windows Server 2003/2008的作業平臺上。

● 檔案層級VCB備份只適用於Guest OS為Windows的虛擬機器,映像層級則適用於任何作業系統平臺的虛擬機器上。

● 磁碟映像級備份只提供完整備份功能,因此每次都必須備份虛擬機器的整個磁碟映像,十分耗時。

● 若虛擬機器的儲存裝置為實體相容模式(physical compatibility mode)的RDM(Raw Device Mapping)磁碟,將不適用於VCB備份(這種模式下,RDM磁碟不允許ESX主機為其建立快照,因此也無法讓必須依靠快照運作的VCB進行作業)。

● 不適用於叢集中的虛擬機器。由於叢集中的多臺虛擬機器是利用同一個SCSI控制器存取底層磁碟,無法對其進行快照,也就無法執行VCB。

VCB的3種傳輸模式

依用戶採用的備份主機與儲存架構不同,VCB又分為三種資料傳輸模式(transport modes),最早版本的VCB預設使用SAN傳輸模式,1.1版以後,可透過vcbMount指令選擇SAN或NBD傳輸模式,1.5版則新增Hot Add模式:

● SAN傳輸模式

若ESX主機底層採用SAN儲存設備為共享儲存裝置,且備份代理伺服器也可存取這臺SAN儲存設備時,則VCB備份過程中的資料流都將透過iSCSI或FC等SAN網路進行,完全不會占用ESX主機與LAN網路資源。

● NBD模式

若用戶沒有SAN環境時,可改用NBD(Network Block Device)模式,備份代理伺服器將透過LAN。以NBD協定存取虛擬機器的快照複本,又分為不加密與SSL加密兩種形式,後一種會將資料加密後再送到網路上傳輸,不過加密作業會增加ESX主機的處理器負擔。

需占用LAN網路資源是NBD模式的缺點,不過可讓用戶免除引進昂貴的SAN儲存設備的需要。

● Hot-Add模式

這是VCB 1.5版納入的新傳輸模式。在Hot-Add模式下,備份代理伺服器採用虛擬機器形式,也就是以一臺虛擬機器(作業系統須為Windows)充當備份代理伺服器。然後利用這臺VCB虛擬備份代理伺服器,為同一臺ESX主機上的其他虛擬機器進行備份,只要虛擬機器位於該ESX主機所能存取到的儲存裝置(本機磁碟機或共享儲存區)即可。

Hot-Add模式下,由於VCB虛擬備份代理伺服器與被備份的虛擬機器,實際上都是位於同一臺ESX實體主機連接的本機磁碟,或共享儲存裝置上,因此在VCB備份代理伺服器與虛擬機器間,並不需要透過網路進行「真正的」資料搬移,只須透過底層ESX主機的I/O堆疊,就可搬移資料,資料流都是在同一臺ESX主機下,而沒有實際跨越LAN傳輸資料,因此不占用LAN資源,效率勝過NBD模式。不過會在ESX主機上產生作業負載,因此效能衝擊較SAN模式大。

Hot-Add模式的設定與運作較為複雜,除了VCB虛擬備份代理伺服器外,用戶另外還得在ESX主機上建立一臺shadow虛擬機器,作為VCB 助手(VCB Helper)(這臺shadow虛擬機器的名稱必須與VCB伺服器相同,後面加綴VCB Helper)。VCB代理伺服器將透過VCB Helper的中介,執行資料搬移作業。

VADP備份

VCB備份雖能解決傳統備份的許多問題,但透過備份代理伺服器中介的備份方式,在架構上也顯得較為累贅。

而且在實際運作上,VCB備份的快照也常常會出現各式各樣的問題(如快照建立失敗、快照刪除失敗等等),另外若同時對多臺虛擬機器進行磁碟映像層級VCB備份,還需注意保留足夠儲存空間,以免空間不足以同時容納這些虛擬機器的快照,導致快照建立失敗。

為改善VCB的不足,VMware在2009年5月推出vSphere 4.0時,也同時引進了新的VADP備份機制。

VADP是VMware跟著vSphere平臺推出的4種儲存應用API架構之一,專用於虛擬機器資料備份(另3個儲存應用API是VAAI(vStorage APIs for Array Integration)、vStorage API for SRM與vStorage API for Multipathing)。

VADP的功能改進

與VCB的備份機制相似,VADP備份亦是透過虛擬機器的快照複本進行,但不再需要備份代理伺服器,只要第三方備份軟體支援VADP,就能透過這套API呼叫ESX主機,為指定虛擬機器執行快照,並由備份軟體的備份伺服器,直接掛載與存取虛擬機器的快照複本,進行備份作業。

VADP的執行程序與VCB相似,只是少了備份代理伺服器這個環節。先由第三方備份軟體透過vSphere SDKAPI呼叫ESX主機(或透過vCenter呼叫ESX主機),為指定的虛擬機器建立快照。

接下來,若是採用檔案層級備份,將透過Virtual Disk Mount API將快照產生的虛擬機器磁碟複本,掛載到備份伺服器上成為本機磁碟,然後由備份軟體將磁碟內的檔案轉存到備份媒體上;若採用磁碟映像層級備份,則可透過Virtual Disk Library API直接讀取ESX主機上的快照(VMDK檔案),將其轉存到備份媒體上。備份完成後,再透過vSphere SDK API刪除快照。

在備份資料傳輸模式方面,VADP亦與VCB同樣分為SAN、NBD與Hot-Add等三種類型。

除了無須備份代理伺服器外,VADP還有許多改進,包括:

● 簡化部署:VADP是直接整合在備份軟體內,不像VCB必須另外下載與安裝備份代理伺服器程式。

● 改進虛擬機器磁碟映像層級備份:VADP可提供映像層級的增量(incremental)備份與還原功能,除首次備份需完整備份整個虛擬機器磁碟映像外,後續備份都可透過vSphere 4.0異動資料區塊追蹤功能(Changed Block Tracking,CBT)的協助,只針對異動區塊作增量備份,因而能大幅縮短備份時間。VCB則只能每次都執行完整的虛擬機器映像備份。

● 改進的虛擬機器檔案層級備份:VADP可對Guest OS為Windows與Linux的虛擬機器進行檔案層級備份;VCB只能對Guest OS為Windows的虛擬機器進行檔案層級備份。

● 改進的Windows應用程式備份支援:若虛擬機器Guest OS為Windows平臺,則VADP建立快照時,將能透過微軟VSS架構確保應用程式資料的一致性。

● 結合異動區塊追蹤功能:vSphere 4.0的VMkernel核心另外引進了虛擬機器異動區塊追蹤功能,第三方備份軟體可透過VADP向VMkernel查詢虛擬機器自上次執行快照以來,有哪些資料區塊是異動過的,然後只備份這些區塊。

藉由前述功能,VADP與VCB同樣都無需在虛擬機器Guest OS上安裝任何代理程式,而且架構更精簡、備份速度更快、耗用資源也更少。

當然VADP亦有其限制:

● 與VCB相同,VADP亦不支援免費版的ESXi主機。

● 與VCB相同,VADP不支援實體相容模式的RDM磁碟。

● CBT功能只能在vSphere 4.0以後版本的ESX主機上使用。

VMware平臺對備份架構的支援

任何版本的VMware平臺,都能使用虛擬機器Guest端備份架構。

若要使用VCB備份架構,則必須是VI3以後版本的VMware虛擬化平臺,除ESX 3.0/3.5外,vSphere 4.x亦支援VCB架構。

按官方說法,最新的vSphere 5.0將不再支援VCB,VCB最後一個版本(1.5版Update 2)能支援的最新VMware平臺,是vSphere 4.1 Update 1。

事實上,從vSphere 4.1起,VMware就宣布將以新的VADP為唯一建議採用的備份架構,不過後來又決定將VCB的支援繼續延伸到vSphere 4.1上。

但根據某些人的測試結果,VCB 1.5 U2亦能在vSphere 5.0上執行,當然這並非官方的標準作法,並不建議使用。

若要使用最新的VADP架構,理論上要vSphere 4.0以後的版本才能完整支援,但ESX 3.5 Update 2亦能使用VADP,採用VADP架構的備份軟體,亦能備份ESX 3.5 Update 2的虛擬機器,但沒有CBT功能。

換言之,從ESX 3.5 Update 2以後到4.1 Update 1的各版本VMware平臺,都可選用VCB或VADP兩種備份架構,從vSphere 5.0以後則只能使用VADP架構。若按官方建議,從vSphere 4以後都應採用VADP架構。而要特別注意的是,無論VCB或VADP架構,都不支援免費版的ESXi平臺。

現行備份軟體對VMware備份架構的支援

目前適用於VMware環境的備份軟體可分為兩類:

一為傳統通用型備份軟體,如Symantec的NetBackup與Backup Exec、CA ARCserve Backup、EMC Networker、IBM的Tivoli Storage Manager(TSM)等。

另一為虛擬環境專用備份軟體,如Acronis vmProtect、Veeam Backup & Replication、PHD Virtual Backup、Quest vRanger與VMware Data Recovery(VDR)等。這兩類產品的架構與定位均不同,因此對VMware備份架構的支援範圍也有異。

通用型備份軟體是從實體環境備份發展而來,自然能支援在虛擬機器Guest端安裝代理程式的備份架構,而後在整合了VCB與VADP的相關API後,亦能同時提供VCB與VADP架構的支援。

相對的,虛擬環境專用備份軟體則不提供虛擬機器Guest端備份架構,只支援VCB與VADP兩種ESX主機端備份架構。各相關產品的支援情況,詳見表2-1表2-2

要特別注意的是,一些較新的備份軟體或備份軟體的最新版本,都只支援最新的VADP架構,如PHD Virtual Backup、Acronis vmProtect、Veeam等,若用戶的VMware平臺為較舊的版本,必須降級改用舊版備份軟體,才能提供支援。


相關報導請參考「VMware虛擬化平臺全方位備份指南」

熱門新聞

Advertisement