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

Aus*_*eby 5 iscsi rhel5 multipath centos5

我正在将 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]
Run Code Online (Sandbox Code Playgroud)

[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
Run Code Online (Sandbox Code Playgroud)

我什至可以在传输过程中关闭 iSCSI 会话,并观察剩余连接的接口利用率从 33% 跳到 50% 再到 100%,因为我从三个会话到两个会话再到一个会话。我尝试调整各种队列深度和循环设置,这只会产生很小的差异。

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

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

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

小智 0

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