哪个更好的图像格式,raw或qcow2,用作其他虚拟机的基本映像?

我正在使用一个baseimage,并基于这个创build了许多虚拟机。 而现在我想知道哪个更好,qcow2还是原始的用于基本图像。 而且,你能告诉我是否有利用这个基本的东西,而不是克隆整个磁盘的好处。 速度可能是一个因素,但是就效率而言,在使用基本映像然后使用基本映像创build虚拟机方面有任何问题?

编辑1:

我做了一些实验,得到了 在这里输入图像描述在这里输入图像描述在这里输入图像描述

首先是基本图像和覆盖图都是qcow2。 第二当baseimage是原始的,但覆盖是qcow2,第三种情况下,我给每个虚拟机单个原始磁盘映像。 令人惊讶的是,最后一种情况比其他两种效率高得多。

 实验装置: 
在baseimage操作系统:Ubuntu服务器14.04 64位。
主机操作系统:Ubuntu 12.04 64bit
内存:8GB
处理器:英特尔®酷睿™i5-4440 CPU @ 3.10GHz×4 
磁盘:500 GB 

在x轴上:同时启动的VM数量。 从1开始,递增到15。

在y轴上:启动“x”个机器的总时间。

从图中可以看出,给虚拟机提供完整的磁盘镜像比其他两种方法效率高得多。

编辑2: 在这里输入图像描述

这是为了当我们给每个虚拟机的个人原始图像的情况下。 做了caching刷新之后,这是图表。 它几乎类似于原始的baseimage + qcow覆盖。

谢谢。

对于您的特定用例(基本图像+ qcow2覆盖),RAW格式应该是首选:

  1. 速度更快:因为它没有关联元数据,所以速度越快越好。 另一方面,Qcow2具有两层间接性,必须先交叉才能打中实际的数据
  2. 由于覆盖图层必须是Qcow2文件,因此您不会失去永久有用的快照function (RAW图像本身不支持快照)

基本图像+ qcow2覆盖与多个完整副本之间的select取决于您的优先级:

  1. 为了获得绝对的性能,请使用废弃的RAW图像。 这不利于快照,在大多数情况下,付出的代价太高
  2. 为了灵活性和节省空间,请使用RAW基本图像+ Qcow2叠加层。

无论如何,我发现Qcow2文件有点脆弱。

对于我的生产KVMpipe理程序我基本上使用两个不同的设置:

  1. 性能是第一的我使用直接连接到虚拟机的LVM卷,并使用LVM快照function进行一致的备份
  2. 在那里我可以牺牲一些性能来增强灵活性,我使用单一的大型LVM精简configuration卷+ XFS + RAW图像

另一种可能是使用正常的LVM卷+ XFS + RAW图像。 唯一的缺点是正常(非精简)的LVM快照速度非常慢,快照正常的LVM卷会影响性能(在快照的整个生命周期内)。 无论如何,如果你打算只使用零星的快照,这可以是更简单和更安全的赌注。

一些参考:
RHEL 6上的KVM I / O缓慢
KVM存储性能以及RHEL 6.1和Fedora 16上的Qcow2预configuration
红帽企业Linux 6.2上的KVM存储性能和caching设置
LVM瘦身解释

请注意….如果您使用的是Linux,您可以使用raw并获得与尺寸相同的qcow2相同的好处。

如果您的文件系统支持漏洞(例如在Linux上的ext2或ext3或Windows上的NTFS),那么只有写入的扇区将保留空间。

https://docs.fedoraproject.org/en-US/Fedora/18/html/Virtualization_Administration_Guide/sect-Virtualization-Tips_and_tricks-Using_qemu_img.html

原始磁盘映像格式(默认)。 这可以是最快的基于文件的格式。 如果您的文件系统支持漏洞(例如,Linux上的ext2或ext3或Windows上的NTFS),则只有写入的扇区才会保留空间。 使用qemu-img info获取图像或ls -ls在Unix / Linux上使用的实际大小。