如今,越来越多的工作负载在虚拟机 (VM) 中运行,包括在来宾操作系统中需要更多 IO 的工作负载。在 VMware vSphere 上的 VM 中,所有虚拟磁盘 (VMDK) 都连接到默认配置中的 LSI 逻辑 SAS SCSI 适配器。此适配器无需安装额外驱动程序即可被所有操作系统识别,但并不总是提供最佳性能,尤其是在使用 SSD RAID 或 NVMe 存储时。在本文中,我们比较了虚拟存储控制器LSI Logical SASVMware ParavirtualNVMe Controller

控制器型号

几乎每个 VM 中的标准控制器都是LSI 逻辑 SAS SCSI 控制器。每个客户操作系统都识别并支持此控制器,无需额外的驱动程序。它适用于几乎所有没有大量 I/O 要求的工作负载。Microsoft Server Cluster Service (MSCS)的配置也是必需的。

从 ESXi 4.0 和虚拟硬件版本 7 开始,VMware 准虚拟控制器可用。该控制器是为高性能存储系统开发的,因为它可以处理更高的 I/O 并降低 CPU 负载。为了让来宾操作系统使用控制器,必须安装VMware Tools

从 ESXi 6.5 和虚拟硬件版本 13 开始,还可以将NVMe 控制器添加到 VM。该控制器进一步优化了 SSD RAID、NVMe 和 PMEM 存储的性能。此控制器是 vSphere 7.0 中 Windows 虚拟机的默认控制器。

正确控制器的选择取决于 VM 中的应用程序。例如,如果是办公室虚拟机,则对性能的要求相对较低,可以使用标准的 LSI Logical SAS SCSI 控制器。如果 VM 内需要更高的存储性能,并且其背后的存储系统也提供更高的性能,则 VMware 准虚拟控制器通常更合适。对于使用 SSD RAID、NVMe 或 PMEM 存储时的绝对高端性能以及 VM 中非常高的性能要求,NVMe 控制器是最佳选择。

性能测试

我们针对不同的场景进行了各种性能测试。测试场景仅为示例,应根据自己的工作负载单独调整各个值,以实现真实的结果。所用测试系统的详细信息:

硬件软件:

  • 超微主板 X11DPi-NT
  • 2 个英特尔至强金牌 5222(3.80GHz,4 核,16.5MB)
  • 256GB ECC 寄存 (RDIMM) DDR4 2666 RAM 4 列
  • 3.2 TB 三星 SSD NVMe PCI-E 3.0 (PM1725b)
  • ESXi 6.7.0 更新 2(内部版本 13981272)

测试虚拟机

  • Windows 10 专业版 (18362)
  • 2个CPU插槽
  • 8 个 vCPU
  • 8GB 内存
  • VMware 半虚拟化
  • LSI 逻辑 SAS
  • NVMe 控制器
  • 厚置备快速置零 VMDK
  • LSI 逻辑 SAS

  • VMware 半虚拟化

  • NVMe 控制器

性能比较

数据库服务器

数据库服务器(8K 随机;70% 读取;8 个线程;16 个未完成的 IO)
IOPS兆字节/秒延迟(毫秒)中央处理器 (%)
LSI 逻辑 SAS78210.16611.021.63324.81
VMware 半虚拟化153723.451200.960,83231.27
NVMe 控制器203612.541590.720,62848.03

电子邮件服务器

电子邮件服务器(4K 随机;60% 读取;8 个线程;16 个未完成的 IO)
IOPS兆字节/秒延迟(毫秒)中央处理器 (%)
LSI 逻辑 SAS83403.47325,791.50623.52
VMware 半虚拟化157624.97615.720,81131.46
NVMe 控制器236622.59924.310,54052.11

文件服务器

文件服务器(64K 顺序;90% 读取;8 个线程;16 个未完成的 IO)
IOPS兆字节/秒延迟(毫秒)中央处理器 (%)
LSI 逻辑 SAS44739.432796.212.86012.29
VMware 半虚拟化53717.263357.332.38216.87
NVMe 控制器48929.053058.072.61514.14

流媒体服务器

流媒体服务器(5120K 随机;80% 读取;8 个线程;16 个未完成的 IO)
IOPS兆字节/秒延迟(毫秒)中央处理器 (%)
LSI 逻辑 SAS458.162290.81279.6072.18
VMware 半虚拟化504.222521.10253.94912.26
NVMe 控制器505.142525.68253.6591.56

VDI-工作负载

VDI-工作负载(4K 随机;20% 读取;8 个线程;8 个未完成的 IO)
IOPS兆字节/秒延迟(毫秒)中央处理器 (%)
LSI 逻辑 SAS140155.89547.480,45635.69
VMware 半虚拟化163073.26637.000,39237,98
NVMe 控制器203464.89794.780.31449.55

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐