为什么使用 Linux 时我的 SAN MPIO 连接速度上限为 1 Gbps?

为什么使用 Linux 时我的 SAN MPIO 连接速度上限为 1 Gbps?

我正在将 RHEL5 盒连接到 Dell EqualLogic PS5000X,即使在使用带有三个千兆位 NIC 的 MPIO 时,最大速度也达到 1 Gbps。

我将 PS5000X 上的所有三个接口和服务器上的三个专用 iSCSI 接口连接到同一交换机。当使用多个接口连接到 SAN 时,每个接口上只能获得 1/n 的流量。我遵循了戴尔设置指南除了我的吞吐量数字之外,一切似乎都运行正常。

[root@testbox ~]# multipath -ll
linuxvol (36090a02840c3bd2f5ec324010000707f) dm-5 EQLOGIC,100E-00
[size=50G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=3][enabled]
 \_ 6:0:0:0  sdf 8:80  [active][ready]
 \_ 14:0:0:0 sde 8:64  [active][ready]
 \_ 15:0:0:0 sdi 8:128 [active][ready]

[root@testbox ~]# dd if=/dev/zero of=/mnt/linuxvol/testfile obs=64k count=16M
16777216+0 records in
131072+0 records out
8589934592 bytes (8.6 GB) copied, 76.4894 seconds, 112 MB/s

我甚至可以在传输过程中关闭 iSCSI 会话,并观察剩余连接的接口利用率从 33% 跃升至 50% 再到 100%,因为我将会话从三个增加到两个,再增加到一个。我尝试调整各种队列深度和循环设置,但效果并不明显。

PS5000X 配有 14 个数据驱动器和 2 个热备用 10k RPM SAS 驱动器。我的测试卷设置为 RAID-10,并启用了多个启动器。没有精简配置、没有快照,SAN 上没有其他流量。

我遗漏了什么?我需要在操作系统上调整一些 MPIO 设置吗?

更新:交换机是 HP ProCurve 4104GL。它不支持巨型帧。所有 SAN 端口上都启用了流量控制。生成树已禁用。连接到交换机的唯一设备是 PS5000、测试服务器和一个上行链路端口。我知道流量不会通过上行链路,因为我可以在运行测试时观察交换机上的端口利用率。我还在观察 PS5000 上的网络接口图,它与交换机利用率完全一致,每个接口的吞吐量约为 33%。

答案1

事实证明,问题与交换机有关。当我们最终用新的戴尔交换机替换 HP 交换机时,只要插入所有设备,我们就能获得数千兆位的速度。

答案2

只是一些值得思考的事情... 我们在 HP ProCurve 交换机上安装了带有软件多路径 IO 的 Server 2003 盒子,连接到 Dell PS5000 SAN 时工作正常... 我想说的是,我们不得不在 Dell EqualLogic 端和 Windows 中的软件 iSCSI 端进行大量设置才能使一切顺利运行。

在 Windows 上,让一切正常运行的一个关键步骤是将负载平衡从“最少队列”切换到“循环”(这是我从记忆中记起的,如果我记不清这些术语,请多包涵)。一旦我们这样做了,我们就可以看到 EqualLogic 的带宽在我们的三个专用 iSCSI NIC 上均衡。

确保您的 iSCSI 工作方案在重启后也能继续存在!我们必须调整服务在 Windows 上的启动顺序(通过更改服务依赖性),以使 iSCSI 和 MPIO 在重启后“正确”工作

答案3

您的网卡是什么?集成的还是网卡?它们的连接总线限制是什么?那么基本上网络接口是内置在主板中还是某种形式的 PCI 卡?什么是 PCI 总线、PCI-X 还是什么?总线速度是多少。系统不能推动超过接口系统总线速度的速度

相关内容