VMware快照工作原理與類型
快照指的是虛擬磁盤(VMDK)在某一特定時(shí)間點(diǎn)的副本。通過快照可以在系統(tǒng)發(fā)生問題后恢復(fù)到快照的時(shí)間點(diǎn),從而有效保護(hù)磁盤上的文件系統(tǒng)和虛擬機(jī)的內(nèi)存數(shù)據(jù)。尤其對升級應(yīng)用和服務(wù)器及打補(bǔ)丁的時(shí)候,快照可以發(fā)揮救世主的作用。本文將涉及VMware環(huán)境中使用快照需要了解的各種內(nèi)容,包括其所在位置、工作原理和高級功能。
快照磁盤空間的使用和增長率
如果您對虛擬機(jī)創(chuàng)建了多個(gè)快照,就擁有了多個(gè)可以恢復(fù)的時(shí)間點(diǎn)狀態(tài)。在快照創(chuàng)建時(shí),原本可讀寫的數(shù)據(jù)調(diào)整為只讀狀態(tài)。借助in-file delta校驗(yàn)技術(shù),生成新的文件用于保留所有相對于原磁盤文件發(fā)生了改變的數(shù)據(jù)塊部分。
生成的快照文件一定不會超出原始數(shù)據(jù)磁盤的大小。只要磁盤上的數(shù)據(jù)塊發(fā)生了變化,就會在delta文件中進(jìn)行記錄并根據(jù)改變進(jìn)行升級。假設(shè)在快照創(chuàng)建后,所有的原數(shù)據(jù)塊都發(fā)生過改變,快照文件的大小就增長到和原磁盤一樣大。另外會有一些額外的磁盤空間開銷用于存放快照的管理信息。開銷的***值根據(jù)VMFS數(shù)據(jù)塊大小的不同存在差異。
當(dāng)某個(gè)VMFS卷上虛擬磁盤的大小接近于VMDK的***值時(shí),由于這部分開銷的存在可能導(dǎo)致虛擬機(jī)快照創(chuàng)建過程失敗。例如,假設(shè)2MB數(shù)據(jù)塊大小的VMFS卷上,虛擬磁盤大小為512GB。快照可能會占用的***空間就是516GB(512GB+4GB),這超出該VMFS卷可支持的***VMDK值(512GB),從而引發(fā)快照創(chuàng)建的失敗。
所以,如果考慮使用快照,在創(chuàng)建虛擬機(jī)的虛擬磁盤時(shí),要把***可能開銷一并計(jì)算在內(nèi),使其略小于***VMDK值(例如:512GB-4GB=508GB)。快照文件最初并不大(16MB),隨著對磁盤寫入數(shù)據(jù)的增加而增長。
快照以16MB為單位增長以降低SCSI預(yù)留沖突。當(dāng)收到需要對原始磁盤做更改的需求時(shí),就自動改為在delta文件中進(jìn)行操作。如果是對delta文件中的數(shù)據(jù)進(jìn)行二次更改,不會增加它的大小,只是簡單更新相對應(yīng)的數(shù)據(jù)塊內(nèi)容。
快照的增長率取決于服務(wù)器磁盤寫入動作發(fā)生的頻率。例如SQL和Exchange這種磁盤寫入密集型應(yīng)用的話,快照文件增長迅速。而如果是Web和應(yīng)用服務(wù)器的話,內(nèi)容基本是靜態(tài)的寫入動作很少,相應(yīng)的快照增長也很慢。當(dāng)用戶創(chuàng)建多個(gè)快照時(shí),新delta文件生成,同時(shí)把前一個(gè)delta文件狀態(tài)更改為只讀。在有多個(gè)快照的系統(tǒng)中,每個(gè)delta文件的大小都有可能增長到和原磁盤空間一樣大。
快照文件的類型
*--delta.vmdk文件:這是虛擬機(jī)快照創(chuàng)建后用于保存差異數(shù)據(jù)的文件,也被稱作redo-log文件。該delta文件是跟VMDK相對應(yīng)的位圖文件,因此它不會超過基本VMDK空間的大?。ú豢紤]快照開銷在內(nèi))。Delta文件在對虛擬機(jī)做快照時(shí)生成。同時(shí)生成的還有一個(gè)delta helper文件,用于保存快照進(jìn)行刪除或回滾操作時(shí)磁盤上發(fā)生的改變。在快照管理器中對快照做刪除或回滾操作后,這些文件被自動刪除。
*.vmsd文件:該文件用于存放快照元數(shù)據(jù)和相關(guān)信息。它是文本格式的,包含了快照名、UID、磁盤文件名等內(nèi)容。初始大小為0 字節(jié),直到虛擬機(jī)的***快照創(chuàng)建后,文件內(nèi)開始寫入相關(guān)信息并在每個(gè)新快照創(chuàng)建時(shí)進(jìn)行更新。
即使快照被取消,該文件也不會完全清零。如果刪除了快照,該文件依然會記錄它在***時(shí)刻的UID,用于下一個(gè)快照參考。
*.vmsn文件:這是快照狀態(tài)文件,保存在該快照創(chuàng)建時(shí)間點(diǎn)上虛擬機(jī)完整的運(yùn)行狀態(tài)。該文件的大小要取決于用戶是否選擇保留虛擬機(jī)的內(nèi)存數(shù)據(jù)作為快照的一部分。如果選擇了保留內(nèi)存,文件大小會比分配給虛擬機(jī)的***內(nèi)存數(shù)大出幾個(gè)MB。
該文件類似于.vmss文件。.vmsn文件針對虛擬機(jī)上的每個(gè)快照創(chuàng)建,而在快照刪除后也自動被清除。
下文將介紹創(chuàng)建VMware快照的步驟及其使用方法。
【編輯推薦】