第二章:RoCE网络核心组件:支持RoCE的网卡选型、支持PFC的交换机、RoCE专用线缆与光模块

聊RoCE高可用,绕不开硬件选型。很多人觉得“只要网卡支持RoCE就行”,结果上线就丢包、断流,折腾半个月才发现是交换机不支持PFC。嗯,这坑我踩过。

今天咱们把三个核心组件掰开揉碎讲清楚:网卡、交换机、线缆光模块。这三样选不对,后面的高可用设计全是空中楼阁。

一、支持RoCE的网卡选型

网卡是RoCE的起点。说白了,它负责把内存数据直接塞进网络,不经过CPU。但不同网卡的能力天差地别。

1.1 关键能力指标

我个人习惯看这几个参数:

  • 支持RoCE v1/v2:现在主流是RoCE v2,走UDP封装,能跨三层路由。v1只能跑二层,基本淘汰了。
  • 硬件卸载能力:包括TCP/UDP校验和卸载、LRO/LSO、RSS。没有硬件卸载,CPU会被打爆。
  • RDMA引擎数量:决定了并发连接数。我见过某厂商低端卡只有4个QP上下文,跑分布式存储直接撑爆。
  • PCIe带宽匹配:100G网卡至少需要PCIe 3.0 x16或PCIe 4.0 x8。别让总线成为瓶颈。

避坑指南:我曾经在项目里选了某款“支持RoCE”的网卡,结果发现它只支持RoCE v1,无法跨VLAN路由。最后全部返工换卡,工期延误两周。所以选型时一定确认支持RoCE v2。

1.2 主流厂商对比

厂商 代表型号 速率 特点
Mellanox(NVIDIA) ConnectX-6 Dx 100/200G 生态最好,支持GPUDirect,RDMA性能稳定
Intel E810-CQDA2 100G ADQ技术优化,适合混合负载
Broadcom NetXtreme-E系列 25/100G 性价比高,但RDMA调优需要额外配置

我个人倾向Mellanox。不是因为它贵,而是它的RDMA实现最成熟。你想想看,RoCE标准本身就是Mellanox主导推动的,兼容性自然最好。

二、支持PFC的交换机

这是RoCE网络里最容易翻车的地方。很多人以为“交换机支持DCB就行”,结果PFC配置不对,导致死锁、PFC风暴,整个网络瘫痪。

2.1 为什么需要PFC?

RoCE是无损网络。传统以太网丢包后会重传,但RDMA不允许丢包——一旦丢包,性能断崖式下跌。PFC(优先级流控)就是用来保证不丢包的。

它的原理很简单:当接收端缓冲区快满时,发送一个暂停帧,让发送端等一等。但问题在于,如果PFC配置不当,一个端口的暂停会扩散到整个网络,形成PFC死锁。

警告:PFC不是万能的。我曾经遇到一个案例,某交换机PFC buffer配置太小,导致频繁触发流控,RDMA延迟从5μs飙升到200μs。最后调整了buffer大小和XON/XOFF阈值才解决。

2.2 交换机选型要点

  • 支持DCB(数据中心桥接):包括PFC、ETS、DCBX。这是RoCE的基础。
  • 大缓冲区:至少8MB以上。缓冲区越大,PFC触发越少,性能越稳定。
  • 支持ECN(显式拥塞通知):配合DCQCN算法,实现端到端拥塞控制。这是高可用的关键。
  • 低延迟转发:Cut-through模式比Store-and-forward延迟低50%以上。

2.3 推荐厂商

我建议优先考虑:

  • NVIDIA Spectrum系列:与Mellanox网卡深度适配,PFC/ECN配置开箱即用。
  • Cisco Nexus 9000系列:成熟稳定,但配置复杂,需要专业团队调优。
  • 华为CloudEngine系列:国内生态好,支持iLossless算法,能自动优化PFC参数。

三、RoCE专用线缆与光模块

很多人忽视这个环节。线缆和光模块选不对,信号质量差,误码率飙升,RDMA照样跑不起来。

3.1 线缆类型

类型 最大距离 适用场景
DAC(直连铜缆) 7米 机柜内互联,成本低,功耗低
AOC(有源光缆) 100米 跨机柜,抗干扰强
光模块+光纤 10km+ 跨机房,需要长距离传输

我个人习惯:机柜内用DAC,便宜又稳定。跨机柜用AOC,别省那点钱——我见过用劣质DAC导致CRC错误暴增的案例。

3.2 光模块选型要点

  • 兼容性:必须与网卡和交换机兼容。有些厂商锁模块,只能用原厂。
  • 功耗:100G光模块功耗一般在3.5W-5W,过高会导致散热问题。
  • 误码率:要求BER低于10^-12。RDMA对误码极其敏感。
  • DDM(数字诊断监控):支持实时监控光功率、温度、电压。排查故障必备。

小技巧:选光模块时,尽量选同一批次的。不同批次的光模块,发射功率和接收灵敏度可能有差异,混用容易导致链路不稳定。

四、核心组件关系图

下面这张图展示了RoCE网络三个核心组件的关系:

RoCE网络核心组件关系图 服务器A RoCE网卡 ConnectX-6 100G 服务器B RoCE网卡 ConnectX-6 100G 支持PFC的交换机 NVIDIA Spectrum-3 PFC + ECN + DCB 大缓冲区 ≥ 8MB DAC/AOC DAC/AOC 光模块:100G QSFP28,兼容性验证,DDM监控

这张图想表达的核心逻辑:网卡负责数据进出,交换机负责无损转发,线缆光模块负责物理传输。三者缺一不可,任何一个环节出问题,RDMA性能都会崩。

五、选型总结

最后,我把自己多年的选型经验浓缩成几句话:

  • 网卡:优先Mellanox,确认支持RoCE v2和硬件卸载。别图便宜买低端卡。
  • 交换机:必须支持PFC+ECN,缓冲区要大。配置前先做PFC死锁测试。
  • 线缆光模块:机柜内用DAC,跨机柜用AOC。光模块买同一批次,做好兼容性验证。

核心原则:RoCE高可用不是靠软件调出来的,而是靠硬件选型打底的。选对了,后面事半功倍;选错了,天天救火。

嗯,这一章就到这里。记住:硬件选型是RoCE网络的基石,别在这上面省钱。

专注资料整理