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 硬件选型总结清单
最后,给你一个我每次做项目都会用的检查清单:
- 网卡支持RoCE v2硬件卸载(不是所有网卡都支持)
- 交换机支持PFC(802.1Qbb)和ECN(DCQCN)
- 缓冲区大小至少4MB/端口,推荐8MB以上
- 线缆和光模块通过原厂认证
- 所有设备固件版本一致(我曾经因为固件版本不匹配,折腾了三天)
- 做一次端到端的PFC/ECN功能验证
硬件选型这一步走稳了,后面的调优工作才能事半功倍。下一章,咱们聊聊如何配置PFC和ECN,让RoCE真正跑起来。