虛擬機備份的五大常見錯誤及規(guī)避方法
在虛擬環(huán)境下進(jìn)行備份和在物理環(huán)境中是不同的。雖然虛擬機備份的方式有很多,但由于虛擬環(huán)境的特點,可能會遇到很多意想不到的問題。這篇技巧中,我們會講解如何高效的創(chuàng)建虛擬機備份并避免一些常見錯誤。
不建議通過客戶端備份虛擬機
在備份虛擬機時候,采用客戶端操作系統(tǒng)的方式備份是最為常見的誤區(qū)。你不能使用傳統(tǒng)的在客戶端操作系統(tǒng)上安裝代理的備份方式來處理虛擬機備份。這種方式的問題之一就是低效性,原因是在于虛擬層所處的位置在物理硬件以及客戶端操作系統(tǒng)之間。因而客戶端操作系統(tǒng)沒有對物理設(shè)備上存儲數(shù)據(jù)的直接訪問權(quán)限,這樣而來,備份的時候如果采用這種方式,宿主機上的代理就必須要通過虛擬層去訪問虛擬機上的數(shù)據(jù)。這樣的方法帶來的另外一個問題是,會造成主機端沒有必要的資源消耗,并且如果是遇到多個備份并行進(jìn)行,還可能造成瓶頸問題。
替代的方法是,備份服務(wù)器應(yīng)該直接訪問虛擬層而不是走客戶端虛擬機。通過這樣的方法,虛擬機操作系統(tǒng)就不會參與到備份進(jìn)程里,也不會消耗宿主機上的資源。相比于之前的方式,這樣的方式顯得更為有效率,因為備份服務(wù)器可以直接將虛擬機磁盤直接從主機的data store掛載過來。這樣的方式被稱為鏡像級備份,虛擬機的數(shù)據(jù)文件是以數(shù)據(jù)塊級別的方式備份的,而不是傳統(tǒng)的文件級別備份。使用鏡像級備份需要使用可以調(diào)用VMware vStorage API的備份軟件直接訪問虛擬磁盤文件來完成。
需要特別建議的是,不要嘗試直接在虛擬存儲層備份虛擬機磁盤文件而繞過虛擬層。虛擬機操作系統(tǒng)以及虛擬磁盤在備份前需要處于特別的狀態(tài),而如果繞過虛擬層,這一系列變化將無法完成。
虛擬機快照并不是備份
虛擬機的快照保留了虛擬機做快照時候的狀態(tài)。此外,多個快照可以保證有多個恢復(fù)點。在很多時候,這樣的方式都會很有用,然而這并不能被作為主要的一個備份方式。其中的一個問題是,虛擬機的快照一旦被恢復(fù)到了其中一個還原點,就無法恢復(fù)到現(xiàn)在的狀態(tài)。如果虛擬機現(xiàn)在的狀態(tài)丟失了,那么僅能恢復(fù)到上一次做快照的狀態(tài)。快照技術(shù)無法恢復(fù)單獨文件,它能做的只是將整個虛擬機的狀態(tài)進(jìn)行恢復(fù)。快照技術(shù)還有另外的一些問題,比如說,它只是以16MB大小增量進(jìn)行:虛擬機所在的LUN在進(jìn)行容量增長的時候需要以鎖定的狀態(tài)進(jìn)行,這樣可以避免其他主機對相同的LUN進(jìn)行寫操作。
快照相關(guān)的操作大多數(shù)與SCSI有關(guān),其過程大都會影響虛擬機的性能,因為需要等待LUN解鎖。隨著數(shù)據(jù)的寫入,每個快照是單獨的文件,這樣下來,如果有大量的快照會產(chǎn)生磁盤空間的問題。快照的用途是短期的備用備份功能,例如有需要恢復(fù)到之前狀態(tài)的情況,比如說虛擬機系統(tǒng)打過補丁或者應(yīng)用升級后。
確保使用了正確的靜默方式
大多數(shù)虛擬化備份應(yīng)用在使用鏡像級備份的時候都會忽視虛擬機里面本身的應(yīng)用情況。在備份虛擬機的時候,需要事先確認(rèn)里面的應(yīng)用在備份前已經(jīng)靜默完成,這樣以確保備份是完整連續(xù)的。如果沒有使用正確的靜默方式,備份的數(shù)據(jù)在恢復(fù)的時候可能會遇到不完整的問題。靜默操作由虛擬機內(nèi)置操作系統(tǒng)本身完成,對于微軟操作系統(tǒng)來說,VSS將會幫助處理這一系列問題。由于備份服務(wù)器備份虛機的時候是在虛擬層完成的,而不是客戶端操作系統(tǒng)里面,就需要另外的應(yīng)用來告知客戶端操作系統(tǒng)來靜默虛擬機。
在vSphere環(huán)境下,第三方的應(yīng)用叫VMware Tools,它會告知VSS服務(wù)來靜默客戶端操作系統(tǒng)。VMware Tools安裝在客戶端操作系統(tǒng)上并在操作系統(tǒng)和虛擬層之間來提高服務(wù)。
對于像Linux那樣一些操作系統(tǒng)沒有VSS這樣的本地服務(wù)的系統(tǒng)來說,VMware Tools提供了特別的驅(qū)動程序以確保它們能提供像VSS一樣的服務(wù)。因此VMware Tool是否安裝在客戶機里面尤為重要。當(dāng)然,也有一些VMware Tools的版本并不支持相應(yīng)的操作系統(tǒng)版本,因此在使用之前,建議了解該系統(tǒng)版本是否支持對應(yīng)的應(yīng)用服務(wù)。
許多的備份服務(wù)廠商都會提供相應(yīng)的代理來應(yīng)對VMware Tools提供的靜默進(jìn)程無法支持這樣的服務(wù)。
謹(jǐn)慎的規(guī)劃備份周期
虛擬機的本質(zhì)上共享主機的,而主機則又共享存儲設(shè)備,因此創(chuàng)建虛擬機備份的時候需要考慮到對資源的消耗情況。在一個虛擬化環(huán)境下,創(chuàng)建備份可能導(dǎo)致主機和虛擬機之間資源競爭的情況發(fā)生。即便是在虛擬層的備份會減少對虛擬機資源的占用,然而對主機以及存儲設(shè)備的占用仍然是不能忽視的。
為了能避免集中的I/O寫入對虛擬機帶來的性能影響,建議用戶在使用虛擬機備份的時候能減少并行虛擬機在主機和共享存儲上運行的數(shù)量。主機通常在虛擬化環(huán)境中往往會共享同一個存儲,在同一個共享存儲上由多個并發(fā)虛擬機備份產(chǎn)生的資源緊張也會影響到其運行的主機。
同樣的,在相同主機上如果有太多的虛擬機備份進(jìn)程同時運行,將會造成主機上的性能瓶頸。
我們建議用戶能謹(jǐn)慎的均衡好備份時間,以避免造成資源競爭這樣的問題。不要指望哪一個虛擬機會告訴你問題在哪里,我們建議可以查看統(tǒng)計結(jié)果以判斷。這將幫助你了解I/O的問題以及做出適當(dāng)?shù)恼{(diào)整。
不要讓你的備份服務(wù)器資源緊張
備份服務(wù)器的基本原理很像水泵:數(shù)據(jù)從源端讀取然后流進(jìn)備份服務(wù)器,之后又被送到備份設(shè)備上。備份服務(wù)器可以處理的量取決于分配給它的資源,換句話說,資源越豐富,我們就能更快的將數(shù)據(jù)抽取上來。備份可以很大程度上占用網(wǎng)絡(luò)和存儲的資源,然而這并不是僅僅將數(shù)據(jù)由A傳遞到B,而是完整的備份過程。除了數(shù)據(jù)的拷貝和傳遞,還有重復(fù)數(shù)據(jù)刪除,數(shù)據(jù)壓縮的過程以判斷還有哪些磁盤塊上的數(shù)據(jù)需要備份。
為了能使備份服務(wù)器達(dá)到***的吞吐性能,我們需要分配足夠的資源以免達(dá)到瓶頸。
你需要監(jiān)控備份服務(wù)器的資源使用情況:從實際情況上來說,寧肯讓備份服務(wù)器占用更多的資源也不要讓它的資源不夠。如果需要備份的資源更多,那么很可能的是備份服務(wù)器也需要更多。如果能確保備份服務(wù)器有足夠的資源調(diào)配,那么我們就能確保它能以***性能抽取數(shù)據(jù)并且能***程度上縮短備份窗口。
虛擬化架構(gòu)引入了許多傳統(tǒng)物流環(huán)境下無法比擬的備份方式或手段。與虛擬化環(huán)境集成的備份應(yīng)用可以利用這樣一些的技術(shù)手段以提升備份的效率。VMware公司為此特地開發(fā)了相關(guān)的API接口以方便第三方備份應(yīng)用的調(diào)用,比如VADP接口,它能幫助備份應(yīng)用直接與主機以及存儲設(shè)備通信。VADP提供了更為有效的虛擬磁盤文件的訪問方式,例如像變更塊追蹤技術(shù)(CBT)等,將大大縮短原有備份所要的時間。
增量備份的關(guān)鍵是能判斷出自上次備份后的改變量。CBT技術(shù)將查詢虛擬機的VMkernal,里面將記錄磁盤塊改變的記錄,通過快速查詢,我們將很快的知道虛擬機的虛擬磁盤自上次指定時間后的變化量發(fā)生在哪些數(shù)據(jù)塊上。
備份應(yīng)用通常自己就能完成這些判斷操作,因此越快的完成這些操作就意味著能更快的完成增量備份操作。
為了能實現(xiàn)最有效率的備份方式,我們建議能***程度的采用虛擬化架構(gòu)提供的備份接口以達(dá)到高效備份的效果。