概述
KVM虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,缺点是不支持一些新的功能,如支持快照,zlib磁盘压缩,AES加密等。KVM虚拟机使用快照功能,磁盘格式必须为qcow2。
1,查看磁盘镜像格式与转换
(1)查看磁盘格式
代码语言:javascript复制[root@kvm-node1 img]# qemu-img info node03.raw
image: node03.raw
file format: raw
virtual size: 50G (53687091200 bytes)
disk size: 2.0G
(2)raw格式转换成qcow2格式
关闭需要转换磁盘的虚拟机
代码语言:javascript复制[root@kvm-node1 img]# virsh shutdown node03
Domain node03 is being shutdown
[root@kvm-node1 img]# virsh list --all
Id Name State
----------------------------------------------------
3 node02 running
- node01 shut off
- node03 shut off
(3)磁盘格式转换命令
代码语言:javascript复制qemu-img convert -f raw -O qcow2 node03.raw node03.qcow2
-f 源镜像的格式
-o 目标镜像的格式
代码语言:javascript复制[root@kvm-node1 img]# qemu-img convert -f raw -O qcow2 node03.raw node03.qcow2
[root@kvm-node1 img]# ll
total 10318228
-rw-r--r-- 1 root root 2231631872 May 17 16:47 node01.img
-rw------- 1 qemu qemu 2186280960 May 17 20:07 node02.img
-rw-r--r-- 1 root root 2186280960 May 17 20:37 node03.qcow2
-rw-r--r-- 1 root root 53687091200 May 17 20:34 node03.raw
(4)查看磁盘格式
代码语言:javascript复制[root@kvm-node1 img]# qemu-img info node03.qcow2
image: node03.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 3.8G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
2,修改虚拟机配置文件
代码语言:javascript复制[root@kvm-node1 img]# virsh edit node03
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/kvm/img/node03.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
3,对虚拟机进行快照管理
(1)对node03虚拟机创建快照
代码语言:javascript复制[root@kvm-node1 opt]# virsh snapshot-create node03
Domain snapshot 1652791487 created
默认快照的名称为随机指定分配,可使用snapshot-create-as命令指定快照名称
代码语言:javascript复制virsh snapshot-create-as 【虚拟机名】 【快照名】
(2)查看虚拟机快照的版本
代码语言:javascript复制[root@kvm-node1 /]# virsh snapshot-list node03
Name Creation Time State
------------------------------------------------------------
1652791487 2022-05-17 20:44:47 0800 running
(3)查看当前虚拟机镜像快照的版本
代码语言:javascript复制[root@kvm-node1 /]# virsh snapshot-current node03
(4)查看当前虚拟机镜像文件
快照文件的路径在/var/lib/libvirt/qemu/snapshot/ 下
代码语言:javascript复制[root@kvm-node1 /]# ll /var/lib/libvirt/qemu/snapshot/node03/
total 8
-rw------- 1 root root 4793 May 17 20:44 1652791487.xml
4,恢复虚拟机快照
(1)确认恢复快照的时间,恢复到1652791487
代码语言:javascript复制[root@kvm-node1 /]# virsh snapshot-list node03
Name Creation Time State
------------------------------------------------------------
1652791487 2022-05-17 20:44:47 0800 running
(3)执行恢复,并确认恢复版本
代码语言:javascript复制[root@kvm-node1 /]# virsh snapshot-revert node03 1652791487
5,删除虚拟机快照
(1)查看虚拟机快照
代码语言:javascript复制[root@kvm-node1 img]# qemu-img info node03.qcow2
image: node03.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 2.4G
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 1652791487 334M 2022-05-17 20:44:47 00:01:11.872
Format specific information:
compat: 1.1
lazy refcounts: false
(2)删除快照
代码语言:javascript复制[root@kvm-node1 img]# virsh snapshot-delete node03 1652791487
Domain snapshot 1652791487 deleted
[root@kvm-node1 img]# qemu-img info node03.qcow2
image: node03.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 2.4G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false