Xen和Virtualbox等都支持一系列不同的虚拟机映像格式。
这些是:vmdk、vdi、qcow 和 qcow2、hdd 和 vhd。
在不对某一特定产品有任何偏见的情况下,我想知道从功能、稳健性和速度的角度来看各种格式的优缺点是什么?
我在论坛帖子中发现的一条信息是这样的:
“主要的区别在于,VDI 在生成映像时使用相对较大的块(1MB),因此块指针等的开销较小,但最终并不节省空间,因为如果在这样的 1MB 块中有一个字节非零,则将使用整个空间。相比之下,VMDK 使用 64K 块,因此具有更多的管理开销,并且通常磁盘空间消耗较少。与此相反的是,VDI 在快照方面更高效。”
您可能会想,我想知道这一点是因为我想知道选择哪种格式?不完全是,我正在开发一些使用这些格式的软件,并希望支持其中一种或多种格式。简单、大磁盘和易于开发是我的主要驱动力。
答案1
除非您有其他理由,否则请始终使用虚拟化产品的原生格式。如果您正在编写与 VM 磁盘格式交互的应用程序,则应将其编写为与您打算支持的虚拟化产品的所有原生格式兼容。试图在所有产品中使用一种格式是一个坏主意,因为并非所有产品都能非常有效地使用任何一种格式,从而导致格式不是原生的系统性能不佳。请不要强迫任何人更改格式以支持您的应用程序。