在新装的服务器上,用的操作系统是 Proxmox Ve,然后上面有不少的虚拟机 VMs,原来的虚拟机磁盘一直是 raw 格式的,最近新增加的两个虚拟机确实默认用了 qcow2 的格式。下面就来看看这两者的差别。
Qemu 和 KVM 系统都支持好多种磁盘镜像格式,使用最多的就是 raw 和 qcow2 格式了。
磁盘镜像是虚拟化中的一块数据,存放在物理磁盘之中。进一步来看,它在虚拟环境中,就是一块虚拟磁盘。储存的方法就是基于文件的储存。
在 Qemu 中,磁盘镜像的默认储存格式是 raw。
优点:
- 简单,而且可以在不同的机器间移动。
- 在物理硬盘中是二进制格式。
- 同其它格式相比,更接近于原始的磁盘性能,其开销非常小,没有元数据。
- 只有有数据的部分才会写入物理磁盘,其他部分会是写入零,算稀疏文件。
缺点:
- 缺乏类似压缩,AES 加密,快照等等的特点。
- 备份需要全盘备份,没有增量一说。
- 删除文件仍然会占用空间。
扩展名一般是 .img。
qcow2 镜像格式是 QEMU 支持的一种磁盘镜像。它也是可以用一个文件的形式来表示一块固定大小的块设备磁盘。qcow2 是写镜像磁盘的副本,固定尺寸的单元,也成为簇组成一个文件,一个簇包含了数据和磁盘元数据。
优点:
- 更小的镜像文件,没有稀疏文件。
- 提供基于 zlib 的压缩。
- 基于数据安全考虑, AES 加密可以用于保护磁盘镜像。
- 可以多个虚拟机快照,包括增量备份。
- 较小的簇尺寸可改善镜像文件的尺寸,而较大的簇可以提供更好的性能。
- 较大的预分配在镜像大小增长的时候会提高性能。
缺点:
同 raw 相比,会有非常小的性能损失,这都是因为 元数据,压缩和加密的开销。
有时需要使用 fstrim 工具来给镜像文件瘦身,因为删除的文件会增加镜像的空间大小。