kvm快照备份和恢复
查看磁盘格式:
[root@ehs-as-04 ehs-rac-01]# cd /var/lib/libvirt/images/ [root@ehs-as-04 images]# qemu-img info ehs-rac-01.qcow2 image: ehs-rac-01.qcow2 file format: qcow2 virtual size: 30G (32212254720 bytes) disk size: 34G cluster_size: 65536 Snapshot list: ID TAG VM SIZE DATE VM CLOCK 1 ehs-rac-01-bak 1.6G 2019-09-09 16:00:13 00:16:16.672 2 ehs-rac-01-bak02 1.9G 2019-09-09 16:04:40 00:20:27.294 Format specific information: compat: 1.1 lazy refcounts: true
因为kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。要使用镜像功能,磁盘格式必须为qcow2。如果格式为raw,那么需要来转换。可以看到我们的镜像格是qcow2,故无需改变镜像格式。
转换磁盘格式
[root@ehs-as-04 images]# qemu-img convert -f raw -O qcow2 ehs-rac-01.img ehs-rac-01.qcow2 -f 源镜像的格式 -O 目标镜像的格式
对虚拟机进行快照管理
创建快照
[root@ehs-as-04 images]# virsh snapshot-create ehs-rac-01 ##也可以给快照起个别名 [root@ehs-as-04 images]# virsh snapshot-create-as ehs-rac-01 ehs-rac-01-bak
查看快照版本
[root@ehs-as-04 images]# virsh snapshot-list ehs-rac-01 名称 生成时间 状态 ------------------------------------------------------------ ehs-rac-01-bak 2019-09-09 16:00:13 +0800 running ehs-rac-01-bak02 2019-09-09 16:04:39 +0800 running
查看当前虚拟机的快照版本
[root@ehs-as-04 images]# virsh snapshot-current ehs-rac-01 <domainsnapshot> <name>ehs-rac-01-bak02</name> <state>running</state> <parent> <name>ehs-rac-01-bak</name> </parent> <creationTime>1568016279</creationTime> <memory snapshot='internal'/> <disks> <disk name='hda' snapshot='internal'/> <disk name='hdb' snapshot='no'/> </disks> ...
查看当前的镜像文件:
[root@ehs-as-04 images]# qemu-img info ehs-rac-01.qcow2 image: ehs-rac-01.qcow2 file format: qcow2 virtual size: 30G (32212254720 bytes) disk size: 34G cluster_size: 65536 Snapshot list: ID TAG VM SIZE DATE VM CLOCK 1 ehs-rac-01-bak 1.6G 2019-09-09 16:00:13 00:16:16.672 2 ehs-rac-01-bak02 1.9G 2019-09-09 16:04:40 00:20:27.294 Format specific information: compat: 1.1 lazy refcounts: true
快照配置文件在/var/lib/libvirt/qemu/snapshot/虚拟机名称下
[root@ehs-as-04 images]# ll /var/lib/libvirt/qemu/snapshot/ehs-rac-01/ 总用量 16 -rw------- 1 root root 5250 9月 9 16:04 ehs-rac-01-bak02.xml -rw------- 1 root root 5193 9月 9 16:04 ehs-rac-01-bak.xml
恢复虚拟机快照
注:恢复快照,必须关机,确认虚拟机处于关机状态。
[root@ehs-as-04 images]# virsh destroy ehs-rac-01 域 ehs-rac-01 被删除 [root@ehs-as-04 images]# virsh list --all Id 名称 状态 ---------------------------------------------------- 10 ehs-jboss-02 running 14 ehs-mq-02 running 15 ehs-jboss-01 running 17 ehs-mq-01 running 23 ehs-rac-02 running - ehs-oracle-01 关闭 - ehs-oracle-02 关闭 - ehs-rac-01 关闭
确认需要恢复的快照版本或时间,这里恢复到 ehs-rac-01-bak02
[root@ehs-as-04 images]# virsh snapshot-list ehs-rac-01 名称 生成时间 状态 ------------------------------------------------------------ ehs-rac-01-bak 2019-09-09 16:00:13 +0800 running ehs-rac-01-bak02 2019-09-09 16:04:39 +0800 running
执行恢复操作
[root@ehs-as-04 images]# virsh snapshot-revert ehs-rac-01 ehs-rac-01-bak02
如果按时间恢复需要把 ehs-rac-01-bak02 修改为时间戳
[root@ehs-as-04 images]# virsh snapshot-revert ehs-rac-01 1500373324
删除虚拟机快照
先ehs-rac-01镜像对应有哪些快照
[root@ehs-as-04 images]# qemu-img info ehs-rac-01.qcow2 image: ehs-rac-01.qcow2 file format: qcow2 virtual size: 30G (32212254720 bytes) disk size: 34G cluster_size: 65536 Snapshot list: ID TAG VM SIZE DATE VM CLOCK 1 ehs-rac-01-bak 1.6G 2019-09-09 16:00:13 00:16:16.672 2 ehs-rac-01-bak02 1.9G 2019-09-09 16:04:40 00:20:27.294 Format specific information: compat: 1.1 lazy refcounts: true
删除第一个快照
[root@ehs-as-04 images]# virsh snapshot-delete ehs-rac-01 ehs-rac-01-bak 已删除域快照 ehs-rac-01-bak
查看确认
[root@ehs-as-04 images]# virsh snapshot-list ehs-rac-01 名称 生成时间 状态 ------------------------------------------------------------ ehs-rac-01-bak02 2019-09-09 16:04:39 +0800 running
已经被删除。