Infiniband 验证 RDMA 是否正常工作

Infiniband 验证 RDMA 是否正常工作

我有两台相同的计算机,它们都装有 Mellanox 卡,通过电缆相互连接。没有交换机。使用 opensm。

我运行了几个测试,包括 ping_pong 测试、ibping 等。它们似乎都有效。但是,当我运行这个测试时,它返回了一个似乎错误的信息,我不明白为什么。

我确实告诉了防火墙

sudo iptables -I INPUT -p tcp -s 192.168.0.0/24  -j ACCEPT -m comment --comment "Allow Infiniband"

sudo iptables -I INPUT -p udp -s 192.168.0.0/24  -j ACCEPT -m comment --comment "Allow Infiniband"

任何有助于解释和可能的解决方案都将非常有用。

[idf@node2 Downloads]$ sudo ib_write_bw

************************************
* Waiting for client to connect... *
************************************
---------------------------------------------------------------------------------------
                    RDMA_Write BW Test
 Dual-port       : OFF      Device         : mlx4_0
 Number of qps   : 1        Transport type : IB
 Connection type : RC       Using SRQ      : OFF
 CQ Moderation   : 100
 Mtu             : 4096[B]
 Link type       : IB
 Max inline data : 0[B]
 rdma_cm QPs     : OFF
 Data ex. method : Ethernet
---------------------------------------------------------------------------------------
 local address: LID 0x01 QPN 0x004a PSN 0xa79f2e RKey 0x50042a04 VAddr 0x007f1682804000
 remote address: LID 0x02 QPN 0x004a PSN 0x5ef914 RKey 0x40042502 VAddr 0x007f94f9ce9000
---------------------------------------------------------------------------------------
 #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]   MsgRate[Mpps]
ethernet_read_keys: Couldn't read remote address
 Unable to read to socket/rdam_cm
 Failed to exchange data between server and clients
[idf@node2 Downloads]$


[idf@node1 python]$ sudo ib_write_bw 192.168.0.1
---------------------------------------------------------------------------------------
                    RDMA_Write BW Test
 Dual-port       : OFF      Device         : mlx4_0
 Number of qps   : 1        Transport type : IB
 Connection type : RC       Using SRQ      : OFF
 TX depth        : 128
 CQ Moderation   : 100
 Mtu             : 4096[B]
 Link type       : IB
 Max inline data : 0[B]
 rdma_cm QPs     : OFF
 Data ex. method : Ethernet
---------------------------------------------------------------------------------------
 local address: LID 0x02 QPN 0x004a PSN 0x5ef914 RKey 0x40042502 VAddr 0x007f94f9ce9000
 remote address: LID 0x01 QPN 0x004a PSN 0xa79f2e RKey 0x50042a04 VAddr 0x007f1682804000
---------------------------------------------------------------------------------------
 #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]   MsgRate[Mpps]
Conflicting CPU frequency values detected: 1600.000000 != 1733.000000
Can't produce a report
[idf@node1 python]$ 

答案1

事实证明,这种情况以前也曾出现过。我不喜欢这个答案,因为它似乎掩盖了事实,但无论如何,这仍然是一个答案:

http://linuxtoolkit.blogspot.com/2013/01/errors-when-running-doing-ib-testing.html

答案2

这通常是由于内核中未加载所有必需的模块所致。默认情况下不会加载它们。不确定 centos 如何处理它,但在 Ubuntu 中,您需要将这些模块放入 /etc/modules 中,以便内核加载它们。

mlx4_ib
rdma_ucm
ib_umad
ib_uverbs
ib_ipoib

我假设 ib_ipoib 和 mlx4_ib 已经加载,否则您将无法通过 infiniband 实现 ip 网络工作。

如果您尚未安装 libmlx4,您还需要安装它。

如果失败了,请尝试此链接,其中列出了 Centos 所需的所有软件包(注意:libmthca 适用于较旧的 mellanox 芯片组 [infinihost],因此在您的情况下不需要它。

https://sort.symantec.com/public/documents/sfha/6.1/linux/productguides/html/sfrac_install/apls05s02.htm

相关内容