KVM快照管理
1、创建快照
virsh snapshot-create daixuan1
[root@daixuan ~]# virsh snapshot-create daixuan1
Domain snapshot 1455801179 created
查看快照
[root@daixuan ~]# qemu-img info /data/daixuan1.qcow2
p_w_picpath: /data/daixuan1.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 10G
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 1455801179 0 2016-02-18 21:12:59 00:00:00.000
注:磁盘镜像转换格式,创建快照
创建快照如果报错:
unsupported configuration: internal snapshot for disk vda unsupported for storage type raw
这是因为daixuan1.img文件是raw格式的镜像不能做快照,所以需要先转换一下格式先查看当前子机磁盘镜像格式
qemu-img info /data/centos6.6_1.img
结果是:
p_w_picpath: /data/centos6.6_1.img
file format: raw(格式必须是qcow2才可以做快照)
virtual size: 30G (32212254720 bytes)
disk size: 1.6G
把raw格式转换为qcow格式(其实是复制了一份):
qemu-img convert -f raw -O qcow2 /data/centos6.6_1.img /data/centos6.6_1.qcow2
-f raw 原来格式
-O qcow2转化的格式
qemu-img info /data/centos6.6_1.qcow2 //再次查看格式,结果如下
p_w_picpath: /data/centos6.6_1.qcow2
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 1.1G
cluster_size: 65536
现在我们还需要编辑子机配置文件,让它使用新格式的虚拟磁盘镜像文件
virsh edit centos6.6_1 //这样就进入了该子机的配置文件,等价使用下面的vi
vi /etc/libvirt/qemu/centos6.6_1
(/etc/libvirt/qemu/centos6.6_1.xml),跟用vim编辑这个文件一样的用法
需要修改的地方是:
<driver name='qemu' type='raw' cache='none'/>
<source file='/data/centos6.6_1.img'/>
改为:
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/centos6.6_1.qcow2'/>
继续创建快照
virsh snapshot-create centos6.6_1 //这次成功了,提示如下
Domain snapshot 1437248443 created
2、列出快照:
[root@daixuan ~]# virsh snapshot-list daixuan1
名称 Creation Time 状态
------------------------------------------------------------
1455801179 2016-02-18 21:12:59 +0800 shutoff
3、恢复快照
首先需要关闭子机
virsh destroy daixuan1
确认子机是否关闭
virsh domstate daixuan1
关闭
[root@daixuan ~]# virsh snapshot-revert daixuan1 1455801179
[root@daixuan ~]# virsh snapshot-list daixuan1 //结果是
名称 Creation Time 状态
------------------------------------------------------------
1455801179 2016-02-18 21:12:59 +0800 shutoff
4、查看当前子机的快照版本:
[root@daixuan ~]# virsh snapshot-current daixuan1
<domainsnapshot>
<name>1455801179</name>
5、 删除快照
[root@daixuan ~]# virsh snapshot-delete daixuan1 1455801179
Domain snapshot 1455801179 deleted
[root@daixuan ~]# virsh snapshot-list daixuan1
名称 Creation Time 状态
daixuan1子机的快照文件在 /var/lib/libvirt/qemu/snapshot/daixuan1/ 目录下
[root@daixuan ~]# ls /var/lib/libvirt/qemu/snapshot/daixuan1/ //已经没有快照了
[root@daixuan ~]# virsh -help | grep snapshot //查看virsh的snapshot的命令
iface-begin create a snapshot of current interfaces settings, which can be later committed (iface-commit) or restored (iface-rollback)
Snapshot (help keyword 'snapshot')
snapshot-create Create a snapshot from XML
snapshot-create-as Create a snapshot from a set of args
snapshot-current Get or set the current snapshot
snapshot-delete Delete a domain snapshot
snapshot-dumpxml Dump XML for a domain snapshot
snapshot-edit edit XML for a snapshot
snapshot-info snapshot information
snapshot-list List snapshots for a domain
snapshot-parent Get the name of the parent of a snapshot
snapshot-revert Revert a domain to a snapshot