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
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/158627.html
標籤:Linux
上一篇:C/C++編程筆記:Unix AIX和Linux C語言編譯器差別?
下一篇:Docker基礎入門
