如何实现KVM虚拟机快照

77次阅读
没有评论

共计 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 虚拟机快照”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2755字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)