3. 硬件与拓扑:交换机、网卡、线缆选型及典型拓扑

3.1 核心原理:硬件兼容性是混合组网的“地基”

RoCE(RDMA over Converged Ethernet)与 InfiniBand 虽然都承载 RDMA 语义,但二者在物理层、链路层和网络层存在本质差异。InfiniBand 使用专有的 IB 物理层和链路层协议,而 RoCEv2 则运行在标准以太网之上,使用 UDP/IP 封装。这意味着,没有任何一台交换机或网卡能够“原生”同时以 IB 模式和 RoCE 模式工作——硬件必须明确支持对应的端口类型和协议栈。

在混合组网中,最常见的硬件架构是“核心-汇聚-接入”三层或“Spine-Leaf”两层拓扑,其中 IB 域和 RoCE 域通过网关设备(如带有 IB 和以太网双端口的存储网关或路由器)进行协议转换。选型时必须关注以下三个核心参数:

  • 网卡(HCA/NIC):IB 网卡(HCA)支持 IB 链路,RoCE 网卡(NIC)支持以太网链路。若需在同一服务器上同时访问两个网络,可选择双端口卡(一个 IB 端口 + 一个以太网端口),但二者无法复用同一物理端口。
  • 交换机:IB 交换机仅支持 IB 协议;RoCE 交换机必须为无损以太网交换机(支持 PFC、ECN、DCBX)。不存在“IB+RoCE 双模”交换机。
  • 线缆:IB 通常使用 QSFP 接口的有源光缆(AOC)或无源铜缆(DAC),RoCE 则使用 SFP+/QSFP28 以太网光模块或 DAC。线缆类型必须与端口匹配,且 RoCE 场景下需关注线缆的 FEC(前向纠错)能力。
关键判断点:在规划混合组网前,先确认所有设备的端口类型、支持的协议版本(IB: SDR/FDR/EDR/HDR;RoCE: RoCEv1/v2)、以及交换机是否支持无损以太网特性。若交换机不支持 PFC/ECN,则 RoCE 流量将因丢包而性能骤降,甚至无法工作。
RoCE 与 InfiniBand 混合组网硬件拓扑 InfiniBand 域(HDR/EDR) IB Spine 交换机(HDR 40端口) IB Leaf-1 IB Leaf-2 IB 服务器-1 HCA 卡(HDR) IB 服务器-2 HCA 卡(HDR) IB 存储阵列 双端口 HCA(HDR) 网关 IB 端口 + ETH 端口 RoCE 域(无损以太网) RoCE Spine(100GbE 无损) RoCE Leaf-1 RoCE Leaf-2 RoCE 服务器-1 NIC(100GbE) RoCE 服务器-2 NIC(100GbE) RoCE 存储阵列 双端口 NIC(100GbE) IB 链路 RoCE 链路 协议转换网关

3.2 方法流程:五步完成硬件选型与拓扑规划

混合组网的硬件规划应遵循“先分域、再定网关、后选线缆”的流程,避免因盲目追求“统一”而选错设备。推荐按以下步骤执行:

  1. 流量分类:明确哪些应用必须走 IB(如 MPI 并行计算、IB 存储协议),哪些可以走 RoCE(如分布式存储、TCP 业务)。通常建议将延迟敏感且已绑定 IB 的应用保留在 IB 域,新业务优先部署 RoCE。
  2. 确定网关位置:网关是混合组网的核心。常见方案是采用存储网关(如 Lustre 路由节点)或通用服务器(安装双端口 HCA + NIC),通过软件(如 rdma_cm)实现跨网桥接。不建议使用三层路由器,因其延迟过高。
  3. 交换机选型:IB 域选择与 HCA 速率匹配的 IB 交换机(如 NVIDIA Quantum 系列);RoCE 域必须选择支持 PFC(802.1Qbb)、ECN(802.1Qau)、DCBX 的无损以太网交换机(如 Cisco Nexus 3132Q、Arista 7060X)。
  4. 网卡选型:IB 服务器安装对应速率的 HCA(如 ConnectX-6 HDR);RoCE 服务器安装支持 RoCEv2 的以太网 NIC(如 ConnectX-6 Lx)。注意检查驱动版本是否支持混合模式。
  5. 线缆与光模块:IB 域使用 IB 专用线缆(如 HDR DAC/AOC);RoCE 域使用以太网 DAC/AOC 或光模块。务必核对线缆的 QoS 能力(如是否支持 PFC 优先级映射)。
实操建议:在规划阶段使用 ibstat(IB 域)和 rdma link show(RoCE 域)命令收集现有设备的端口速率、链路状态和驱动版本,形成硬件清单后再进行拓扑设计。

3.3 案例/场景:某高性能计算中心的混合组网故障

背景:某超算中心部署了 32 台 IB 计算节点(HDR 200Gb/s)和 16 台 RoCE 存储节点(100GbE),通过一台存储网关互连。故障表现为:RoCE 存储节点间进行大数据传输时,吞吐量仅为预期的 30%,且伴随大量丢包。

排查过程:

排查步骤操作发现
1. 检查 RoCE 交换机配置查看 PFC/ECN 配置RoCE Leaf-2 交换机未启用 PFC,导致拥塞丢包
2. 检查线缆类型查看 Leaf-2 到服务器-2 的线缆误用了普通以太网 DAC(不支持无损特性)
3. 检查网关端口查看网关 IB 和 ETH 端口状态网关 ETH 端口 MTU 为 1500,而 RoCE 需要 4096
4. 检查网卡驱动运行 ethtool -a eth0RoCE 网卡未开启 PFC 优先级映射

根因:RoCE 交换机缺少无损配置 + 线缆不支持 PFC + 网关 MTU 不匹配,三重因素叠加导致 RoCE 流量在 Leaf-2 处拥塞丢包。

解决方案:

# 在 RoCE Leaf-2 上启用 PFC(以 Cisco 为例)
interface ethernet1/1
  priority-flow-control mode on
  priority-flow-control priority 3 no-drop

# 在网关 ETH 端口设置 MTU 4096
ip link set dev eth0 mtu 4096

# 在 RoCE 网卡上启用 PFC 映射
ethtool --set-priv-flags eth0 pfc on

调整后,RoCE 存储节点间吞吐量恢复至 95 Gb/s,丢包率降为 0。

3.4 误区/复盘:硬件选型中的常见陷阱

误区一:认为“RoCE 交换机可以兼容 IB 设备”。这是完全错误的。IB 和 RoCE 的物理层编码、链路层流控机制完全不同,即使端口都是 QSFP 形状,也无法直接互连。曾有工程师试图用 IB 线缆连接 RoCE 交换机,导致端口无法 link up。
误区二:忽略线缆的“无损”能力。RoCE 要求端到端无损,但并非所有以太网 DAC 线缆都支持 PFC 的优先级映射。部分廉价线缆在拥塞时无法正确传递 PFC 暂停帧,导致丢包。选型时必须确认线缆符合 IEEE 802.1Qbb 标准。
误区三:网关 MTU 不匹配。IB 的 MTU 通常为 4096,而 RoCE 也建议使用 4096。若网关的以太网端口 MTU 仍为默认 1500,则跨网传输时 IP 分片会导致 RDMA 性能崩溃。务必在网关两侧统一 MTU。

复盘要点:混合组网的硬件规划应遵循“端口类型必须匹配、无损特性必须确认、MTU 必须统一”三条铁律。在部署前,建议使用 ibping(IB 域)和 ping -M do -s 4096(RoCE 域)验证端到端连通性和 MTU 支持情况。硬件选型不是简单的“买贵的”,而是要确保每个环节的协议特性对齐,才能避免后续排障的“坑”。