虛擬機(jī)備份與恢復(fù)的主要方法
?一、概述
服務(wù)器虛擬化,它能解決服務(wù)器擴(kuò)充、資源消耗、能源消耗,高可用等相關(guān)的問(wèn)題,為用戶帶來(lái)諸多的益處,但同時(shí)也會(huì)帶來(lái)一些新的相關(guān)問(wèn)題點(diǎn),最突出的就是如何保證虛擬機(jī)數(shù)據(jù)的安全性,即使可以做備份,但如何保證數(shù)據(jù)一致性是當(dāng)中最大的挑戰(zhàn)。虛擬化的基本原理是將整個(gè)物理服務(wù)器,虛擬成多個(gè)虛擬服務(wù)器,每個(gè)虛擬服務(wù)器會(huì)封裝成一種特定格式的文件。那么備份虛擬機(jī)數(shù)據(jù),是不是僅僅把這些文件備份下來(lái)那么簡(jiǎn)單呢?當(dāng)然不是,因?yàn)樵谔摂M機(jī)正在運(yùn)行的情況下,備份不能覆蓋所有文件,換言之不能保證恢復(fù)后的虛擬機(jī)包含足夠的精確數(shù)據(jù),也就是是否能100%成功恢復(fù),另外一點(diǎn)虛擬機(jī)在備份的時(shí)候的工作負(fù)載也需要優(yōu)化,否則會(huì)影響業(yè)務(wù)。
二、幾種主要的虛擬機(jī)備份與恢復(fù)方法
1、在每臺(tái)虛擬機(jī)中安裝備份程序,這種方法其實(shí)就是把每臺(tái)虛擬機(jī)看成是一臺(tái)真實(shí)的物理機(jī),像對(duì)物理機(jī)備份一樣,在虛擬機(jī)上直接安裝備份的Agent。
(1)優(yōu)點(diǎn):備份的安裝和配置相對(duì)簡(jiǎn)單,無(wú)需專門的技巧,數(shù)據(jù)恢復(fù)時(shí)的操作也沒(méi)有變化,和物理機(jī)一樣,可以實(shí)現(xiàn)完全備份和增量備份的方式,也可以安裝針對(duì)特定應(yīng)用的備份Agent,比如數(shù)據(jù)庫(kù),郵件系統(tǒng)備份等,這種針對(duì)專門應(yīng)用的備份Agent有利于數(shù)據(jù)的一致性。這種方式可支持恢復(fù)虛擬機(jī)中的單個(gè)文件;
(2)缺點(diǎn):有可能會(huì)過(guò)度消耗虛擬機(jī)宿主機(jī)的資源,因?yàn)橐慌_(tái)宿主機(jī)可以虛擬出許多臺(tái)虛擬機(jī),如果多臺(tái)虛擬機(jī)都采用這種方法的話,會(huì)給宿主機(jī)造成很大的壓力,影響正常業(yè)務(wù)的負(fù)載,而且這種方法備份和恢復(fù)速度相對(duì)較慢,無(wú)法實(shí)現(xiàn)快速的備份和映像級(jí)恢復(fù)。
2、在宿主機(jī)的虛擬機(jī)化系統(tǒng)中(比如ESX Service Console)安裝備份程序,從而備份虛擬化文件,比如VMDK等。
(1)優(yōu)點(diǎn):只需要一個(gè)備份程序就能備份所有的虛擬機(jī),方便的做到完全備份,只要備份虛擬化封裝文件比如VMDK,就能備份所有虛擬機(jī),可實(shí)現(xiàn)快速的映像級(jí)別的備份與恢復(fù);
(2)缺點(diǎn):為了保證數(shù)據(jù)一致性,需要采用腳本(或虛擬化系統(tǒng)自帶保護(hù)模塊)才能自動(dòng)關(guān)閉(在備份之前要關(guān)閉虛擬機(jī),虛擬機(jī)文件在備份過(guò)程中是要靜止不動(dòng))、快照(如果不能關(guān)閉虛擬機(jī),就要利用虛擬機(jī)軟件自帶的快照功能獲取即時(shí)備份映像)以及啟動(dòng)虛擬機(jī)(如果之前關(guān)閉了虛擬機(jī)器,在備份完成之后要把虛擬機(jī)重新開(kāi)啟),另外不能實(shí)現(xiàn)增量備份和恢復(fù)虛擬機(jī)中單個(gè)文件的操作,一般都是將某個(gè)虛擬機(jī)整機(jī)恢復(fù)。
3、使用代理服務(wù)器操作備份,以VADP Backup-Proxy為例,它可消除宿主機(jī)的備份負(fù)載,可杜絕來(lái)自網(wǎng)絡(luò)的備份流量,釋放宿主機(jī)資源以優(yōu)化虛擬機(jī)性能。數(shù)據(jù)通過(guò)第三方災(zāi)備軟件傳送到代理服務(wù)器中,然后把這個(gè)代理服務(wù)器中的數(shù)據(jù)作為后續(xù)再備份的源頭,再進(jìn)行備份。Backup-Proxy server 必須和ESX server安裝在相同的LUN當(dāng)中,但Backup-Proxy Server不支持多路徑,VADP不是備份與恢復(fù)程序,而是能夠集成到第三方災(zāi)備應(yīng)用程序中的組件。架構(gòu)參考下圖:
(1)這種備份與恢復(fù)方式的工作原理步驟:
第1步:第三方軟件調(diào)用備份前腳本,該腳本可能執(zhí)行以下任務(wù):
- 調(diào)用每臺(tái)虛擬機(jī)的自定義凍結(jié)腳本;
- 暫停NTFS,FAT或者EXT2/3等文件系統(tǒng)。
第2步:使得虛擬機(jī)進(jìn)入快照模式,這樣就可以將磁盤掛起,同時(shí)產(chǎn)生新的變更行為會(huì)寫入一個(gè)臨時(shí)的磁盤空間中,等待快照完成后并入原磁盤。這個(gè)進(jìn)程執(zhí)行時(shí),虛擬機(jī)是不間斷運(yùn)行的。
第3步:解凍文件系統(tǒng)
- 調(diào)用每臺(tái)虛擬機(jī)上運(yùn)行的自定義解凍后的腳本;
- 將虛擬機(jī)快照從虛擬機(jī)共享存儲(chǔ)加載到備份代理服務(wù)器上的本地目錄或?qū)⑻摂M機(jī)快照導(dǎo)出到備份代理服務(wù)器。
第4步:第三方軟件執(zhí)行針對(duì)虛擬機(jī)快照數(shù)據(jù)集的備份,由于此過(guò)程僅讀取虛擬機(jī)的快照,因此不影響虛擬機(jī)的不間斷的運(yùn)行。
第5步:第三方軟件完成備份進(jìn)程后,會(huì)調(diào)用備份后腳本,執(zhí)行如下任務(wù):
- 從備份代理服務(wù)器卸載虛擬機(jī)快照;
- 將虛擬機(jī)退出快照模式,并將處于快照狀態(tài)時(shí)所做的修改與原來(lái)磁盤合并,用來(lái)保證數(shù)據(jù)修改的完整性。
第6步:恢復(fù)時(shí)利用第三方災(zāi)備軟件,將輸出的虛擬機(jī)圖像恢復(fù)到一個(gè)虛擬化軟件能夠訪問(wèn)的區(qū)域,該區(qū)域可能位于Proxy Server 或ESX Service Console。
(2)這種備份與恢復(fù)方式的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):將備份過(guò)程轉(zhuǎn)移到備份代理服務(wù)器中,明顯降低了宿主機(jī)的資源開(kāi)銷,可以在SAN網(wǎng)絡(luò)中實(shí)施,速度比LAN要快,也支持光纖通道以及網(wǎng)絡(luò)直連存儲(chǔ)和本地或 iSCSI 存儲(chǔ)基礎(chǔ)架構(gòu),所有虛擬機(jī)只需使用一個(gè)備份代理即可,方便做完整備份,增量備份、合成備份,一致性處理和快速的恢復(fù);
缺點(diǎn):對(duì)第三方的災(zāi)備軟件要求不低,因?yàn)槟芊駥?shí)現(xiàn)全自動(dòng)化,需要編寫腳本的多少,使用是否便捷,都要看第三方災(zāi)備軟件的能力如何,這也是諸多商業(yè)化虛擬機(jī)災(zāi)備軟件的區(qū)別所在。需要新增一個(gè)代理服務(wù)器,一般是windows系統(tǒng)的,最好集成VSS組件,如果你想將文件直接恢復(fù)到某個(gè)虛擬機(jī)中,就需要在虛擬機(jī)中安裝備份代理。如果需要恢復(fù)某個(gè)文件,但你又不想為每個(gè)虛擬機(jī)都安裝備份程序,你就可以創(chuàng)建一個(gè)僅用于恢復(fù)的虛擬機(jī),將文件恢復(fù)到這個(gè)虛擬機(jī)中,然后通過(guò)網(wǎng)絡(luò)共享將文件遷移到正確的目標(biāo)虛擬機(jī)中。另外虛擬機(jī)的快照份數(shù)不能太多,太多也會(huì)造成性能影響。?