简介
在第一个中小企业和分支机构的HCI基准测试阶段,我们在12台Supermicro超级服务器组成的可用HCA集群上获得了670万IOPS,是理论上1320万IOPS的51%,这些服务器采用了英特尔® Xeon® Platinum 8268处理器、英特尔® Optane™ SSD DC P4800X系列硬盘和Mellanox ConnectX-5 100GbE网卡,全部由Mellanox SN2700 Spectrum™交换机和Mellanox LinkX®铜缆连接。这是我们生产型HCA的标准硬件配置,其中只有CPU进行了升级,以追求人机交互领域记录。
硬件
我们将集群的存储能力提高了一倍:我们又给每个节点安装了两块英特尔® Optane™ SSD DC P4800X系列硬盘。根据英特尔的建议,NVMe硬盘被配置为回写缓存。英特尔® SSD D3-S4510被用作主存储。现在,存储具有块级复制功能,但是,缓存没有被复制。这种配置适合SQL可用性组(AG)、SAP和其他数据库等应用,这些应用需要在共享存储和高速缓存之间进行数据同步(一致性检查)。
软件
在我们的设置中,StarWind HCA运行最快的软件:Microsoft Hyper-V(Windows Server 2019)和StarWind Virtual SAN服务应用程序在Windows用户区域中运行。 除避免中断驱动的IO外,StarWind还支持轮询,以通过将CPU周期转换为IOPS来减少延迟并提高性能。 我们还开发了TCP回送加速器,以绕过同一台计算机上的TCP堆栈,并开发了iSCSI负载均衡器,以将新的iSCSI会话分配给新的CPU内核,从而解决了Microsoft iSCSI Initiator老化的问题。
在我们的网站上,您可以了解有关由StarWind Virtual SAN支持的超融合基础架构的更多信息。
有12节点的StarWind HyperConverged Appliance群集规格
平台:Supermicro SuperServer 2029UZ-TR4 +
CPU: 2 个英特尔® Xeon® Platinum 8268 处理器 2.90 GHz。 Intel® Turbo Boost开启,Intel® Hyper-Threading开启。
RAM: 96GB
启动和存储容量:2个Intel®SSD D3-S4510系列(240GB,M.2 80mm SATA 6Gb / s,3D2,TLC)
回写缓存容量: 4个Intel® Optane™ SSD DC P4800X系列(375GB, 1/2 Height PCIe x4, 3D XPoint™). 安装了最新的可用固件
RAW容量: 5.7TB
可用容量 8.38TB
工作集容量: 5.4TB
工作集容量:1.32TB
联网: 2个Mellanox ConnectX-5 MCX516A-CCAT 100GbE双端口网卡
交换器 2个Mellanox SN2700 32个频谱端口100GbE以太网交换机
下图说明了服务器的互连情况。
注意: 在每台服务器上,每个NUMA节点都有1个Intel®SSD D3-S4510、1个Intel®Optane™SSD DC P4800X系列和1个Mellanox ConnectX-5 100GbE双端口网卡。 这种配置能够从每个硬件中挤出最大性能。 这样的连接不是推荐而是严格的要求。 为了获得类似的性能,不需要调整NUMA节点配置,这意味着默认设置是可以的。
基准测试
在虚拟化和超融合基础架构中,通常根据每秒输入/输出(I/O)操作的数量或 "IOPS "来判断性能--本质上是虚拟机可以执行的读或写的数量。一台虚拟机可以产生大量的随机或顺序读/写。在真实的生产环境中,通常有大量的虚拟机,这使得数据流完全随机化。4 kB模块对齐IO是Hyper-V虚拟机使用的模块大小,所以它是我们选择的IO模式。
在业界,硬件和软件厂商经常使用这种类型的模式。换句话说,他们基本上是在最坏的情况下衡量可能的最佳性能。
在本文中,我们在测量Storage Spaces Direct性能时不仅执行了与Microsoft相同的基准测试,还针对虚拟化生产环境中常用的其他IO模式进行了额外的测试。
VM Fleet. 我们使用了GitHub上提供的开源VM Fleet工具。VM Fleet可以轻松地在数百或数千台Hyper-V虚拟机中同时协调DISKSPD(流行的Windows微基准工具)。
让我们仔细看看DISKSPD设置。 为了使环境性能达到饱和,我们为每个文件(-t2)设置了2个线程。 考虑到英特尔的建议,给定数量的线程用于大量存储IO测试。 结果,在每个线程32个未完成IO(-o32)下,我们在饱和点获得了最高的存储性能。 要禁用硬件和软件缓存,我们指定了无缓冲的IO(-Sh)。 我们为随机工作负载指定了-r,为4 kB模块大小指定了-b4K。 我们通过-w参数来改变读/写比例。
综上所述,以下是DISKSPD的调用方式。 .\diskspd.exe -b4 -t16 -o32 -w0 -Sh -L -r -d900 [...]
注意: 所有写操作都将首先缓存。 因此,我们修改了VM Fleet脚本进行基准测试。 我们希望VM Fleet从缓存和CSVFS中读取IO性能。
StarWind命令中心作为Windows Admin Center和庞杂的System Center Configuration Manager的替代方案,StarWind命令中心整合了复杂的操作面板,在一个屏幕上提供有关每个环境组件状态的所有重要信息。
作为一个单屏工具,StarWind命令中心能够解决管理和监控IT基础设施、应用和服务的所有任务。作为StarWind生态系统的一部分,StarWind命令中心可以管理管理程序(VMware vSphere、Microsoft Hyper-V、Red Hat KVM等),集成Veeam备份与复制和公共云基础设施。除此之外,该解决方案还集成了StarWind ProActive高级支持,可全天候监控集群,预测故障,并在事情发生之前做出反应。
例如,StarWin命令中心存储性能操作面板具有一个交互式图表,绘制了在 Windows 中 CSV 文件系统层测量的群集范围内的总 IOPS。DISKSPD 和 VM Fleet 的命令行输出中提供了更详细的报告。
存储性能的另一面是延迟--一个IO需要多长时间才能完成。许多存储系统在重度排队下表现更好,这有助于最大化堆栈每一层的并行性和繁忙时间。但是有一个权衡:排队会增加延迟。例如,如果你能在亚毫秒级延迟的情况下做到100 IOPS,如果你能容忍更高的延迟,你可能也能达到200 IOPS。延迟是要提防的:有时,最大的IOPS基准测试数只能通过延迟来实现,否则延迟是不可接受的。
在Windows中同一层测量的集群范围内的总IO延迟也被绘制在HCI操作面板上。
结论
任何提供容错的存储系统都必须对写入进行分布式拷贝,而写入必须穿越网络,并产生后端写放大。因此,最大的IOPS基准数字通常只在读取的情况下实现,特别是如果存储系统有常识性的优化,尽可能从本地副本中读取,而StarWind Virtual SAN做到了。
注意: 为了使其正确,我们向您展示VM Fleet结果和StarWind命令中心的结果,以及这些测试的视频。
操作1: 4К random read --> 4К random read --> .\Start-Sweep.ps1 -b 4 -t 16 -o 32 -w 0 -d 1500 -p r
通过100%的读取,群集可提供26,834,060 IOPS。 在理论上的26,400,000 IOPS中,这是101.5%的性能:每个节点具有四个Intel Optane NVMe SSD,每个执行550,000 IOPS。
操作2: 4К random read/write 90/10 --> .\Start-Sweep.ps1 -b 4 -t 16 -o 32 -w 10 -d 1500 -p r
通过90%的随机读取和10%的写入,该群集可提供25,840,684 IOPS。
注意: 自从StarWind Virtual SAN同步每个虚拟磁盘以来,我们观察到两次写入。 在StarWind命令中心可以清楚地看到这一点。
操作3: 4К random read/write 70/30 --> .\Start-Sweep.ps1 -b 4 -t 16 -o 32 -w 30 -d 1500 -p r
凭借70%的随机读取和30%的写入,该群集可提供16,034,494 IOPS。
注意:由于StarWind Virtual SAN同步了每个虚拟磁盘,因此在StarWind命令中心可以看到两次写入。
操作4: 2M sequential read --> .\Start-Sweep.ps1 -b 2048 -t 4 -o 8 -w 0 -d 900 -p s
在100%随机读取的情况下,集群利用网络吞吐量-116.39GBps。
这是在理论112.5GBps的103.5%的性能。
操作5: 2M sequential write --> .\Start-Sweep.ps1 -b 2048 -t 4 -o 8 -w 100 -d 900 -p s
在100%随机写入的情况下,集群利用了所有的网络吞吐量--101.8GBps。
总结
本文介绍了第二个基准测试阶段的结果,重点介绍了一个12节点可用的StarWind HCA集群的性能。其中每台服务器均采用英特尔® Xeon® Platinum 8268处理器,英特尔® SSD D3-S4510系列作为主存储,英特尔® Optane™ SSD DC P4800X系列硬盘作为专用缓存以及Mellanox ConnectX-5 100 GbE网卡。
12节点全闪存NVMe集群提供了2683.4万IOPS,是理论上2640万IOPS的101.5%。
对于生产配置来说,这确实是突破性的性能,这是由于StarWind Virtual SAN作为共享存储并使用回写式高速缓存(使用不带RDMA的iSCSI用于客户端访问的iSCSI)和在iSER上运行的主干连接而成为可能的。 在我们的环境中,没有使用专有技术,这意味着使用iSCSI启动器,StarWind Virtual SAN和配置为缓存设备的Intel Optane的任何虚拟机管理程序都可以获得类似的性能。