验证Linux主机是否支持RDMA
文章目录验证RDMA内核模块是否已加载检查主机上是否有可用的RDMA网卡测试RDMA通信验证RDMA内核模块是否已加载在centos7中,可以用以下命令查看RDMA内核模块的状态:[root@power27 docs]# /etc/init.d/openibd statusHCA driver loadedConfigured IPoIB devices:ib0Curren...
·
验证RDMA内核模块是否已加载
在centos7中,可以用以下命令查看RDMA内核模块的状态:
[root@power27 docs]# /etc/init.d/openibd status
HCA driver loaded
Configured IPoIB devices:
ib0
Currently active IPoIB devices:
ib0
Configured Mellanox EN devices:
Currently active Mellanox devices:
ib0
The following OFED modules are loaded:
rdma_ucm
rdma_cm
ib_ipoib
mlx4_core
mlx4_ib
mlx4_en
mlx5_core
mlx5_ib
ib_uverbs
ib_umad
ib_ucm
ib_cm
ib_core
mlxfw
mlx5_fpga_tools
HCA即支持RDMA的网卡,driver loaded表示驱动已加载。
检查主机上是否有可用的RDMA网卡
ibv_devices是一个包含在libibverbs-utils.rpm包里的工具,用于显示本机上的RDMA设备:
[root@power27 docs]# ibv_devices
device node GUID
------ ----------------
mlx4_0 e41d2d030050e830
ibv_devinfo也是libibverbs-utils.rpm包中的一个工具,它会打开一个设备查询设备的属性,通过它可以验证用户空间和内核空间的RMDA栈是否能够一起正常运作:
[root@power27 docs]# ibv_devinfo -d mlx4_0
hca_id: mlx4_0
transport: InfiniBand (0)
fw_ver: 2.42.5000
node_guid: e41d:2d03:0050:e830
sys_image_guid: e41d:2d03:0050:e833
vendor_id: 0x02c9
vendor_part_id: 4099
hw_ver: 0x1
board_id: MT_1100120019
phys_port_cnt: 1
Device ports:
port: 1
state: PORT_ACTIVE (4)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 1
port_lid: 12
port_lmc: 0x00
link_layer: InfiniBand
至少要有一个端口的状态是PORT_ACTIVE,才能说明RDMA相关组件已经正常运行起来。
测试RDMA通信
使用bv_xxx_pingpong可以测试RDMA设备的流量发送功能:
# 在服务端
ibv_rc_pingpong -g 0 -d mlx4_0 -i 1
local address: LID 0x000c, QPN 0x000a19, PSN 0xf31d1e, GID fe80::e41d:2d03:50:e831
remote address: LID 0x000e, QPN 0x000491, PSN 0xfefc9e, GID fe80::e41d:2d03:50:e801
8192000 bytes in 0.01 seconds = 11821.07 Mbit/sec
1000 iters in 0.01 seconds = 5.54 usec/iter
#在客户端 192.168.10.27是服务端的地址
ibv_rc_pingpong -g 0 -d mlx4_0 -i 1 192.168.10.27
local address: LID 0x000e, QPN 0x000491, PSN 0xfefc9e, GID fe80::e41d:2d03:50:e801
remote address: LID 0x000c, QPN 0x000a19, PSN 0xf31d1e, GID fe80::e41d:2d03:50:e831
8192000 bytes in 0.01 seconds = 11797.66 Mbit/sec
1000 iters in 0.01 seconds = 5.55 usec/iter
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献3条内容
所有评论(0)