虚拟机磁盘的格式

在新装的服务器上,用的操作系统是 Proxmox Ve,然后上面有不少的虚拟机 VMs,原来的虚拟机磁盘一直是 raw 格式的,最近新增加的两个虚拟机确实默认用了 qcow2 的格式。下面就来看看这两者的差别。

Qemu 和 KVM 系统都支持好多种磁盘镜像格式,使用最多的就是 raw 和 qcow2 格式了。

磁盘镜像是虚拟化中的一块数据,存放在物理磁盘之中。进一步来看,它在虚拟环境中,就是一块虚拟磁盘。储存的方法就是基于文件的储存。

在 Qemu 中,磁盘镜像的默认储存格式是 raw。

优点:

  • 简单,而且可以在不同的机器间移动。
  • 在物理硬盘中是二进制格式。
  • 同其它格式相比,更接近于原始的磁盘性能,其开销非常小,没有元数据。
  • 只有有数据的部分才会写入物理磁盘,其他部分会是写入零,算稀疏文件。

缺点:

  • 缺乏类似压缩,AES 加密,快照等等的特点。
  • 备份需要全盘备份,没有增量一说。
  • 删除文件仍然会占用空间。

扩展名一般是 .img。

qcow2 镜像格式是 QEMU 支持的一种磁盘镜像。它也是可以用一个文件的形式来表示一块固定大小的块设备磁盘。qcow2 是写镜像磁盘的副本,固定尺寸的单元,也成为簇组成一个文件,一个簇包含了数据和磁盘元数据。

优点:

  • 更小的镜像文件,没有稀疏文件。
  • 提供基于 zlib 的压缩。
  • 基于数据安全考虑, AES 加密可以用于保护磁盘镜像。
  • 可以多个虚拟机快照,包括增量备份。
  • 较小的簇尺寸可改善镜像文件的尺寸,而较大的簇可以提供更好的性能。
  • 较大的预分配在镜像大小增长的时候会提高性能。

缺点:

同 raw 相比,会有非常小的性能损失,这都是因为 元数据,压缩和加密的开销。

有时需要使用 fstrim 工具来给镜像文件瘦身,因为删除的文件会增加镜像的空间大小。

磁盘镜像的格式转换

qemu-img convert -f raw -O qcow2 /var/lib/libvirt/images/machine01.img /var/lib/libvirt/images/machine01.qcow2


作者: David Yin
原载: Free Thinking
版权所有。转载时必须以链接形式注明作者和及本声明。
blog comments powered by Disqus