QEMU/KVM,使用完整的物理磁盘比原始.img 文件更快吗?

QEMU/KVM,使用完整的物理磁盘比原始.img 文件更快吗?

在 Virt-Manager 中为 QEMU/KVM 中的客户机添加硬盘时,会出现“qcow2”和“raw”。 “raw”似乎将数据存储在扩展名为“.img”的文件中。似乎我可以将整个物理磁盘传递给客户机,就像这个帖子说,但这样使用整个物理磁盘会比使用原始“.img”文件更快吗?

无论如何,我都会为客户机使用专用的物理驱动器,但我想,如果我让主机同时访问该磁盘,将整个原始磁盘传递给客户机可能会损坏文件系统元数据。如果我在该驱动器上使用原始“.img”文件,那么就不会发生此类事故。但如果前者速度明显更快,那么可能值得冒险。

<disk>
        <disk type="block" device="disk">
        <driver name="qemu" type="raw"/>
        <source dev="/dev/sdg"/> <======= whatever the device is on your system -- lsblk will show devices
        <target dev="vda" bus="virtio"/> (for 2nd virtio device then replace vda by vdb etc )
        # <address type="pci" domain="0x0000" bus="0x06" slot="0x00" function="0x0"/> this line is generated when the VM is booted so you don't enter this one
</disk>

答案1

原始磁盘会更快,尽管这会使将虚拟机移动到另一台计算机变得困难(因为需要克隆磁盘)。

Raw 更快的原因在于,对于 qcow2(或任何其他虚拟格式),任何磁盘请求都会在两个文件系统之间传递:

  1. 虚拟机中发出的请求将由 VM 中的驱动程序处理,包括涉及虚拟扇区分配等的所有管理,这些管理实际上仅在文件内.img,因此在虚构的文件系统中。

  2. 然后,虚拟驱动程序向真实物理磁盘、另一个文件系统发出请求,该文件系统将执行分配物理扇区的相同工作等。

对于原始磁盘,只有一个文件系统 - 虚拟和物理是相同的。但是,在大多数情况下,性能改进只是微不足道的,并不能弥补不便,

相关内容