共計 2755 個字符,預計需要花費 7 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關如何實現 KVM 虛擬機快照,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
KVM 默認的文件格式是 raw,也就是使用文件來模擬實際的硬盤 (當然也可以使用一塊真實的硬盤或一個分區),不過 raw 格式只支持內存快照 (就是啟動的時候加 -snapshot,所有更改都寫到內存),重啟之后就沒了。raw 格式不支持磁盤快照,因此要使用 qcow 或 qcow2 文件格式。
1、要創建 qcow2 格式的虛擬機鏡像文件
[root@target kvm_node]# qemu-img create -f qcow2 /virhost/kvm_node/node4.img 20G
參數 - f 指定格式,如果不指定默認的是 raw。
[root@target kvm_node]# qemu-img info node4.img #查看鏡像文件格式
image: node4.img
file format: qcow2
virtual size: 20G (21495808000 bytes)
disk size: 6.3G
cluster_size: 65536
2、把 raw 格式轉換成 qcow2 格式:
[root@target kvm_node]# qemu-img convert -f raw -O qcow2 /virhost/kvm_node/node5.img /virhost/kvm_node/node5_qcow2.img
3、為虛擬機 node4 創建一個快照
[root@node4 ~]# ls /root/ #/root/ 下無文件
[root@target kvm_node]# virsh snapshot-create-as node4 node4.snap1
[root@target kvm_node]# qemu-img info node4.img
image: node4.img
file format: qcow2
virtual size: 20G (21495808000 bytes)
disk size: 6.3G
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 node4.snap1 401M 2012-04-10 12:04:42 22:02:04.672
4、修改 node4 系統文件并通過 snapshot 文件恢復
[root@node4 ~]# scp node5:/root/* . #從 node5 上復制文件
root@node5 s password:
anaconda-ks.cfg 100% 1224 1.2KB/s 00:00
scp: /root/Desktop: not a regular file
install.log 100% 34KB 33.7KB/s 00:00
install.log.syslog 100% 4232 4.1KB/s 00:00
nginx-0.7.65.tar.gz 100% 590KB 590.3KB/s 00:00
pcre-8.02.tar.gz 100% 1218KB 1.2MB/s 00:00
php-5.2.13-fpm-0.5.13.diff.gz 100% 197KB 196.6KB/s 00:00
php-5.2.13.tar.gz 0% 0 0.0KB/s –:– ETAlphp-5.2.13.tar.gz 100% 11MB 11.2MB/s 00:01
scp: /root/webbench-1.5: not a regular file
webbench-1.5.tar.gz 100% 7675 7.5KB/s 00:00
[root@node4 ~]# ls
anaconda-ks.cfg install.log.syslog pcre-8.02.tar.gz php-5.2.13.tar.gz
install.log nginx-0.7.65.tar.gz php-5.2.13-fpm-0.5.13.diff.gz webbench-1.5.tar.gz
[root@target kvm_node]# virsh snapshot-create-as node4 node4.snap2 #為虛擬機 node4 當前狀態創建快照
[root@target kvm_node]# virsh snapshot-list node4 #查看 node4 的快照
名稱 Creation Time 狀態
————————————————————
node4.snap1 2012-04-11 00:47:06 +0800 paused
node4.snap2 2012-04-11 01:19:06 +0800 running
[root@target kvm_node]# virsh snapshot-revert node4 node4.snap1 #從快照文件 node4.snap1 恢復 node4
[root@node4 ~]# ls /root/ #/root/ 下無文件,恢復成功
[root@target kvm_node]# virsh snapshot-revert node4 node4.snap2 #從快照文件 node4.snap2 恢復 node4
[root@node4 ~]# ls #恢復成功
anaconda-ks.cfg install.log.syslog pcre-8.02.tar.gz php-5.2.13.tar.gz
install.log nginx-0.7.65.tar.gz php-5.2.13-fpm-0.5.13.diff.gz webbench-1.5.tar.gz
5、刪除快照
[root@target kvm_node]# virsh snapshot-delete node4 node4.snap1
6、利用 qemu-img 創建鏡像文件的 snapshot
創建快照
qemu-img snapshot -c node4.snap1 /virhost/kvm_node/node4.img
#測試該命令創建快照大小總是為 0,不知哪位大神能解決
查看快照
qemu-img snapshot -l /virhost/kvm_node/node4.img
把虛擬機恢復到某個快照的狀態:
qemu-img snapshot -a snapshot-name /path/to/os.img
刪除某個快照:
qemu-img snapshot -d snapshot-name /path/to/os.img
關于“如何實現 KVM 虛擬機快照”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。