RDMA 有一堆的管理工具和测试工具,慢慢都归集于linux-rdma/rdma-core项目下,甚至这些工具都有 man 手册,比如ibv_devices,可以说非常友好了,你只需要知晓有哪些工具,大概是干什么的,具体使用的时候查询它的 man 手册就好了。
我根据 Red Hat/CentOS 系统中不同的包所包含的工具分类进行介绍。你可以通过下面的命令安装这些工具:
# RHEL/CentOS
yum install libibverbs-utils infiniband-diags rdma-core perftest librdmacm-utils
# 对于 RHEL 8/CentOS 8
dnf install libibverbs-utils infiniband-diags rdma-core perftest librdmacm-utils
这些工具主要用于:
- RDMA 设备状态检查
- 网络连接测试
- 性能测试和基准测试
- 故障排除
- 网络拓扑发现
建议在使用这些工具时查看各自的 man 页面获取详细用法:
man ibstat
man ibv_devinfo
man rping
1. libibverbs-utils 包
- ibv_devices:列出系统中所有的 IB 设备
- ibv_devinfo:显示 IB 设备的详细信息
- ibv_rc_pingpong:RC(Reliable Connection)模式的 ping-pong 测试工具
- ibv_uc_pingpong:UC(Unreliable Connection)模式测试工具
- ibv_srq_pingpong:Shared Receive Queue 测试工具
2. infiniband-diags 包
- ibstat:显示 IB 适配器和端口状态
- ibstatus:显示 IB 设备状态信息
- ibhosts:显示 IB 子网中的主机
- ibnetdiscover:发现并显示 IB 网络拓扑
- iblinkinfo:显示 IB 网络链路信息
3. rdma-core 包
- rdma:RDMA 子系统管理工具
- rxe_cfg:软件 RDMA 配置工具,弃用,逐步被 rdma 命令替代
4. perftest 包
- ib_send_bw:带宽测试工具
- ib_read_bw:RDMA read 带宽测试
- ib_write_bw:RDMA write 带宽测试
- ib_send_lat:延迟测试工具
- ib_read_lat:RDMA read 延迟测试
- ib_write_lat:RDMA write 延迟测试
5. librdmacm-utils 包
- rping:RDMA ping 测试工具
- ucmatose:UC 连接测试工具
- rdma_client/rdma_server:RDMA 客户端/服务器测试程序