Linux
詳細解釋虛擬機快照如何工作
我想完全了解虛擬機快照的工作原理。儘管我已經研究過這個主題,但我似乎無法找到快照如何實際工作的“高級”概述。我的問題是:
範例場景:我有一個執行 KVM 的 Ubuntu 12.04 主機和一個 Ubuntu 來賓。虛擬機為 RAW 格式。我使用
virsh
命令對其進行快照,
- 生成的文件(快照)是否可引導?還是只是更改需要基本映像可用的數據?
- 如何回滾到先前的狀態?
- 擁有較長的快照鏈會降低虛擬機的性能嗎?如果是這樣,為什麼?
- 如何管理/修剪快照?
- 快照是圖像鏈的一部分,需要所有快照都可用。
- 您可以啟動快照,但您還必須保留所有以前的圖像
- 擁有快照鏈確實會降低性能。高負載的伺服器虛擬機根本不應該使用快照
- 要管理快照,您只需嘗試使鏈盡可能短/平坦。
man qemu-img
技術細節- 拍攝快照時,會創建一個新的空圖像。當您從圖像中讀取一個塊時,您實際上點擊了指向鏈中前一個快照的指針(依此類推,直到您點擊一個數據塊)。當您寫入快照時,指針會被實際的數據塊替換,並且快照圖像會因該塊而變大。
為了更好地理解,從這裡開始