存储评论网

在实验室中:VMware HCIbench 动手实践

VMware 的 VSAN 团队最近发布了一款免费的超融合基础架构 (HCI) 存储性能测试工具——HCIbench。虽然使用 I/O 或带宽测试来评估传统阵列的性能已经相当成熟,但对 HCI 设备进行综合测试则需要谨慎的方法和陡峭的学习曲线。对于传统的存储基础架构,您只需使用指定的工作负载配置文件设置所需的 I/O 生成器,将其指向一些 LUN,然后即可开始测试。而超融合测试则需要大规模的方法,即在多个虚拟磁盘上同时运行多个虚拟机(通常为 10-64 个)来执行相同的工作负载……更不用说在任务完成后收集所有数据了。这种方法对于充分评估平台的性能并使其更接近(但并非完全等同于)实际生产环境至关重要。可想而知,即使是经验丰富的测试人员也很难做到这一点,而对于许多最终用户来说,在合理的时间范围内完成测试更是难上加难。 VMware 的 HCIbench 让测试过程变得更加容易,任何能够部署预构建虚拟机的人都可以进行测试,独立审阅者也可以更好地测试 HCI。

在 VMware 发布并与我们分享此工具之前,我们在扩展自身工具以衡量VSAN和其他超融合基础架构 (HCI) 平台的性能时遇到了一些困难。目前,我们使用Windows 和 Linux 系统(部分为物理机,部分为虚拟机)上的FIO 工具,将其指向本地或远程(iSCSI、SMB、CIFS)卷,并启动单个工作负载。对于 SSD、SAN 或 NAS,您可以针对物理存储设备或多个 LUN 来测试双控制器平台,并且可以从中心点有效地进行压力测试。一个脚本即可启动此过程,以下是我们 FIO 参数的示例代码片段:

fio.exe –filename=\\.\PhysicalDrive1:\\.\PhysicalDrive2:\\.\PhysicalDrive3:\\.\PhysicalDrive4 –thread –direct=1 –rw=randrw –refill_buffers –norandommap –randrepeat=0 –ioengine= windowsaio –bs=4k –rwmixread=100 –iodepth=16 –numjobs=16 –time_based –runtime=60 –group_reporting –name=4ktest –output=4ktest.out

审查者或测试者需要能够在测试之间正确修改脚本以命中正确的设备、应用正确的负载,更不用说针对不同块大小的工作负载拥有多个脚本。 然后在脚本中添加脚本(需要循环进行预处理或多次加载!),为 powershell 或 bash 修改它们,你可以看到它是如何快速失控的。 更糟糕的是,您需要有更多自定义编写的脚本来解析基准生成的输出文件以绘制图表并比较差异。 作为审阅者,我们需要将这些放在我们的工具箱中并每天使用它们。 通常需要数月或数年才能获得一套好的工具,了解它们的长处,但也要了解它们的弱点。 评估新存储平台的客户通常不会以测试存储为生,并且很快就会被所有这些所淹没。 HCIbench 使用独立审阅者信任的相同工具,并使任何人都可以轻松使用它们。

HCIbench 简化了超融合测试。 HCIbench 不是运行具有大量脚本设置和收集大量数据的标准测试工具,而是自动在集群中部署多个运行 Vdbench 的虚拟机。 虽然该工具最初针对 HCI 细分市场,但它也适用于由共享存储支持的传统集群。 所有这一切的关键是 VMware 没有在市场上推广他们自己的专有工具或他们自己的工作负载配置文件。 相反,他们选择使用已知且值得信赖的 vdbench 作为工作负载生成器,让客户或测试人员能够使用他们自己的测试配置文件,并在其周围放置一个 GUI 以更好地比较和合同结果。 报告的详细程度令人印象深刻,因为它不仅涵盖了工作负载概况,还与管理程序相关联,提取这些统计数据以查看测试运行时对集群范围的影响。

就测试而言,使用 HCIbench 非常简单。 您下载预构建的 Auto-Perf-Tool OVA 并将其部署到您的 VMware 环境中。 一旦通电,它将带您完成几个步骤,通过您的 DHCP 为自己分配一个 IP 地址,或者可以为它分配一个 IP 地址。 完成后,您将注意力转移到网络浏览器上。

配置页面是您输入测试环境所有重要部分的地方,因此该工具可以自动部署其生成的虚拟机。

向下滚动后,可以在某些区域更改默认部署详细信息。 在 Vdbench Guest VM Specification 区域中,您可以解决该工具在您的设备上的部署方式。 四个我们的 4 节点 VSAN 平台,我们从 16 个虚拟机开始,并保持数据磁盘的默认数量 (10) 和数据磁盘的默认大小 (10GB)。 有了 16 个虚拟机,我们的集群就有了 1600GB 的占用空间,让我们可以衡量位于闪存中的虚拟机的性能。 通过 VM、vdisk 计数或 vdisk 大小增加这些值可以让您推动这些限制,以衡量事情对推动闪存外部和旋转媒体层的反应,或者在全闪存阵列的情况下进入较慢的读取 -中心闪存层。 对于最终用户来说,这是非常重要的,因为许多供应商驱动的结果显示的是最佳案例性能,而不是随着工作数据集增长的性能。

接下来您可以上传、选择或构建您自己的 vdbench 参数文件。 对于测量峰值 I/O 和峰值带宽的四角测试,我们喜欢使用 4K 随机读写,以及读写带宽的大块顺序值。 对于混合工作负载,8K 随机 70% 读取 30% 写入与行业报告的数据相比效果非常好。 为了让这一切变得超级简单,我们创建了所有 5 个工作负载配置文件并提供下载。 这些有助于创建一个起点,并将成为我们在未来利用此工具的评论中使用的配置文件。 想复制我们的测试? 下载该工具,应用这些配置文件并比较完整的报告统计数据。

StorageReview 的 HCIbench 工作负载配置文件

定义工作负载后,向下滚动并选择您要使用的任何其他设置。 VMDK 预热参数有助于在测试前填充新创建的虚拟磁盘。 我们还在共享工作负载文件中添加了“预热”命令,以进一步帮助预处理工作负载,以便将热数据迁移到闪存中。 测试持续时间最好保持更长的时间以获得更清晰的结果。 如果您想尝试几次跑步,请从 900 或 1800 秒开始。 如需更正式的跑步,请进行 6 小时(21600 秒)或更长时间。 清理虚拟机的复选框也应该被选中,因为这将让 HCIbench 创建和部署虚拟机,并在测试完成后将它们从存储中删除。 在最底部,您会注意到您需要下载 Vdbench 二进制文件并上传完整的 ZIP 文件,该工具才能运行。 在 Oracle EULA 中分发该工具有限制,这意味着您需要自行下载。 单击下载链接可将您带到 Oracle 站点并下载 vdbench50403.zip 并在提示中上传仍为压缩文件的文件。 最后,保存您的配置,验证它以确保您没有遗漏任何内容并开始测试。 完成后,您可以查看结果。

结果页面会将您带入一个基本的 HTML 文件查看器。

呈现的第一个文件是结果的非常基本的摘要。 在我们的 VSAN 工作负载案例中,我们达到了 114k IOPS 和 8K 70/30 工作负载,平均延迟为 2 毫秒,吞吐量为 984MB/s。 这是从环境中部署的所有 VM 中提取的 vdbench 输出文件生成的。 如果用户希望查看逐秒报告的统计数据,则可以浏览这些文件。

进入 iotest 文件夹,点击“stats.html”文件。

这会在带有自动生成图表的漂亮 GUI 中显示您能想到的所有细节。

您甚至可以深入了解有用的统计信息,例如在每台主机上通过您的 vmknic 推送了多少数据及其所有相关信息。

VMware 竭尽全力使合成 HCI 测试对于 POC 中的最终用户甚至像我这样的审阅者来说更容易。 它消除了在共享存储环境中部署合成工作负载的困难或混乱,并为您提供了更多的生成细节,以至于您无法动摇。 它还缩短了与系统进行有效比较所需的测试时间,增加了您在 POC 窗口期间做出更明智决策的机会。 归根结底,它是开源工具 vdbench 的包装器,vdbench 是社区已知和信任的 I/O 生成器,这意味着人们不太担心 VMware 会搞恶作剧。 该工具存在局限性,因为它无法复制应用程序工作负载或工作生产环境。 不过,这些是可以添加到比较中的额外工具,这个工具提供了一个很好的起点。

VMware HCIbench 页面

注册 StorageReview 时事通讯

参与 StorageReview

电子报| YouTube | 播客iTunes / Spotify | Instagram | Twitter | TikTok | RSS订阅

凯文·奥布莱恩

在 StorageReview 实验室内部评估产品并与行业领导者合作开发新的测试环境。 在家里,我养家糊口。