一、KVM磁盘的格式介绍
1.raw磁盘格式介绍
原始格式是磁盘映像的纯二进制映像,非常便于移植。在支持稀疏文件的文件系统上,这种格式的图像只使用其中记录的数据实际使用的空间。你随便dd一个file就模拟了一个raw格式的镜像。由于裸的彻底,性能上来说的话还是不错的。目前来看,KVM和XEN默认的格式好像还是这个格式。因为其原始,有很多原生的特性,例如直接挂载也是一件简单的事情。
(1)格式简单支持镜像格式的转换,平时也会被用在中间格式转换,
(2)支持磁盘容量的扩容和减少
(3)不支持创建snapshot(虚拟机快照),
它并不存储元数据,因此可以作为保证虚拟机兼容性的候选方案。然而,也正因为它不存储元数据,因此不能支持某些高级特性,比如快照和压缩等
2.qcow2磁盘格式介绍
现在比较主流的一种虚拟化镜像格式,经过一代的优化,目前qcow2的性能上接近raw裸格式的性能,对于qcow2的格式,几点还是比较突出的,qcow2的snapshot,可以在镜像上做N多个快照
按需进行分配磁盘空间,不管文件系统是否支持
(1)支持快照
(2)支持zlib的磁盘压缩
(3)支持AES的加密
3.vmdk磁盘格式介绍(扩展)
VMDK(VMWareVirtual Machine Disk Format)是虚拟机VMware创建的虚拟硬盘格式,文件存在于VMware文件系统中,被称为VMFS(虚拟机文件系统)。一个VMDK文件代表VMFS在虚拟机上的一个物理硬盘驱动。所有用户数据和有关虚拟服务器的配置信息都存储在VMDK文件中,VMware环境当中默认使用的磁盘格式。
二、磁盘格式转换
#创建一块qcow2的虚拟硬盘
[root@kvm01 ~]# qemu-img create -f qcow2 test.qcow2 2G
Formatting 'test.qcow2', fmt=qcow2 size=2147483648 encryption=off cluster_size=65536 lazy_refcounts=off
[root@kvm01 ~]# ll -h
-rw-r--r-- 1 root root 193K 2020-07-30 19:53 test.qcow2
#查看硬盘信息
[root@kvm01 ~]# qemu-img info test.qcow2
image: test.qcow2
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
#将raw格式转换为qcow2格式
[root@kvm01 /opt]# qemu-img convert -f raw -O qcow2 Centos7_db01.raw Centos7_db01.qcow2
[root@kvm01 /opt]# ll -h
-rw-r--r-- 1 root root 1.4G 2020-07-30 19:53 Centos7_db01.qcow2
#修改配置文件
[root@kvm01 /opt]# virsh edit Centos7_db01
<driver name='qemu' type='qcow2'/>
<source file='/opt/Centos7_db01.qcow2'/>
[root@kvm01 /opt]# virsh shutdown Centos7_db01
Domain Centos7_db01 is being shutdown
#重新启动虚拟机,确认硬盘可用
[root@kvm01 /opt]# virsh start Centos7_db01
Domain Centos7_db01 started
[root@kvm01 /opt]# virsh list --all
Id Name State
----------------------------------------------------
2 Centos7_db01 running
- centos6_web01 shut off
[root@kvm01 /opt]# virsh console Centos7_db01
[root@web01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda3 8.5G 1001M 7.6G 12% /
devtmpfs 485M 0 485M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 6.7M 489M 2% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 509M 120M 389M 24% /boot
tmpfs 100M 0 100M 0% /run/user/0
[root@web01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 10G 0 disk
├─vda1 253:1 0 512M 0 part /boot
├─vda2 253:2 0 1G 0 part [SWAP]
└─vda3 253:3 0 8.5G 0 part /

