热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

KVM虚拟机快照的管理

kvm虚拟机快照kvm默认的文件格式是raw,也就是使用文件来模拟实际的硬盘(当然也可以使用一块真实的硬盘或一个分区),不过raw格式只支持内存快照(就是启动的时候加-snapshot,所有更改都写到内存),重启之后就没了。raw格式不支持磁盘快照,因此要使

kvm虚拟快照

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

netsword.blogchina.comhttp://netsword.blog.51cto.com/13993/831394


推荐阅读
author-avatar
张炜26_807
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有