本页内容
AI 交换矩阵的全局负载平衡
介绍
负载平衡可确保网络流量在等价多路径 (ECMP) 或 LAG 组中的所有成员之间尽可能均匀地分配。通常,负载平衡分为静态或动态。
静态负载均衡 (SLB) 根据数据包内容(例如源 IP 地址和目标 IP 地址)使用散列来分配流量。SLB 的一个优点是它可以保证数据包的顺序,因为分配给同一流的所有数据包都沿同一路径传输。但是,由于 SLB 不考虑实时路径或链路负载,因此可能会导致诸如带宽利用率低、较大的(大象)流中断较小的流(小鼠流)以及路径出现故障时的流量丢失等问题。
动态负载平衡 (DLB) 根据成员链路的带宽利用率和数据包内容选择路径,从而改进了 SLB。这种方法使得 DLB 成为不同网络条件的理想之选。DLB 会持续监控聚合组中每个成员端口的负载和队列大小。这些指标由 DLB 算法处理,该算法为每个端口分配一个从 0 到 7 的质量波段。质量带 7 表示质量最好,0 表示最低质量。此质量频段分配会根据实时端口负载和队列状况进行调整。
以下关键概念对于理解 DLB 很重要:
- 微流:微流是指在源设备和目标设备之间遍历的数据包,这些设备与单个应用程序相关联,并且是同一通信会话的一部分。
- 宏流:宏流由多个微流组成,这些微流在网络设备上哈希为相同的值。换言之,宏流是具有共同特征的流量流的聚合。
- 端口负载指标:此指标表示每个间隔通过每个等价多路径 (ECMP) 链路传输的流量(以字节为单位)。通过监控这一点,系统可以有效地评估和分配网络负载。
- 端口队列指标:此指标表示在每个 ECMP 链路排队时占用的内存单元数。它提供有关潜在瓶颈的数据,并通过防止拥塞帮助优化流量。
有关详细信息,请参阅 数据中心中的负载平衡。
全局负载平衡概述
全局负载平衡 (GLB) 建立在动态负载平衡 (DLB) 的基础之上,在做出负载平衡决策时会考虑下游路径质量。GLB 使交换机能够检测下一跳 (NNH) 链路和下游路径的质量。这意味着上游交换机可以通过选择最佳端到端路径来避免拥塞,而不是自动选择负载最小的链路,而不考虑链路质量。采用 Broadcom Tomahawk5 (TH5) ASIC 的 瞻博网络 QFX5240交换机支持 GLB。
Apstra 6.0 中 GLB 的主要功能包括:
-
DLB 流模式:此模式基于流而不是流分配链路。流是同一流的多个突发,由这些突发之间的一段不活动时间隔开。这段不活动的时间段称为不活动间隔。
-
DLB per packet 模式:在此模式下,系统会为流中的每个数据包启动 DLB。此模式可确保数据包始终被分配到质量最好的成员端口。但是,在此模式下,DLB 可能会遇到由于延迟偏差而导致的数据包重新排序问题。有关按数据包模式的更多信息,请参阅动态负载均衡。
GLB 还支持具有被动负载平衡的 DLB。
有关 DLB 的详细信息,请参阅动态负载平衡 (DLB)。
有关 GLB 的更多信息,请参阅全局负载均衡 (GLB)。
全局负载平衡的先决条件
- 对 DLB 的依赖:
- 如果不启用 DLB,GLB 将无法运行。必须至少激活一种 DLB 模式(每数据包、反应式路径、流模式)。
- 交换矩阵中所有路由器的 DLB 配置必须一致,以确保 GLB 正常运行。不一致的 DLB 设置可能会导致不可预测的 GLB 行为。
- 全交换矩阵配置:
- 必须在交换矩阵中的所有节点(主干、叶)上启用 GLB。不支持部分实施或“GLB 孤岛”,因为 BGP 的 NLRI 下一跳 (NNH) 功能无法在节点之间有效传播 DLB 指标。
- 虽然 GLB 策略可以针对单个节点进行定制(例如,仅帮助程序或仅负载均衡器模式),但关键要求是 GLB 必须与每个设备上的 BGP 协议堆栈相关联。
主干-叶交换矩阵之间最多 1 个接口:
不支持同一对设备之间的 ECMP。如果发生这种情况,Apstra 会引发蓝图警告。
- 支持的硬件和模式:
Broadcom TH5Devices:DLB 响应路径模式是 TH5 独有的(如 QFX5240 交换机)。
Flowlet 和 per-packet 模式:所有兼容设备都支持这些模式。
建议仅为每个系统节点分配一个负载均衡策略。组合多个策略或应用动态策略可能会导致冲突和作挑战。
全局负载均衡配置限制
配置 GLB 之前,请注意以下限制:
- GLB 仅在配备 TH5 ASIC (瞻博网络 QFX5240) 的瞻博网络设备上受支持。
- 配置 GLB 时,交换矩阵中的所有主干和叶也必须具有 GLB 策略。部分策略应用将引发验证警告。
- GLB 配置仅应用于交换矩阵 BGP 对等方,不会从连接点呈现至外部 BGP 对等方。
GLB 可以两种模式配置:
-
global-load-balancing helper-only:
-
仅为具有“主干”角色的设备配置。如果用户尝试为叶设备或接入设备配置此角色,Apstra 将引发验证错误。
-
该节点监控本地链路质量,并将此数据泛洪给邻居。无法查看下游链路质量,也无法执行 GLB 决策。
-
BGP 播发下一跳 (NNH) 功能。
-
通常配置在 L3-Clos 主干上。
-
-
global-load-balancing load-balancer-only:
-
仅为“叶”角色设备配置(在任何 Clos 中);如果将策略分配给任何其他角色,则会引发错误。
-
该节点不会监控或通告本地链路质量。
-
仅负载均衡器不会通告 NNH。
-
接收下游链路质量指标,并根据下一跳和下一跳的综合质量做出负载平衡决策。
-
若要为 AI 交换矩阵配置 GLB,请使用以下说明: 为 AI 交换矩阵配置全局负载均衡。
配置 GLB 后,您可以将负载平衡策略批量分配给设备。有关更多信息,请参阅批量 分配负载均衡策略。