Proxmox VE 虚拟机磁盘的选择

这么多类型?怎么选才能让PVE的磁盘性能得到最优的结果?

image-1646970097188.png

先说一下基本的概念吧。

那3者有什么区别呢?

当然是VirtIO-SCSI性能比VirtIO-Block性能好

参考:https://www.ovirt.org/develop/release-management/features/storage/virtio-scsi.html

virtio-scsi 功能是一种新的半虚拟化 SCSI 控制器设备。它是 KVM 虚拟化存储堆栈替代 virtio-blk 并改进其功能的替代存储实施的基础。它提供与 virtio-blk 相同的性能,并增加了以下直接好处:

与 virtio-blk 相比,Virtio-SCSI 提供了直接连接到 SCSI LUN 的能力,并显着提高了可扩展性。virtio-SCSI 的优势在于它能够处理数百个设备,而 virtio-blk 只能处理大约 30 个设备并耗尽 PCI 插槽。

virtio-scsi 旨在取代 virtio-blk,保留了 virtio-blk 的性能优势,同时提高了存储可扩展性,允许通过单个控制器访问多个存储设备,并能够重用客户操作系统的 SCSI 堆栈。

简要的可以参考下图

image-1646970125331.png

引用于:https://www.cnblogs.com/kylingx/p/11704994.html

从实际上看

我们创建一个虚拟机,使用VirtIO SCSI控制器,创建了2个SCSI设备,一个VirtIO BLK设备。

image-1646970148088.png

在系统下可以看到如下信息

image-1646970164899.png

从上面的信息来看,

VirtIO BLK是有独立的磁盘控制器的,叫做:Red Hat VirtIO Scsi controller。
VirtIO SCSI控制器名字叫做:Red Hat VirtIO SCSI pass-through contoller

VirtIO BLK磁盘名叫做:Red Hat SCSI Disk Device
VirtIO SCSI磁盘名叫做:QEMU QEMU HARDDISK SCSI Disk Device

  VirtIO-SCSI VirtIO-BLK
磁盘名 QEMU QEMU HARDDISK SCSI Disk Device Red Hat SCSI Disk Device
控制器 Red Hat VirtIO SCSI pass-through contoller Red Hat VirtIO SCSI controller
驱动 vioscsi.sys viostor.sys

然后我们将磁盘控制器改成VirtIO-SCSI-Single

在OS上面再次看

image-1646970226336.png

显而易见,VirtIO-SCSI-Single控制器,是一个SCSI磁盘对应一个控制器,这样可以提高性能

image-1646970247139.png

有个明显的例子如下https://c.cra.moe/t/topic/24

image-1646970266075.png

这边跑了个数据

image-1646970284563.png

上面是VirtIO-SCSI-Single模式,下面是普通的VirtIO-SCSI模式

image-1646970305004.png

两者看起来差距不大。但是从理论上,还是single模式效益高点。

所以总目前的结论来看,在PVE中要发挥最大的磁盘性能,建议使用VirtIO-SCSI-Single模式的SCSI硬盘。

 

 


Revision #1
Created 11 March 2022 03:41:16 by 余海
Updated 9 July 2022 18:54:26 by 余海