雖然不是作為傳統備份方式的替代品,微軟的Hyper-V快照能為用戶提供較快且容易的方式來備份虛擬機。本文中,我們將共同了解如何創建一個Hyper-V下的快照,以及使用快照特性的合適時間。
Hyper-V快照功能對于備份管理員來說是很有用的,尤其是在管理員需要打一個特別的補丁包或者是在虛擬機上做一個較大的配置改變的時候。比方說虛擬機扮演的是數據庫服務器以外的服務器,管理員就可以在任何操作前簡單的做一個快照做備份。一旦操作被確認為成功的了,那么就可以直接點擊右鍵刪除快照。
創建一個Hyper-V快照
在Hyper-V軟件上創建快照很容易。方法是打開Hyper-V管理器,在所在的虛擬機上右鍵點擊就可以創建快照,下面就是一個很好的例子。
圖1:創建Hyper-V快照
在所在的虛擬機上右鍵后選擇快照命令
一旦快照創建好,我們在Hyper-V里面的虛擬機下面就能看到一個快照樹。快照樹的意義在于一旦在虛擬機做出重要改變后遇到需要恢復到原先狀態的時候能夠順利恢復到之前的備份上。從快照樹上對虛擬機做恢復,如下面的圖所示,只用簡單的右鍵一下虛擬機,然后點擊菜單上的快捷鍵“恢復”即可。下面的圖示很好的展示了選定虛擬機上的快照樹。
圖2:選擇“恢復”命令
我們可以通過右鍵需要恢復的虛擬機然后選擇菜單上的“恢復”快照就可以很容易的將虛擬機恢復到原先的狀態。
使用Hyper-V快照功能的劣勢
正如你所看到的那樣,Hyper-V創建快照和恢復相對都很容易。通過對本文的介紹,我經常把快照說成是“備份”,但需要知道的是,這和傳統意義上的備份并不相同。事實上,微軟建議用戶使用少量的使用快照功能,因為Hyper-V快照技術本身還是有其缺陷的。
第一個方面的缺陷是Hyper-V的快照是基于本地存儲,因此對其的保護措施就相對比較有限,并且它和數據本身是存在于同一個卷上的,這樣更減少了其快照的意義。
當我們創建一個快照的時候,微軟會創建一個特殊的虛擬硬盤,叫AVHD文件。可以從如下的圖例中看出,例子里我們用Hyper-V軟件為虛擬機Lab-DC創建了一個文件夾,在這個文件夾里,是一個被稱為虛擬硬盤和一個被稱為快照的兩個子文件夾,剛才所說的AVHD文件就存儲在那里。
AVHD文件會消耗與其他虛擬磁盤文件共享的磁盤空間。需要了解的是,Hyper-V默認使用的是動態擴展虛擬磁盤大小的技術,因此,給其他AVHD文件預留足夠的空間有著重要的意義。
圖3:Hyper-V快照存放在本地
AVHD文件會消耗與其他虛擬磁盤文件共享的磁盤空間。
另外一個不建議大量使用快照的原因在于快照技術會對虛擬機性能上受到較大的影響。當我們創建一個快照的時候,我們并不是簡單的在對一個虛擬機做拷貝。相反的,Hyper-V首先會先讓虛擬硬盤文件只讀,然后會創建一個新的虛擬磁盤文件,也就是之前說的AVHD文件。此期間所有的操作都會被記錄在這個新的虛擬磁盤文件上。
這種方式會對讀操作產生較大的影響。當產生讀請求的時候,Hyper-V首先會檢測AVHD文件是否含有所需要的文件。如果相應的文件沒有找到,將再從原有的磁盤文件中查找。性能上的影響將全部加到有著多個虛擬磁盤文件上,因為在數據被查找到前,需要遍歷所有的虛擬磁盤文件。
使用Hyper-V的另外一個問題是對于數據庫服務器,它的表現并不盡人意。當虛擬機上的數據庫服務器回滾到快照狀態時,服務器會丟失掉所有自快照后的全部處理記錄。這對于那些已經連接到數據庫并基于那些數據做過操作的應用來說就是一個很大的問題。微軟禁止將快照技術使用在虛擬化的Exchange郵件服務器上因為剛才說的問題會影響到Exchange的正常運行。
正如我們所了解的那樣,Hyper-V快照能為我們提供快速的虛擬機快照服務,然而這并不是說它就能替代傳統的備份操作,同樣的它們也有自己的空白地帶。