我有一台 EqualLogic PS4000 SAN 设备,装有最新固件,设置为 RAID 10。SAN 上有 3 个 2TB 卷,通过 iSCSI 在两个不同子网上的 2 个 eth 端口上共享。我已将一台测试服务器移至这个新设置的 SAN,但测试显示存在问题。
除了队列深度为 32 的测试外,其他所有测试的读取性能都很差(见附图)
写入性能似乎处于应有的水平。
我尝试过打开和关闭 MPIO,打开时效果稍微好一些,但也没好多少。
答案1
首先要注意的是,您实际上并没有在这里测试 SAN 性能。由于您的 IO 基准测试是在虚拟机的 C 盘上运行的,我猜这是一个存储在其中一个 2TB 卷的文件系统中的虚拟硬盘(例如存储在 VMware VMFS 数据存储中的 VMDK)。您有一个很多如果这是您对此卷或甚至在此 VM 上运行的唯一测试,则您不应该将添加的层添加到 I/O 路径以进行测试。
我建议您让虚拟机直接通过 iSCSI 访问单独的测试卷,格式化该卷,然后在测试卷上再次运行测试。
其次,您需要确定磁盘上的 IOPS 负载是否是影响结果的一个因素,假设此阵列已投入生产并且有常规工作负载。SAN Headquarters 由 Dell 提供,无需额外费用,前提是您的系统有有效保修。SAN HQ 会按每个主轴为您提供有关 IOPS 的数据,并可显示您在运行这些测试时 I/O 是否排队严重。
有了 16 x 7.2K 主轴和 MPIO/网络设置,您应该能够轻松使此 VM 可用的单个千兆位链路饱和(由于您的水平分割配置,我将在下面介绍)。如果该单个链路的任何带宽正在被其他 I/O 使用,那么这是另一个会限制或可能中断您的结果的因素。
通过两个不同子网上的 2 个 eth 端口上的 iSCSI 共享
这肯定会导致性能问题 - Equallogic 阵列并非设计用于多个 iSCSI 子网,并且根本不支持此配置。使用当前配置,EQL 阵列端没有网络级冗余(如果 EQL 端的网络链接断开,则一个子网将失去所有 iSCSI 访问)。
最后要提到的因素是虚拟机管理程序本身。物理主机配置或硬件的问题也可能是一个因素。如果您能够完全排除磁盘 IOPS 工作负载和网络带宽可用性是性能问题的罪魁祸首,则可能需要寻求支持提供商的帮助。我强烈建议您联系戴尔的 Equallogic 支持团队,尤其是如果您使用的是 VMware ESX。
答案2
我找到了这个问题!
问题出在 SAN 中主机之间的网络层。我首先将 SAN 直接连接到主机,没有遇到任何问题。因此,我将其重新连接,并开始排除网络故障。此特定 PS4000 SAN 发出的流量显然受到生成树协议的不利影响。一旦我在与 PS4000 SAN 关联的端口上禁用 STP,一切就开始按预期运行。
感谢您提供的所有帮助我实现这一目标的建议。