更多信息
故障排除
您可以参考以下文档以帮助排除 EVPN 配置故障
融合以太网上的 RDMA (RoCE)
RoCE 是一种网络协议,它利用 RDMA 功能来加速服务器集群和存储阵列上托管的应用程序之间的通信。RoCE 是一种远程内存管理功能,允许服务器到服务器的数据直接在应用程序内存之间移动,而无需 CPU 参与。传输处理、内存转换和放置都由硬件执行,从而与基于软件的协议相比,具有更低的延迟、更高的吞吐量和更好的性能。
随着可靠以太网上的数据中心融合技术的进步,ConnectX® 以太网适配器卡系列凭借其硬件卸载支持,充分利用了这种高效的以太网 RDMA 传输服务,为性能关键型和事务密集型应用(如金融、数据库、存储和内容交付网络)提供超低延迟。
正如 InfiniBand 贸易协会 (IBTA) 最初实施和标准化的那样,RoCE 被设想为一种 L2 协议。实际上,IBTA L1 和 L2 字段被相应的以太网字段取代。具体而言,在 L2 层,本地路由标头 (LRH) 被以太网 MAC 标头和帧校验序列取代。EtherType 字段指示有效负载封装了 RoCE 协议,该协议在 L2 层之上实现了 IBTA 协议。此外,IBTA 网络管理(子网管理器)被标准以太网 L2 管理协议取代。
这种方法具有易于实现、严格分层以及保留位于通道接口之上的应用程序级 API 动词的优点。缺点是 L2 以太网部署的可扩展性限制,这是由广播域以及扁平子网中 IP 地址分配约束的复杂性造成的。此外,某些交换机可能会在较慢的异常路径上转发 RoCE 数据包,而不是更常见的 IP 数据包。
这些限制推动了对 RoCE 在 L3(可路由)环境中运行的需求。RoCE 框架的直接扩展使其可以轻松地跨 L3 网络传输。支持 L3 的 RoCE 协议只需继续向上堆叠,并将可选的 L3 全局路由标头 (GRH) 替换为标准 IP 网络标头,并添加 UDP 标头作为 L4 有效负载的无状态封装。这是 RoCE 的一个非常自然的扩展,因为 L3 标头已经基于 IP 地址,因此,这种替换非常简单。此外,UDP 封装是一种标准的 L4 数据包类型,路由器可以有效地将其作为主流数据路径操作进行转发。
图 13 - RoCE

L2 注意事项
在链路层,可以通过使用流控制来实现无损以太网 L2 网络。流控制可以通过在整个网络中启用全局暂停或使用 PFC 来实现。PFC 是一种链路层协议,允许接收器断言流控制,告知发送器暂停发送指定优先级的流量。PFC 支持对 802.1Q VLAN 标签的服务类别字段中指定的各个优先级进行流控制。因此,单个链路可以同时承载无损流量以支持 RoCE 和其他尽力而为的较低优先级服务类别的流量。
在融合环境中,有损流量与无损 RoCE 流量共享相同的物理链路。通常,交换机和路由器内部会为无损和尽力而为的流量类别分配单独的专用缓冲和队列资源,从而有效地将这些流彼此隔离。虽然全局暂停配置更容易,并且在实验室条件下可能效果良好,但在运营网络中建议使用 PFC,以便能够区分不同的流。否则,在发生拥塞时,重要的有损流量(例如控制协议)可能会受到影响。您应该在启用了 PFC 的 VLAN 上运行 RoCE,并在不同的优先级上运行未启用流控制的控制协议(有损)。
L3 注意事项
在 L3 层运行 RoCE 需要在连接 L2 子网的 L3 路由器之间保持网络的无损特性。应将中间 L3 路由器配置为在相应子网上的以太网接口之间的 L3 路由器上传输 L2 PFC 无损优先级。这通常可以通过标准的路由器配置机制来实现,将接收到的 L2 优先级设置映射到相应的 L3 DSCP QoS 设置。对等主机应使用 DSCP 和 L2 优先级位(802.1p 或 COS 位)(PCP) 标记 RDMA 数据包。路由器有两种方法可以从数据包中提取优先级,一种是从 DSCP(在这种情况下,数据包可能未标记),另一种是通过 PCP(在这种情况下,数据包必须携带 VLAN(因为 PCP 是 VLAN 标签的一部分)。路由器应保持 DSCP 位不变,并确保 L2 PCP 位(如果 VLAN 存在)被复制到下一个网络。
L3 网络可以实施转发算法,从而更好地利用可用的网络连接,而不是像 STP 等 L2 链路中断协议那样受到限制。先进的数据中心网络可以利用多路径路由机制来实现负载均衡和提高利用率。实现这些目标的一种常用协议是 ECMP。当使用可靠连接 RDMA (RC) 时,源 UDP 端口会按 QP 进行加扰。这有助于 ECMP 哈希函数跨大型 L3 网络中不同 spine 上的不同 RDMA 流。
数据中心数字孪生 (NVIDIA Air)
NVIDIA 的网络 NetDevOps 和 CI/CD 方法从完整数据中心网络的数字孪生开始,该数字孪生可以托管在 NVIDIA AIR (air.nvidia.com) 平台或您自己的私有云或公有云上。

此数字孪生具有每个交换机和电缆的逻辑实例,以及许多服务器,这使其可用于验证安全策略合规性、自动化流程、监控工具、互操作性和升级程序。没有其他供应商可以匹敌此功能。我们的 SE 可以在几分钟内创建您现有 100 多个交换机的环境克隆。
当物理设备安装、布线和通电后,整个数据中心网络可以在几分钟内启动并运行 - 将生产时间缩短 95%。但现在,这种环境是软件定义的和硬件加速的,它已为 CI/CD 运营模式做好准备,在这种模式下,网络基础设施被视为代码,因为数字孪生在生产网络运行后不会消失。
相反,任何更改请求都首先在数字孪生中实施,在其中可以验证安全性、自动化、监控和升级流程是否仍然合规。仅在功能经过验证后,更改才会推送到生产环境。根据 2021 年 IDC 报告,此验证过程提高了安全性并加快了更改请求,并且已证明可将计划外数据中心停机时间减少 64%。
NVIDIA Air 上的演示市场提供了一些完全配置的预构建实验室,这些实验室演示了最佳实践配置。
- EVPN 二层扩展
- EVPN 集中式路由
- EVPN 对称路由
- EVPN 多宿主
自动化
Cumulus 交换机是唯一提供真正自动化选择的交换机 - 您可以使用 CLI 或 API 进行自动化,或者使用 Linux 方法(通过创建平面文件)以及您选择的任何工具,通过将 Cumulus Linux 本身视为任何其他 Linux 服务器。其他所有实现都使用 Expect 脚本或“Ansible Agents”,这些脚本或代理提供了本机 Ansible 解决方案的全部功能的子集。
生产就绪自动化 (PRA)
NVIDIA 的生产就绪自动化软件包提供了几个完全可操作的自动化数据中心的示例,其中包括
- 适用于所有示例的标准参考拓扑。
- 各种黄金标准 EVPN-VXLAN 架构参考配置。
- NVIDIA 参考拓扑 (cldemo2) 的完整 Vagrant 和 libvirt 模拟,它提供了基础物理基础设施和引导配置,以支持和演示 Cumulus Linux 的特性和技术。
- 最佳实践 Ansible 自动化和基础设施即代码 (IaC)。
- 使用 GitLab 的持续集成和持续部署 (CI/CD) 的工作示例。
- 由 NetQ Cloud 提供支持的 CI/CD 测试。
您可以将此生产就绪自动化软件包用作学习资源,并用作在您的 Cumulus Linux 网络环境中实施这些特性、技术和运营工作流的起始模板。NVIDIA 目前提供三种官方支持的演示解决方案,用于覆盖和配置参考拓扑。这些演示是 EVPN-VXLAN 环境,每个演示都以不同的风格执行租户路由。
黄金标准演示和底层基础参考拓扑正式托管在 Cumulus Consulting GitLab 组的 Golden Turtle 文件夹中的 GitLab 上。
- EVPN 二层专属 是一个仅具有 L2 扩展的 EVPN-VXLAN 环境。
- EVPN 集中式路由 是一个 EVPN-VXLAN 环境,具有租户之间的 L2 扩展,以及集中式 (fw) 设备上的租户间路由。
- EVPN 对称模式 是一个 EVPN-VXLAN 环境,具有 L2 扩展、L3 VXLAN 路由和用于多租户的 VRF。
有关 IP 地址和包含功能的更多详细信息,请参阅演示的 README 页面。
NetDevOps (CI/CD)
NVIDIA Spectrum 提供云规模的运营模式和可操作的可见性,以实现加速以太网。Cumulus Linux 网络操作系统构建在标准化的 Linux 堆栈之上,该堆栈与自动化和监控工具集本机集成。借助 Cumulus Linux,您可以通过将生产时间缩短多达 95%,并将 IT 时间减少 36% 用于“维持正常运行”来提高运营效率。此外,NVIDIA Air 使您能够构建数据中心数字孪生,并首先模拟升级、自动化和策略,以便充满信心地进行部署。NVIDIA NetQ 提供对网络内部工作原理(包括交换机和 DPU)的无与伦比的可见性,提供云规模的洞察力和验证,以减少平均无罪时间并使您的网络运营保持正常。