虚拟磁盘映像 - 文件或分区

虚拟磁盘映像 - 文件或分区

我正在研究在虚拟机中使用文件和分区存储虚拟磁盘映像之间的区别。常识是基于分区的映像比基于文件的映像速度更快,因为开销减少了。这很有道理,但我从未见过任何实际数字。

我自己的测试结果却有所不同。当我对直接分区的虚拟磁盘进行基准测试时,然后用 ext4 格式化同一个分区,创建一个存储在该 ext4 文件系统上的虚拟磁盘映像,然后对它进行基准测试,我完全没有看到直接分区虚拟磁盘的速度提升。相反,在某些系统上,基于文件的映像甚至更快(可能是由于主机操作系统缓存或类似原因)。此测试在许多系统上重复多次,结果相当一致。

那么,抛开性能论证,是否仍然认为更好的使用分区而不是虚拟磁盘映像?直接分区访问比映像文件更好的原因是什么?

或者也许有理由反过来做?也许是虚拟磁盘文件格式之一具有原始分区映像所不具备的优势?

答案1

性能差异在于删除虚拟化层,通过使用分区,您可以删除一层(尽管很小),因此可以预期性能会有所提升。但是,如果您与其他 VM 共享磁盘,则性能提升可能为零。

这里的性能提升非常小,以至于高度取决于您的硬件配置(读取磁盘控制器和 RAID 布局)。我的常识表示这仅在设备(磁盘)不在多个 VM 之间共享且 VM 可以直接访问它时才有意义。另一种选择是在传递设置(您的硬件和客户操作系统必须支持它),这样您就删除了两层虚拟化,因此性能提升应该更加明显。

相关内容