2、硬件选型:支持RoCE的网卡、交换机、线缆与光模块

好,咱们进入第二章。硬件选型这块,说白了就是给RoCE网络挑「好马配好鞍」。我见过不少项目,软件调得再好,硬件选错了,性能直接腰斩。所以这一章,咱们把网卡、交换机、线缆这些核心部件掰开揉碎了讲。

2.1 网卡选型:三大主流厂商的博弈

目前支持RoCE的网卡,主流玩家就三家:Mellanox(现属NVIDIA)、Chelsio、Broadcom。我个人习惯,先看生态再看性能。

2.1.1 Mellanox ConnectX 系列

这绝对是RoCE领域的「老大哥」。我最早接触RoCE v1时用的就是ConnectX-3,那时候还不太成熟。到了ConnectX-5和ConnectX-6,基本就是行业标杆了。

  • 优势:驱动成熟、RDMA性能稳定、支持RoCE v2硬件卸载
  • 我建议:新项目直接上ConnectX-6 Dx或ConnectX-7,支持200G/400G
  • 避坑:ConnectX-4有些早期版本存在ECN处理bug,我曾经踩过这个坑,后来升级固件才解决

2.1.2 Chelsio T6/T7 系列

Chelsio的特点是把TOE(TCP卸载引擎)和RoCE做在一起。说白了,它更擅长混合负载场景。

  • 优势:低延迟、支持iWARP和RoCE双协议
  • 注意:配置比Mellanox复杂,文档相对少一些
  • 个人经验:如果你既要跑传统TCP应用,又要跑RDMA,Chelsio是个不错的选择

2.1.3 Broadcom NetXtreme-E 系列

Broadcom是后起之秀,但势头很猛。它的优势在于和自家交换机芯片的协同。

  • 优势:价格有竞争力、支持25G/100G、功耗控制不错
  • 不足:RoCE v2的硬件卸载功能不如Mellanox丰富
  • 我遇到过:有客户用Broadcom网卡搭配Broadcom交换机,整体方案成本降低了30%

选型建议:追求极致性能选Mellanox,混合负载选Chelsio,成本敏感选Broadcom。

2.2 交换机选型:PFC与ECN的硬件支撑

RoCE要跑得稳,交换机必须支持PFC(优先级流控制)和ECN(显式拥塞通知)。这两个功能缺一不可。

2.2.1 PFC:防止丢包的「最后防线」

PFC说白了就是给不同流量打优先级标签。当某个优先级队列快满时,交换机会通知上游设备暂停发送。

  • 关键点:必须支持IEEE 802.1Qbb标准
  • 我建议:至少配置3个优先级队列(RoCE高优先级、管理流量中优先级、普通数据低优先级)
  • 避坑指南:我曾经见过PFC死锁问题——两个交换机互相发暂停帧,结果整个网络卡死。后来加了watchdog定时器才解决

2.2.2 ECN:主动拥塞通知

ECN比PFC更「温柔」。它不直接暂停流量,而是在交换机检测到拥塞时,给数据包打上标记。接收端看到标记后,会主动降低发送速率。

  • 关键点:支持DCQCN(数据中心量化拥塞通知)算法
  • 配置建议:ECN阈值一般设为缓冲区大小的30%-50%
  • 个人经验:阈值设得太低,性能下降;设得太高,丢包风险增加。我一般从40%开始调

小技巧:选交换机时,重点关注缓冲区大小。RoCE对缓冲区要求高,建议每端口至少4MB。

2.2.3 主流交换机品牌对比

品牌 代表型号 PFC支持 ECN支持 缓冲区
Mellanox(NVIDIA) SN2700 / SN3700 ✅ 成熟 ✅ 原生支持 16MB/端口
Cisco Nexus 93180YC-FX3 ✅ 需配置 ✅ 支持 8MB/端口
Broadcom(ASIC) Tomahawk 4/5 ✅ 标准 ✅ 支持 12MB/端口
Juniper QFX5200 ✅ 需许可 ✅ 支持 8MB/端口

重要提醒:不是所有标称「支持RoCE」的交换机都能跑满线速。我测试过某品牌交换机,开启PFC后吞吐量下降20%。一定要做实际压力测试。

2.3 线缆与光模块选择

线缆和光模块看似简单,但往往是性能瓶颈的「隐形杀手」。嗯,这里要注意几个关键点。

2.3.1 铜缆 vs 光模块

  • DAC(直连铜缆):短距离(≤5米)首选,成本低、延迟低。我习惯用Mellanox原厂DAC,兼容性最好
  • AOC(有源光缆):5-30米距离,比DAC轻、抗干扰强。但注意,AOC的功耗比DAC高
  • 光模块+光纤:长距离(>30米)必选。建议用单模光纤,虽然贵一点,但未来升级到400G/800G还能用

2.3.2 选型避坑指南

我曾经遇到过一个问题:某项目用了第三方光模块,结果RoCE链路死活协商不到100G。后来发现是光模块的EEPROM信息不完整,交换机无法识别。换了原厂模块,问题立刻解决。

  • 兼容性:优先选网卡/交换机厂商认证的线缆和模块
  • 速率匹配:100G网卡配100G光模块,不要为了省钱用40G模块
  • 温度范围:数据中心环境温度高,选工业级(-40°C到85°C)更稳妥

我的经验法则:线缆和光模块的成本不要超过总硬件成本的10%。但省下来的钱,可能会花在排查问题上。

2.4 硬件选型总结清单

最后,给你一个我每次做项目都会用的检查清单:

  1. 网卡支持RoCE v2硬件卸载(不是所有网卡都支持)
  2. 交换机支持PFC(802.1Qbb)和ECN(DCQCN)
  3. 缓冲区大小至少4MB/端口,推荐8MB以上
  4. 线缆和光模块通过原厂认证
  5. 所有设备固件版本一致(我曾经因为固件版本不匹配,折腾了三天)
  6. 做一次端到端的PFC/ECN功能验证

硬件选型这一步走稳了,后面的调优工作才能事半功倍。下一章,咱们聊聊如何配置PFC和ECN,让RoCE真正跑起来。