首页/AI/大模型部署与运维速查/多机互连:RDMA/IB 状态与带宽检查
推理环境与 GPU50 条

多机互连:RDMA/IB 状态与带宽检查

跨机多卡部署依赖 RDMA(InfiniBand 或 RoCE)互连:上线前用 ibstat / ibv_devinfo 核对端口状态与速率,再用 perftest 做带宽基线,避免通信链路成为瓶颈。

RDMA 互连状态与带宽检查

跨机多卡部署依赖 RDMA(InfiniBand 或 RoCE)互连:上线前用状态查询工具核对端口状态与协商速率,再用带宽测试工具做一次基线测量,避免通信链路悄悄成为瓶颈。链路降级通常不会报错,只能通过状态字段与实测带宽发现。

基本信息

状态工具ibstat、ibv_devinfo 查看端口状态、速率、链路层与固件
带宽工具perftest 套件中的写带宽测试,一端服务一端作客户端
关注字段端口状态、协商速率、链路层类型、错误计数
RoCE 额外项网络侧的无损转发相关配置
例行巡检把端口状态纳入巡检项,比故障后再查更早发现问题

典型使用场景

  • 多机部署验收:装机后先测一遍带宽基线并留档
  • 吞吐不达预期:先排除通信链路,再怀疑模型与并行配置
  • 例行巡检:定期核对端口状态与速率,发现降级先于故障
  • 网络变更后复测:换交换机、换网卡或调整布线后重新测
  • 故障排查:端口状态异常时快速定位到具体网口

端口状态与设备信息

端口状态与设备信息
ibstat                        # 端口状态、速率、链路层
ibv_devinfo -v | head -40     # 设备与固件信息

# 核对:端口状态是否为活动、协商速率是否符合预期

带宽基线(两台机器分别执行)

带宽基线(两台机器分别执行)
# 服务端:指定要测的网卡设备
ib_write_bw -d mlx5_0

# 客户端:指定同一设备并填服务端地址
ib_write_bw -d mlx5_0 <服务端IP>

# 校验:把实测带宽与链路标称对比,明显偏低先查速率协商

检查项与正常表现

检查项怎么看异常表现
端口状态状态查询的第一个字段非活动或反复切换
协商速率速率字段与标称对比低于链路标称,说明协商降级
链路层确认走的是哪种链路类型与预期不一致
实测带宽带宽测试客户端输出明显低于理论值
RoCE 场景还要关注网络侧的无损转发相关配置:链路状态正常并不代表端到端不丢包,需要结合交换机侧配置一起验证。
实测带宽要与链路标称对照:明显偏低时先查速率协商与交换机端口配置,再看两端 MTU 与固件差异。

易错点

  • 多机带宽不达预期先看链路:端口异常或速率协商降级在状态输出里一眼可见
  • 只看链路状态不做实测:状态显示活动,实际带宽远低于标称的情况并不少见
  • 带宽测试指定了错误的设备:测的是另一条链路,结论与真实数据路径无关
  • 忽略两端配置差异:MTU 与固件不一致时,带宽与稳定性都会受到影响

数据来源与参考

  • NVIDIA Networking perftest 文档(docs.nvidia.com/networking)
  • RDMA 用户态工具手册(man ibstat / ibv_devinfo)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌