2、硬件选型与准备:支持RoCE的网卡、交换机配置要求、线缆与光模块选择
好,咱们直接进入正题。硬件选型这事儿,说简单也简单,说复杂也复杂。我见过太多人,买回来一堆高端设备,结果跑RoCE的时候各种掉包、断流。说白了,硬件选型不是看参数,是看匹配度。你想想看,网卡、交换机、线缆这三样东西,任何一个环节掉链子,整个集群的性能就全废了。
2.1 支持RoCE的网卡:三巨头怎么选?
目前市面上能稳定跑RoCE的网卡,主要就三家:Mellanox(现在叫NVIDIA Networking)、Chelsio、Broadcom。我个人的习惯是,先看场景,再选品牌。
2.1.1 Mellanox ConnectX系列
这是目前HPC领域的绝对主力。我最早接触RoCE就是在ConnectX-3上,那时候还只有RoCE v1。现在主流是ConnectX-5、ConnectX-6,甚至ConnectX-7都出来了。
- ConnectX-5:支持RoCE v2,25/50/100Gbps。性价比很高,适合中小规模集群。
- ConnectX-6:支持200Gbps,带内拥塞控制(CC)算法更成熟。我在一个金融风控项目中用过,延迟稳定在1微秒以内。
- ConnectX-7:400Gbps,支持NVIDIA的SHARP技术。说实话,普通场景用不上,除非你跑的是超大规模模型训练。
2.1.2 Chelsio T系列
Chelsio的网卡有个特点:它把RoCE的卸载引擎做得特别深。说白了,就是CPU几乎不用管网络协议栈的事。我印象最深的是T6系列,100Gbps的卡,CPU占用率不到5%。
- T5:40Gbps,支持RoCE v2。老型号了,但稳定性不错。
- T6:100Gbps,支持完整的RDMA卸载。适合对CPU资源敏感的场景。
2.1.3 Broadcom NetXtreme系列
Broadcom的网卡在数据中心里很常见,但RoCE的支持度相对弱一些。NetXtreme E系列支持25/100Gbps,但说实话,我在实际项目中很少用它跑RoCE。原因很简单:生态不如Mellanox成熟。
- NetXtreme E系列:支持RoCE v2,但需要配合Broadcom自家的交换机才能发挥最佳性能。
2.2 交换机配置要求:别让交换机成为瓶颈
很多人以为网卡选好了就万事大吉。其实,交换机才是RoCE部署中最容易出问题的地方。我遇到过最离谱的一次,是客户买了支持RoCE的交换机,结果默认配置下PFC(优先级流控制)没开,整个集群的吞吐量只有理论值的30%。
2.2.1 必须支持的功能
一台能跑RoCE的交换机,至少得满足以下条件:
- PFC(802.1Qbb):这是RoCE的命根子。没有PFC,RoCE的丢包率会高到无法接受。
- ECN(显式拥塞通知):配合RoCE v2的拥塞控制算法使用。我建议开启DCTCP模式。
- DCBX(数据中心桥接交换协议):用于自动协商PFC和ECN参数。虽然可以手动配,但DCBX能省不少事。
2.2.2 主流交换机品牌
| 品牌 | 推荐型号 | RoCE支持 | 我的评价 |
|---|---|---|---|
| Mellanox(NVIDIA) | SN2700、SN3700 | 原生支持,开箱即用 | 最省心,配置简单 |
| Cisco | Nexus 3000/9000系列 | 需要额外license | 功能强,但配置复杂 |
| Juniper | QFX系列 | 支持,但需手动调参 | 适合有经验的团队 |
| 华为 | CE系列 | 支持,但生态封闭 | 如果全栈华为可以考虑 |
2.2.3 关键配置参数
不管用什么交换机,这几个参数必须检查:
- MTU:建议设为9000(巨型帧)。RoCE的包本来就大,MTU小了会分片,性能直接腰斩。
- PFC队列:至少为RoCE流量分配一个专用队列。我习惯把RoCE流量映射到优先级3或4。
- ECN阈值:这个需要根据你的流量模型调。我一般从默认值开始,然后通过perf测试逐步优化。
2.3 线缆与光模块选择:别小看这根线
嗯,这里要注意。线缆和光模块是RoCE部署中最容易被忽视的环节。我见过有人用劣质光模块,结果链路误码率高得离谱,RoCE根本跑不起来。
2.3.1 线缆类型
- DAC(直连铜缆):短距离(3-5米)首选。成本低,功耗低,延迟低。我自己的实验室里全是DAC线。
- AOC(有源光缆):中距离(10-30米)。比DAC轻,但贵一些。适合机柜之间的互联。
- 光模块+光纤:长距离(100米以上)。需要单独买光模块和光纤跳线。注意:光模块的兼容性是个大坑。
2.3.2 光模块选型
光模块这东西,水很深。我建议遵循一个原则:用交换机厂商认证的模块。别为了省几百块钱去买杂牌模块,到时候链路不稳定,排查起来能让你崩溃。
| 速率 | 光模块类型 | 传输距离 | 典型应用 |
|---|---|---|---|
| 25Gbps | SFP28 | 100m(多模) | 接入层 |
| 100Gbps | QSFP28 | 500m(单模) | 汇聚层 |
| 200Gbps | QSFP56 | 2km(单模) | 核心层 |
2.4 知识体系总览
下面这张图,是我自己总结的RoCE硬件选型逻辑。你一看就明白了:
这张图的核心就一句话:匹配度比参数更重要。你买再好的网卡,如果交换机不支持PFC,或者线缆质量不行,那都是白搭。
2.5 实战检查清单
最后,我列一个清单。你在采购前,逐项核对一下:
- 网卡:确认支持RoCE v2,固件版本不低于官方推荐。
- 交换机:确认支持PFC、ECN、DCBX。最好有现成的RoCE配置模板。
- 线缆:短距离用DAC,长距离用原厂光模块。别混用品牌。
- 兼容性:网卡和交换机最好是同一品牌。如果不是,先查兼容性列表。
- 测试:到货后,先用perftest工具跑一下带宽和延迟。别等上线了才发现问题。
好了,硬件选型就聊到这儿。下一节咱们会深入软件配置,包括驱动安装、RoCE参数调优。到时候见。