KVM 快照的定義:快照就是將虛機在某一個時間點上的磁碟、記憶體和設備狀態保存一下,以備將來之用。它包括以下幾類: (1)磁碟快照:磁碟的內容(可能是虛機的全部磁碟或者部分磁碟)在某個時間點上被保存,然後可以被恢復。 磁碟數據的保存狀態: 在一個運行著的系統上,一個磁碟快照很可能只是崩潰一致的(cra ...
KVM 快照的定義:快照就是將虛機在某一個時間點上的磁碟、記憶體和設備狀態保存一下,以備將來之用。它包括以下幾類:
(1)磁碟快照:磁碟的內容(可能是虛機的全部磁碟或者部分磁碟)在某個時間點上被保存,然後可以被恢復。
磁碟數據的保存狀態:
在一個運行著的系統上,一個磁碟快照很可能只是崩潰一致的(crash-consistent) 而不是完整一致(clean)的,也是說它所保存的磁碟狀態可能相當於機器突然掉電時硬碟數據的狀態,機器重啟後需要通過 fsck 或者別的工具來恢復到完整一致的狀態(類似於 Windows 機器在斷電後會執行文件檢查)。(註:命令 qemu-img check -f qcow2 --output=qcow2 -r all filename-img.qcow2 可以對 qcow2 和 vid 格式的鏡像做一致性檢查。)
對一個非運行中的虛機來說,如果上次虛機關閉的時候磁碟是完整一致的,那麼其被快照的磁碟快照也將是完整一致的。
磁碟快照有兩種:
內部快照 - 使用單個的 qcow2 的文件來保存快照和快照之後的改動。這種快照是 libvirt 的預設行為,現在的支持很完善(創建、回滾和刪除),但是只能針對 qcow2 格式的磁碟鏡像文件,而且其過程較慢等。
外部快照 - 快照是一個只讀文件,快照之後的修改是另一個 qcow2 文件中。外置快照可以針對各種格式的磁碟鏡像文件。外置快照的結果是形成一個 qcow2 文件鏈:original <- snap1 <- snap2 <- snap3。
(2)記憶體狀態(或者虛機狀態):只是保持記憶體和虛機使用的其它資源的狀態。如果虛機狀態快照在做和恢復之間磁碟沒有被修改,那麼虛機將保持一個持續的狀態;如果被修改了,那麼很可能導致數據corruption。
系統還原點(system checkpoint):虛機的所有磁碟的快照和記憶體狀態快照的集合,可用於恢復完整的系統狀態(類似於系統休眠)。
一、記憶體(狀態)快照 virsh save ---不建議
對運行中的 CentOS7運行 “virsh save” 命令。命令執行完成後,CentOS7變成 “shut off” 狀態。
創建快照
virsh list virsh save --bypass-cache CentOS7 /opt/backup/vm1_save --running
記憶體數據被保存到 raw 格式的文件中。要恢復的時候,可以運行 “vish restore /opt/backup/vm1_save” 命令從保存的文件上恢復。
二、磁碟快照 virsh snapshot-create-as
1.創建快照備份
virsh snapshot-create-as --domain CentOS7 --name snap-test1 --description "URL: www.test.com" virsh snapshot-list CentOS7
2.查看當前虛擬機鏡像文件
qemu-img info /opt/kvm/centos7.img
快照配置文件在/var/lib/libvirt/qemu/snapshot/虛擬機名稱/下
3.恢復虛擬機快照
(1) 恢復虛擬機快照必須關閉虛擬機。
virsh list –all virsh shutdown CentOS7
確認虛擬機是關機狀態
(2) 確認需要恢復的快照時間,然後確定恢復到snap-test1
(3) 執行恢復,並確認恢復版本
4.刪除虛擬機快照
virsh snapshot-delete CentOS7 snap-test1
參考文檔:https://www.cnblogs.com/sammyliu/p/4468757.html