RDMA运行的方法,并提供了一些故障排除指南
应用介绍
这篇文章显示了几种测试RDMA运行的方法,并提供了一些故障排除指南。它适用于基于以太网(RoCE)或InfiniBand网络。
安装
确保您有两台配备Mellanox ConnectX-3 / ConnectX-3 Pro适配卡的服务器
(可选)通过以太网交换机连接两台服务器,使用RoCE时可以使用访问端口(默认为VLAN 1)。
RDMA驱动程序
建议安装最新的MLNX_OFED,但是也可以使用单独的RDMA驱动程序。
对于RHEL / CentOS安装:
在两台服务器上运行以下安装命令:
# yum -y groupinstall "InfiniBand Support"
# yum -y install perftestinfiniband-diags
确保启动时已启用RDMA(RHEL7 / CentOS7)
# dracut --add-drivers "mlx4_en mlx4_ib mlx5_ib" -f
# service rdma restart
# systemctl enable rdma
确保启动时已启用RDMA(RHEL7 / CentOS7)
# service rdma restart ; chkconfig rdma on
对于Ubuntu安装:
在两台服务器上运行以下安装命令:
# apt-get install libmlx4-1 infiniband-diagsibutils ibverbs-utils rdmacm-utils perftest
对于tgt目标支持安装:
# apt-get install tgt
对于LIO目标支持安装:
# apt-get install targetcli
对于iscsi客户端安装:
# apt-get install open-iscsi-utils open-iscsi
端口类型配置:
按照这篇文章配置端口类型。
请参考“如何在Mellanox ConnectX-3适配器中更改端口类型”
如果RDMA通过以太网(称为RoCE)运行,则需要确保将网络配置为无损耗,这意味着在适配器端口上启用了流控制(FC)或优先级流控制PFC 和开关。对于基本的RDMA测试(实验室环境),全局暂停流控制可能已足够(每个端口)。对于生产环境,首选PFC。
请使用以下命令(默认情况下已正常启用)检查是否开启:
# ethtool -a eth2
Pause parameters for eth2:
Autonegotiate: off
RX: on
TX: on
如果被禁用了,请运行:
# ethtool -A eth2 rx on tx on
重要的是,请确保在交换机以及相关端口上启用了全局暂停流控制。
如果是mellanox交换机(MLNX-OS),请使用以下命令将其启用
switch (config) # interface ethernet 1/1 flowcontrol receive onforce
switch (config) #interface ethernet 1/1 flowcontrol send on force
测试前检查项:
1.验证所有相关端口都处于“启动”状态(链接已启动)
2.检查L3 IP连接(例如ping正在运行)
3.确保该网络配置为无损耗(流量控制或PFC)
4.确保相关服务器上具有相同的RoCE版本。
5.确保iptables服务已停止。如果它正在运行,则主机防火墙规则可能会阻止tcp / ip连接。
5.继续下一部分-RDMA验证
要检查基本的RDMA CM,您可以简单地使用几个测试脚本
1. udaddy
该脚本涵盖RDMA_CM UD连接。(它使用librdmacm在两个节点之间建立了一组不可靠的RDMA数据报通信路径,可以选择在节点之间传输数据报,然后拆除通信)
#udaddy
在第二台服务器(作为客户端)上运行以下命令
# udaddy -s 12.12.12.1
udaddy: starting client
udaddy: connecting
initiating data transfers
receiving data transfers
data transfers complete
test complete
return status 0
"return status=0" means good exit(RDMA is running).
2. rdma_server, rdma_client 命令
另一个选择是使用rdma_server和rdma_client命令:
这些命令是简单的RDMA CM连接和乒乓测试(它使用同步librdmam调用在两个节点之间建立RDMA连接)。在一台服务器(充当服务器)上运行以下命令:
#rdma_server
在第二台服务器(作为客户端)上运行以下命令
rdma_client -s 12.12.12.1
rdma_client: start
rdma_client: end 0
“ rdma_client:end 0”表示良好退出(RDMA正在运行)。
3. ib_send_bw 性能测试
运行性能测试,例如ib_send_bw,ib_read_bw或类似的测试
例如:
在一台服务器(充当服务器)上运行以下命令:
# ib_send_bw -d mlx4_0 -i 1 -F --report_gbits
在第二台服务器(作为客户端)上运行以下命令:
# ib_send_bw -d mlx4_0 -i 1 -F --report_gbits 12.12.12.1
---------------------------------------------------------------------------------------
Send BW Test
Dual-port : OFF Device :mlx4_0
Number of qps : 1Transport type : IB
Connection type : RC
RX depth : 512
CQ Moderation : 100
Mtu : 1024[B]
Link type : Ethernet
Gid index : 0
Max inline data : 0[B]
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0000QPN 0x0065 PSN 0xc8f367
GID:254:128:00:00:00:00:00:00:246:82:20:255:254:23:27:129
remote address: LID 0000QPN 0x005d PSN 0x884d7d
GID:254:128:00:00:00:00:00:00:246:82:20:255:254:23:31:225
---------------------------------------------------------------------------------------
#bytes #iterations BWpeak[Gb/sec] BW average[Gb/sec] MsgRate[Mpps]
65536 1000 0.00 36.400.069428
---------------------------------------------------------------------------------------
4. rping
该脚本涵盖RDMA_CM RC连接,但仅涉及用户空间(它使用librdmacm在两个节点之间建立一组可靠的RDMA连接,可以选择在节点之间传输数据,然后断开连接)。
# rping -s -C 10 –v
在其中一台服务器(充当rping客户端)上运行以下命令
rping -c -a 12.12.12.1 -C 10 -v
ping data: rdma-ping-0:ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr
ping data: rdma-ping-1:BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs
ping data: rdma-ping-2:CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst
ping data: rdma-ping-3:DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
ping data: rdma-ping-4:EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv
ping data: rdma-ping-5:FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw
ping data: rdma-ping-6:GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx
ping data: rdma-ping-7:HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy
ping data: rdma-ping-8:IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
ping data: rdma-ping-9:JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzA
client DISCONNECT EVENT...
©版权声明:本文内容由互联网用户自发贡献,版权归原创作者所有,本站不拥有所有权,也不承担相关法律责任。如果您发现本站中有涉嫌抄袭的内容,欢迎发送邮件至: www_apollocode_net@163.com 进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
转载请注明出处: apollocode » RDMA运行的方法,并提供了一些故障排除指南
文件列表(部分)
名称 | 大小 | 修改日期 |
---|---|---|
如何启用,验证和故障排除RDMA.docx | 20.61 KB | 2020-10-15 |
发表评论 取消回复