kvm快照备份和恢复

Posted opma

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

已经被删除。

 

以上是关于kvm快照备份和恢复的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 6.9下KVM虚拟机快照创建删除恢复(转)

KVM之八:快照创建恢复与删除

KVM虚拟机快照

2.1-kvm恢复和删除快照

kvm利用kvm快照备份虚拟机

KVM快照备份