You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RDMA Infiniband配置故障 端口Down启用时报无法打开MAD端口错误

RDMA/Infiniband 端口Down故障排查方案

核心根因前置判断

从ibstatus返回的link_layer: Ethernet字段可以直接定位核心问题:当前mlx5网卡端口工作在以太网RoCE模式,而非原生Infiniband模式。所有IB管理指令(包括MAD端口交互、子网发现、端口状态配置)都依赖IB链路层,链路层模式不匹配时,自然会出现UMAD端口打开失败、SM LID为0x0、物理状态Disabled、子网发现失败的报错。

分步排查修复流程

  • 第一步:修正网卡端口链路模式
    Mellanox ConnectX系列网卡支持IB/Ethernet模式切换,默认出货可能为以太网模式:
    1. 执行mst start加载Mellanox配置工具驱动
    2. 执行mlxconfig -d /dev/mst/mt*_pciconf0 q查看端口配置,找到对应使用端口的LINK_TYPE_P1/LINK_TYPE_P2参数:参数值为1代表以太网模式,2代表IB模式
    3. 若当前模式为以太网,执行mlxconfig -d /dev/mst/mt*_pciconf0 set LINK_TYPE_P1=2(对应端口1)修改配置,执行mlxfwreset -d /dev/mst/mt*_pciconf0 reset重启网卡加载配置,不需要整机重启。
    4. 复位后重新执行ibstatus,确认link_layer字段变为InfiniBand再做后续操作。
  • 第二步:部署并启动子网管理器(OpenSM)
    IB链路必须有子网管理器负责LID分配、链路协商、路由计算,两台节点直连无IB交换机的场景下,必须至少在其中一台节点启动OpenSM服务:
    1. 确认已安装opensm软件包
    2. 执行systemctl start opensm启动服务,systemctl enable opensm配置开机自启
    3. 等待10秒左右重新查看端口状态,正常情况下SM LID会变为非0值,端口状态从DOWN切换为ACTIVE。
  • 第三步:物理链路与参数一致性校验
    如果前两步操作后端口仍为Disabled状态,排查物理层问题:
    1. 确认使用的线缆、光模块为IB认证规格,普通以太网DAC/AOC光模块无法和IB端口协商成功,会直接触发物理层Disabled状态
    2. 检查两端端口速率、FEC配置是否一致,不要强制锁死单端速率,先开启自动协商测试
    3. 确认固件升级后执行过mlxfwreset复位设备,未复位的情况下网卡仍会运行旧版本固件,升级操作不生效。
  • 第四步:修复UMAD端口打开报错
    执行ibportstate返回的can't open UMAD port报错,除了链路层模式不匹配的原因,还要排查内核模块加载问题:
    1. 执行modprobe ib_umad ib_uverbs加载IB用户态驱动模块
    2. 链路未激活时不要用LID寻址方式执行端口操作,之前用的ibportstate -L 1 3 enable参数错误,正确命令为ibportstate mlx5_0 1 enable,直接指定设备名和本地端口号即可。

验证标准

配置完成后执行ibstat查看端口信息,满足以下条件即为链路正常:

  • state字段为4: ACTIVE
  • phys state字段为5: LinkUp
  • base lid、sm lid均为非0值
  • 执行ibping对端节点地址可正常连通。

补充说明:如果实际部署场景是用RoCE(以太网链路层跑RDMA),不需要切换到IB模式。这种场景下不要使用ibutils系列IB专属管理工具,直接用rdma link查看RDMA状态,配置PFC、ECN等无损以太网参数即可,RoCE模式不需要启动OpenSM,也不会响应IB层MAD管理请求。

内容的提问来源于stack exchange,提问作者DumbLoawai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 01:54:22