RDMA over Converged Ethernet (RoCE) 技术通过允许数据在远程计算机内存之间直接传输,无需CPU介入,从而显著降低延迟、提升数据传输效率。这使其成为高性能计算、大规模人工智能训练、分布式存储等场景的理想选择。RoCE主要有两个版本:RoCE v1工作在链路层,通信限制在同一二层网络;RoCE v2工作在网络层,基于UDP/IP封装(默认UDP端口号4791),支持三层路由,具有更佳的可扩展性,是当前主流应用版本。成功部署RoCE网络的关键在于构建无损以太网环境,这通常涉及优先级流量控制 (PFC)、显式拥塞通知 (ECN) 以及死锁检测与避免机制的配置。
RoCE网络测试报告中的典型组网图
核心配置亮点
- 无损网络是基石: 所有厂商的RoCE配置都强调优先级流量控制 (PFC) 和 显式拥塞通知 (ECN) 的重要性,以确保RoCE流量的零丢包和低延迟。
- RoCEv2主导趋势: RoCEv2 因其跨三层网络的能力和更佳的扩展性,成为各厂商推荐和支持的重点。
- 端到端协同配置: 成功的RoCE部署需要服务器网卡、驱动程序与网络交换机的协同配置和优化,包括QoS策略、队列管理和IP地址规划。
各厂商RoCE网络配置详解
以下将详细介绍华三 (H3C)、华为 (Huawei)、中兴 (ZTE) 和锐捷 (Ruijie) 在RoCE网络配置方面的关键点和实践方法。
华三 (H3C) RoCE网络配置
华三致力于提供全面的RoCEv2解决方案,特别强调其在无损网络构建方面的能力,如AI ECN智能无损算法的应用。
关键配置特性:
- 无损以太网构建:
- PFC配置: 开启PFC功能,并为RoCE流量配置专门的优先级(通常映射到802.1p优先级,如6或特定DSCP值)。
- ECN与AI ECN: 启用ECN进行拥塞管理。华三的AI ECN技术能够基于流量模型进行智能分析与动态调优,预防拥塞。
- WRED (加权随机早期检测): 配置WRED以缓解队列拥塞,减少延迟。
- QoS与队列管理:
- DSCP与802.1p映射: 将RoCE报文的DSCP值映射到相应的802.1p优先级,确保在交换机内部得到优先处理。RoCE流量通常分配给高优先级队列(如队列7),CNP报文分配给次高优先级队列(如队列6)。
- 队列调度: 配置出向队列调度策略,例如为RoCE队列配置严格优先级 (SP) 或加权轮询 (WRR/DRR) 并赋予较高权重。
- 链路聚合 (LAG): 支持RoCE LAG,通过绑定多个物理端口提高带宽和链路冗余。
- 死锁检测与恢复: 实施死锁检测和恢复机制,确保PFC环境下的网络稳定性。
配置示例思路 (概念性):
! 启用全局RoCE特性 (具体命令视设备型号)
roce enable
! 配置PFC针对特定CoS值
interface GigabitEthernet1/0/1
priority-flow-control no-drop cos X Y Z
! 配置DSCP到CoS的映射
qos dscp-mutation dscp-value to cos-value
! 配置队列调度 (示例)
qos queue-profile custom_roce
scheduler sp queue 7
scheduler wrr queue 0 to 6 weight ...
interface GigabitEthernet1/0/1
qos apply queue-profile custom_roce outbound
华三的CX-N系列云交换机是构建RoCE网络的推荐硬件。详细配置需参考华三官方的《H3C无损网络最佳实践》和特定型号的配置指南。
华三S6805系列数据中心交换机,常用于构建RoCE网络
华为 (Huawei) RoCE网络配置
华为在交换机、智能网卡 (如Atlas系列) 和存储系统 (如OceanStor) 中均提供RoCE支持,强调端到端的无损网络构建和性能优化。
关键配置特性:
- 交换机配置:
- PFC支持: 交换机必须支持并启用PFC功能,以及PFC死锁检测和抑制/隔离机制。
- IP地址配置: 为RoCE接口配置IP地址和子网掩码。注意在多NPU(网络处理器单元)环境下,避免IP冲突。首次配置IP可能导致链路短暂中断后恢复。
- 智能网卡配置:
- 驱动与固件: 安装最新的网卡固件和驱动程序。
- RoCE功能使能: 在网卡层面启用RoCE功能。
- RoCE Bonding: 利用操作系统提供的bonding功能结合RoCE驱动,将多个物理端口绑定为一个逻辑端口,提升带宽和冗余。
- 性能测试: 使用
perftest
等工具进行RoCE网络性能验证。
- 存储系统集成: 在华为OceanStor存储系统中,可以通过管理界面查看和管理RoCE端口信息,配置其工作模式。
配置示例思路 (概念性):
# 交换机接口PFC配置
interface 10GE1/0/1
undo portswitch # 如果是二层端口,可能需要切换到三层模式或配置VLANIF
dcb pfc enable mode manual # 手动模式启用PFC
dcb pfc priority X Y Z enable # 为特定优先级启用PFC
# 网卡IP配置 (Linux示例)
ip addr add 192.168.1.10/24 dev eno1
# RoCE bonding配置通常涉及修改网络配置文件 (e.g., /etc/sysconfig/network-scripts/)
# 或使用nmcli/iproute2等工具
华为的配置文档会详细说明针对不同系列交换机(如CloudEngine)和智能网卡的具体命令和步骤。
中兴 (ZTE) RoCE网络配置
关于中兴通讯RoCE网络的详细配置指南在提供的资料中相对较少。然而,其配置原则与其他厂商类似,核心在于交换机对无损以太网特性的支持以及相应的网卡配置。
通用配置原则:
- 无损以太网: 交换机需支持PFC、ECN等功能,并进行相应配置以保障RoCE流量。
- QoS配置: 通过命令行配置QoS策略,包括流量分类、标记和队列调度,确保RoCE流量的优先传输。
- 端口参数: 正确配置端口速率、双工模式,并确保物理链路的健康。
- SDN集成: 中兴的解决方案可能侧重于数据中心核心交换和汇聚层,并可能结合SDN进行网络运维和调优。
配置示例思路 (通用交换机命令,需查阅ZTE具体文档验证):
! 进入配置模式
configure terminal
! 接口配置PFC (示例性,具体命令依赖ZTE设备)
interface ethernet 1/1
priority-flow-control mode on
priority-flow-control priority X Y Z
! QoS策略配置 (示例性)
class-map match-any ROCE_TRAFFIC
match dscp ro_dscp_value
policy-map QOS_POLICY_ROCE
class ROCE_TRAFFIC
set priority high ! 或设置特定队列/带宽
interface ethernet 1/1
service-policy input QOS_POLICY_ROCE
强烈建议用户参考中兴通讯官方最新的交换机配置手册和RoCE解决方案指南,以获取准确的命令和最佳实践。
锐捷 (Ruijie) RoCE网络配置
锐捷网络聚焦于AIGC(人工智能生成内容)智算中心等高性能场景,提供RoCE网络端到端自动化调优方案。
关键配置特性:
- RDMA流控: 交换机端需启用RDMA流控功能,并与服务器端的Mellanox/NVIDIA RoCE网卡协同工作。
- PFC与QoS:
- 流量识别与标记: 使用DSCP值标记RoCE流量 (例如,DSCP 26)。
- 队列绑定与优先级: 将识别出的RoCE流量映射到特定的CoS (Class of Service) 值,并分配高优先级队列。
- 队列权重与调度: 配置队列权重(如使用DRR - Deficit Round Robin)和WRED,以优化拥塞管理。
- 智算网络优化: 锐捷方案强调覆盖交换机与GPU算力调度的整体优化,提升AI训练效率。
- 监控与诊断: 提供针对RoCE的监控及网络健康诊断工具。
配置示例思路 (概念性):
! 定义RoCE流量分类
class-map match-all RoCE
match ip dscp 26
! 定义QoS策略
policy-map RoCE_QoS_Policy
class RoCE
set cos 3 ! 假设CoS 3用于RoCE
priority ! 或其他队列参数
! 应用QoS策略到接口
interface GigabitEthernet 1/0/1
service-policy input RoCE_QoS_Policy
! PFC配置 (示例性)
interface GigabitEthernet 1/0/1
priority-flow-control mode auto
priority-flow-control priority 3 enable ! 启用CoS 3的PFC
用户应查阅锐捷官方的《RoCE智算网络专家方案》和交换机功能配置案例集获取详细步骤。
RoCE特性支持度概览
以下雷达图基于对各厂商通用RoCE支持能力的综合评估,具体功能和易用性可能因产品型号和软件版本而异。此评估旨在提供一个大致的比较视角,评分范围1-5,5为最高。
此雷达图直观展示了各厂商在RoCE关键技术特性方面的支持情况。例如,华三和华为在PFC支持和RoCEv2优化方面表现突出,而中兴的相关公开资料相对较少,因此评估较为保守。锐捷则在智算中心场景下的RoCE应用有其特色。
RoCE网络配置核心要素概览
下图通过思维导图的形式,梳理了RoCE网络配置时需要关注的核心组件和概念,帮助您构建一个清晰的配置框架。
mindmap
root["RoCE 网络配置"]
id1["核心概念"]
id1_1["RDMA (远程直接内存访问)"]
id1_2["RoCE v1 (链路层)"]
id1_3["RoCE v2 (网络层, UDP:4791)"]
id2["无损以太网 (Lossless Ethernet)"]
id2_1["PFC (Priority Flow Control)"]
id2_1_1["按优先级无丢包"]
id2_1_2["死锁检测与预防"]
id2_2["ECN (Explicit Congestion Notification)"]
id2_2_1["拥塞标记与反馈"]
id2_2_2["AI ECN (智能ECN)"]
id2_3["ETS (Enhanced Transmission Selection)"]
id2_3_1["带宽保证"]
id3["QoS (服务质量)"]
id3_1["流量分类 (Classification)"]
id3_1_1["基于DSCP"]
id3_1_2["基于VLAN CoS"]
id3_2["流量标记 (Marking)"]
id3_3["队列管理 (Queue Management)"]
id3_3_1["SP (Strict Priority)"]
id3_3_2["WRR/DRR (Weighted/Deficit Round Robin)"]
id3_3_3["WRED (Weighted Random Early Detection)"]
id4["厂商特定配置"]
id4_1["华三 (H3C)"]
id4_1_1["AI ECN"]
id4_1_2["RoCE LAG"]
id4_1_3["详细的QoS与PFC指南"]
id4_2["华为 (Huawei)"]
id4_2_1["RoCE Bonding"]
id4_2_2["Perftest工具"]
id4_2_3["OceanStor集成"]
id4_3["中兴 (ZTE)"]
id4_3_1["通用无损网络配置原则"]
id4_3_2["具体命令需查阅文档"]
id4_4["锐捷 (Ruijie)"]
id4_4_1["AIGC智算中心方案"]
id4_4_2["RDMA流控"]
id5["配置与验证"]
id5_1["网卡固件与驱动"]
id5_2["交换机软件版本"]
id5_3["IP地址规划"]
id5_4["性能测试工具 (e.g., perftest)"]
id5_5["监控与故障排查"]
该思维导图从RoCE的核心概念出发,延伸到实现无损以太网的关键技术(PFC、ECN),服务质量(QoS)的保障手段,以及各厂商在配置上的侧重点和特有技术。最后,强调了配置实施与验证的重要性。
关键配置参数对比
下表总结了在配置RoCE网络时,各厂商通常需要关注的关键参数和配置领域。请注意,具体命令和可用功能会因设备型号和软件版本而异。
配置项 |
华三 (H3C) |
华为 (Huawei) |
中兴 (ZTE) |
锐捷 (Ruijie) |
通用说明 |
RoCE 版本 |
RoCEv2 (推荐) |
RoCEv2 (主流) |
RoCEv2 (通用支持) |
RoCEv2 (支持) |
RoCEv2基于UDP/IP,可路由,端口4791。 |
PFC (Priority Flow Control) |
精细化配置,支持AI ECN结合 |
支持,强调死锁检测与隔离 |
支持 (需查阅具体设备文档) |
支持,与RDMA流控结合 |
为RoCE流量分配的优先级启用无丢包传输。 |
ECN (Explicit Congestion Notification) |
支持,AI ECN智能优化 |
支持 |
支持 (需查阅具体设备文档) |
支持 |
标记拥塞,帮助发送端调整速率。 |
QoS (DSCP/CoS Mapping) |
详细的DSCP到802.1p映射,队列调度 |
支持DSCP/CoS映射,队列优先级 |
通用QoS策略配置 |
DSCP标记RoCE流量,映射到CoS |
确保RoCE流量获得高优先级处理。 |
队列管理 |
SP, WRR/DRR, WRED |
SP, WRR/DRR |
SP, WRR/DRR (通用) |
DRR, WRED |
管理不同流量类型的队列行为。 |
链路聚合 (LAG/Bonding) |
支持RoCE LAG |
支持RoCE Bonding (OS层面) |
通用LAG支持 |
支持LAG |
提高带宽和冗余。 |
IP 地址配置 |
标准接口/VLANIF IP配置 |
标准接口/VLANIF IP配置,网卡IP配置 |
标准接口/VLANIF IP配置 |
标准接口/VLANIF IP配置 |
RoCEv2需要IP层连通性。 |
特色功能 |
AI ECN, 智能无损网络 |
Perftest工具集成, OceanStor RoCE管理 |
SDN集成可能性 |
AIGC智算中心方案, 自动化调优 |
各厂商根据其解决方案的侧重点提供。 |
此表格提供了一个高层次的对比,突出了各厂商在RoCE网络配置方面的共同点和差异。实际部署时,务必参考最新的官方文档。
常见问题解答 (FAQ)
什么是PFC?为什么它对RoCE如此重要?
PFC (Priority Flow Control,优先级流量控制) 是一种以太网链路层流控机制,它允许在交换机端口上为特定优先级(通常由802.1p CoS值标识)的流量单独启用或禁用暂停帧。当某个优先级的缓冲区即将溢出时,交换机会向上游发送该优先级的暂停帧,阻止上游继续发送该优先级的数据,从而避免丢包。RoCE协议对丢包非常敏感,任何丢包都可能导致严重的性能下降甚至连接中断。PFC通过为RoCE流量创建一个“无损”通道,确保其在网络拥塞时不被丢弃,这对于维持RoCE的低延迟和高吞吐至关重要。
RoCE v1 和 RoCE v2 有什么主要区别?
主要区别在于它们工作的网络层面和路由能力:
- RoCE v1: 基于以太网链路层协议 (EtherType 0x8915)。它直接在以太网帧上封装RDMA报文,因此通信仅限于同一个二层广播域(VLAN)。它不支持IP路由,不能跨越三层网络。
- RoCE v2: 基于UDP/IP协议 (UDP目标端口号4791)。它将RDMA报文封装在UDP/IP包头内,使其能够利用IP网络的路由功能。这意味着RoCE v2流量可以跨越三层网络进行传输,具有更好的可扩展性和灵活性,适用于更复杂的数据中心网络拓扑。目前,RoCE v2是主流部署版本。
配置RoCE网络时,有哪些常见的注意事项?
- 端到端一致性: 服务器网卡、驱动程序和所有网络路径上的交换机都必须正确配置并支持RoCE所需的特性(如PFC, ECN, QoS)。
- PFC死锁: 不当的PFC配置可能导致死锁。务必启用死锁检测和恢复机制,并仔细规划PFC启用的优先级。
- MTU配置: 确保整个路径上的MTU(最大传输单元)一致,并足够大以容纳RoCE报文(通常推荐9000字节或更大,即Jumbo Frames)。
- DSCP/CoS值统一: 服务器网卡发出的RoCE流量的DSCP/CoS值必须与交换机上配置的PFC和QoS策略匹配。
- 版本兼容性: 确保交换机固件、网卡固件和驱动程序版本相互兼容,并支持所需的RoCE特性。
- 逐步部署与测试: 建议先在小范围内进行测试验证,再逐步扩大部署范围。使用
perftest
(如ib_send_bw
, ib_write_lat
) 等工具进行性能和连通性测试。
- 监控: 部署后持续监控网络性能,包括PFC计数器、ECN计数器、队列深度等,以便及时发现和解决问题。
ECN在RoCE网络中扮演什么角色?
ECN (Explicit Congestion Notification,显式拥塞通知) 是一种拥塞避免机制,它允许网络设备在发生拥塞初期(而不是等到丢包发生)就通知端点。在RoCE网络中,当交换机队列达到某个阈值时,它会标记IP包头中的ECN字段。接收端检测到这个标记后,会通过CNP (Congestion Notification Packet) 反馈给发送端,发送端随即降低其发送速率,从而缓解网络拥塞。ECN与PFC协同工作:PFC是防止丢包的“硬刹车”,而ECN则是提前预警的“软调节”,有助于维持网络的稳定性和高吞吐量,尤其是在大规模、高并发的RoCE环境中。
推荐探索
参考资料