VMware快照可儲存虛拟機在特定時刻的狀态和資料,包括虛拟機的電源狀态(例如,打開電源、關閉電源、挂起),以及組成虛拟機的所有檔案(磁盤、記憶體和其他裝置如虛拟網絡接口)。虛拟機提供了多個用于建立和管理快照及快照鍊的操作。通過這些操作,使用者可以建立快照、還原到鍊中的任意快照以及移除快照。可以建立多種快照樹。
本文将介紹進行VMware快照操作的最佳實踐。
快照如何工作:
VMware API允許VMware和第三方産品利用虛拟機及其快照執行操作。以下是可以使用我們的API對虛拟機和快照執行的常見操作清單:
· CreateSnapshot:建立新的虛拟機快照。作為一個副作用,該操作将更新目前快照。
· RemoveSnapshot:移除快照并删除任何關聯的存儲。
· RemoveAllSnapshots:移除所有與虛拟機關聯的快照。如果虛拟機沒有任何快照,則此操作将成功傳回。
· RevertToSnapshot:将虛拟機的執行狀态更改為此快照的狀态。這等同于使用 vSphere/VI Client GUI 時快照管理器下的“轉至”選項。
· Consolidate:合并重做日志的層次結構。該操作僅在 vSphere 5.0 及更高版本中可用。
以下是在VMware環境中處理如何建立、移除或恢複快照請求的進階别概述:
1. 建立、移除或恢複虛拟機快照的請求将使用VMware API從用戶端發送到伺服器。
2. 該請求将轉發到目前托管存在問題的虛拟機的VMware ESX主機。
注意:隻有在原始請求發送到其他伺服器(例如管理ESX主機的vCenter)時才會發生此情況。
3. 如果快照包括記憶體選項,則ESX主機會将虛拟機記憶體寫入磁盤。
注意:在整個寫入記憶體期間虛拟機将處于停止狀态。無法預先計算停止時間的長度,該時間長度取決于存在問題的磁盤的性能和寫入的記憶體量。ESXi/ESXi 4.x和更高版本在寫入記憶體時的停止時間較短。
4. 如果快照包括靜默選項,則ESX主機将請求客戶機作業系統通過VMware Tools靜默磁盤。
注意:視客戶機作業系統而定,靜默操作可以通過同步驅動程式、vmsync子產品或Microsoft卷影複制服務(VSS)完成。
5. ESX主機對虛拟機快照資料庫(.vmsd檔案)進行相應的更改,這些更改反映在虛拟機的快照管理器中。
注意:移除快照時,快照管理器中的快照實體将在對子磁盤進行更改之前移除。從子磁盤繼續運作虛拟機時,快照管理器不包含任何快照條目。
6. ESX主機會調用與虛拟磁盤API函數類似的函數,對子磁盤(-delta.vmdk 和 .vmdk檔案)和磁盤鍊進行更改。
注意:移除快照期間,如果子磁盤很大,則操作可能需要較長時間。這可能導緻VirtualCenter或VMware Infrastructure Client中出現逾時錯誤消息。
子磁盤
使用快照建立的子磁盤是稀疏磁盤。稀疏磁盤采用寫入時複制 (COW) 機制,其中虛拟磁盤不包含任何資料,直到通過寫入操作将資料複制到磁盤。此優化可節省存儲空間。粒度是稀疏磁盤使用寫入時複制機制的度量機關。每個粒度均是一個包含虛拟磁盤資料的扇區塊。預設大小為128個扇區或64 KB。
注意:稀疏磁盤通常建立為VMFSSPARSE類型。自vSphere 5.5開始,對于大小為2TB或更大的任意vmdk,稀疏磁盤的類型均為SESPARSE。
重要的是要注意以下有關子磁盤空間使用率的要點:
· 如果虛拟機正在運作快照,則其正在對子磁盤或稀疏磁盤進行更改。對該磁盤執行的寫入操作越多,該磁盤就會變得越大,直至達到上限(基礎磁盤大小與少量開銷之和)。
· 在子磁盤的空間要求中,除了其所依賴的父磁盤的空間要求之外還有附加要求。如果虛拟機具有一個帶子磁盤的10 GB磁盤,則使用的空間為10 GB+子磁盤的大小+.vmsn檔案大小+開銷。
· 子磁盤會增長得很大,乃至填滿整個資料存儲,但這是因為包含資料存儲的LUN不夠大,無法容納基礎磁盤、已建立的快照數量、相關開銷和已建立的.vmsn檔案。
· 子磁盤的增長速度直接取決于對磁盤執行的I/O量。
· 子磁盤的大小對删除與子磁盤關聯的快照所用的時間有直接影響。
磁盤鍊
通常,首次建立快照時,将通過父磁盤建立第一個子磁盤。連續快照将從鍊上的最後一個子磁盤生成新的子磁盤。如果快照鍊中有多個分支,則關系可能會發生更改。
下圖是快照鍊的示例。每個正方形表示上面部分所述的一個資料塊或粒度:
<a href="https://community.emc.com/servlet/JiveServlet/showImage/102-54396-2-139790/snapshot.jpg" target="_blank"></a>
警告:手動操作單個子磁盤或任意快照配置檔案可能會影響磁盤鍊。由于可能會導緻資料丢失,VMware不建議手動修改磁盤鍊。
最佳實踐:
· 快照不是備份。由于快照檔案僅僅是原始虛拟磁盤的變更日志,請不要依賴它完成直接備份過程。虛拟機基于最新快照(而不是原始 vmdk 磁盤檔案)運作。
· 快照不是原始VMDK磁盤檔案的完整副本。快照檔案中的變更日志與原始磁盤檔案相結合,共同構成虛拟機的目前狀态。如果删除基礎磁盤,快照檔案将毫無用處。
· 快照檔案可以增大到與原始基礎磁盤檔案相同的大小,是以,虛拟機配置的存儲容量的增加值等于虛拟機的原始容量乘以虛拟機上的快照數量。
· 一個鍊中支援的最大數量為32個。但是,VMware建議您在一個鍊中隻使用2至3個快照。
· 使用的單個快照不要超過24-72小時。
o 這可以防止快照變得過大,以緻删除快照/送出快照到原始虛拟機磁盤時引起問題。請建立快照,對虛拟機進行更改,然後在您确認虛拟機處于正常工作狀态後立即删除/送出快照。
o 對于電子郵件和資料庫伺服器等高事務量虛拟機上使用的快照要格外用心。這些快照會很快增大,充滿資料存儲空間。當您确認您所測試的過程處于正常的工作狀态後,請立即送出這些虛拟機上的快照。
· 如果使用與快照相關的第三方産品(如虛拟機備份軟體),請定期監測為備份而配置的系統,以確定沒有快照在很長一段時間内一直處于活動狀态。
o 快照隻應在備份過程期間存在。
o 通過第三方軟體(通過API調用)建立的快照可能不會顯示在vCenter快照管理器中。請定期通過指令行檢查快照。
· 鍊中存在過多快照或快照容量太大可能會降低虛拟機和主機的性能。
· 配置自動vCenter Server警報,當從快照中運作虛拟機時将觸發警報。
· 确認執行Storage vMotion之前不存在任何快照(通過指令行)。如果存在快照,則在執行Storage vMotion之前删除它們。
· 确認在增加任何虛拟機的虛拟磁盤或虛拟RDM容量之前不存在任何快照(通過指令行)。如果存在快照,則在增加磁盤容量之前删除它們。增加包含快照的磁盤的容量可能會導緻快照損壞和潛在的資料丢失。
VMware KB: Best practices for virtual machine snapshots in the VMware environment
VMware KB: Understanding virtual machine snapshots in VMware ESXi and ESX
VMware
本文轉自bard_zhang51CTO部落格,原文連結:http://blog.51cto.com/timefiles/1956299 ,如需轉載請自行聯系原作者