AI服务器RoCE配置:交换机与网卡端到端调通步骤

AI服务器做多机训练时,RoCE(RDMA over Converged Ethernet)能让数据绕过CPU直接写入远端内存,降低通信延迟。
配置的核心不是装软件,而是把“无损以太网”这条链路调通:网卡要支持RoCEv2并加载驱动,交换机要开PFC和ECN,服务器端要把流量映射到无损优先级队列,最后用计数器确认丢包为零。
本文按这个顺序展开,适合刚接手GPU集群、需要把两台AI服务器用RoCE打通的运维人员。

先确认网卡和交换机是否具备条件

RoCEv2依赖支持DCB(数据中心桥接)能力的网卡和交换机。
Mellanox/NVIDIA ConnectX系列、部分Intel E810网卡支持较好;
普通办公交换机通常没有PFC,无法做无损。

在服务器上先看网卡是否被识别:

lspci | grep -i mellanox
ibv_devinfo

ibv_devinfo 能列出设备且 state 为 PORT_ACTIVE,说明驱动和固件基本正常。
再确认固件支持RoCEv2:

mlxconfig -d /dev/mst/mt4123_pciconf0 query | grep -i roce

输出中 ROCE_V2_ENABLED 应为 True。
如果设备路径不同,先用 mst start 再 mst status 找到实际设备名。
交换机侧需要支持PFC和ECN,并在配置前备份当前配置,因为改动QoS会影响同交换机其他业务。

交换机侧配置PFC和ECN

RoCEv2通常把优先级3(或自定义优先级)划为无损队列。
以常见数据中心交换机为例,关键配置包括:

  • 开启全局PFC,并在承载RoCE的端口上对优先级3启用PFC
  • 为该优先级配置ECN,拥塞时标记而非直接丢弃
  • 确保该优先级的队列调度为严格优先级或加权,避免被其他流量挤占

不同厂商命令差异较大,配置前务必查对应型号手册。
配置完成后在交换机上查看PFC计数是否增长:

show interface counters priority-flow-control

如果PFC帧持续增长,说明有拥塞或配置不匹配,需要先排查而不是继续压测。

服务器端把流量映射到无损队列

服务器端要做两件事:给RoCE网卡IP所在的VLAN/接口打上优先级标记,并确认内核和驱动启用了DCB。
以Linux为例,先确认 lldpad 和 dcbtool 可用:

systemctl enable --now lldpad
dcbtool gc eth0 dcb on
dcbtool sc eth0 pfc up

然后把RoCE流量映射到优先级3。
使用 cma_roce_mode 确认RoCE版本:

cma_roce_mode -d mlx5_0 -p 1 -m 2

-m 2 表示RoCEv2。
接着在网卡上设置DSCP到优先级的映射,确保应用流量进入无损队列。
具体命令依赖网卡工具版本,建议先用 mlnx_qos -i eth0 查看当前PFC和信任模式,再按厂商文档调整。

配置完成后重启网络服务,并用 ibv_devinfo 再次确认端口状态。
此时不要急着跑训练,先做点对点验证。

用perftest验证带宽和丢包

两台服务器都安装 perftest 后,一台做服务端,一台做客户端:

# 服务端
ib_write_bw -d mlx5_0 -a

# 客户端
ib_write_bw -d mlx5_0 -a 192.168.100.2

观察客户端输出的带宽是否接近网卡线速,同时回到交换机查看PFC计数是否稳定不增长。
如果带宽远低于预期,先检查MTU是否两端一致(建议9000),再检查防火墙和路由是否让流量走了非RoCE路径。
测试完成后用 ib_write_lat 看延迟,确认没有异常抖动。

常见失败原因和回退方法

  • PFC计数持续增长:多半是两端优先级映射不一致,或交换机端口未对同一优先级开启PFC。逐跳核对优先级配置。
  • ibv_devinfo 看不到设备:检查驱动是否加载、固件是否匹配,必要时重启 openibd 服务。
  • 带宽只有线速一半:检查是否误用了RoCEv1、MTU不一致或PCIe带宽不足。
  • 训练任务偶发超时:先看交换机ECN标记计数,再查服务器端 ethtool -S eth0 | grep -i pfc,确认没有静默丢包。

回退时把交换机端口PFC关闭、服务器端 dcbtool sc eth0 pfc down,恢复原QoS配置即可,改动前务必备份。

RoCE配置的验收标准不是“能ping通”,而是带宽接近线速、PFC计数稳定、长时间压测无重传。
按网卡识别、交换机无损队列、服务器优先级映射、perftest验证这个顺序走,大部分问题都能定位在某一跳。
如果后续要接NCCL多机训练,建议先用本文方法把底层RoCE链路调稳,再进入集合通信调优。

分享到:
上一篇
AI服务器InfiniBand配置:从链路检查到带宽测试的实操流程
下一篇
AI服务器GPUDirect配置:让GPU绕过CPU直接读网卡
1
系统公告

关于香港云优质服务器IP地址更换的通知

尊敬的客户: 因原IP运营商大幅涨价,为避免成本转嫁至用户,我司决定更换IP服务商。本次更换后,您的续费价格将保持不变,且新IP网络质量与服务标准不受影响。新IP已分配至后台,即刻生效(更换的新IP都是香港原生IPv4)。 涉及 IP 段: 45.192.x.x 旧 IP 停用时间: 2026 年 12 月 1 日
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意