Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

流量负载均衡器

流量负载均衡器概述

流量负载平衡支持摘要

表 1 汇总了自适应服务的 MS-MPC 和 MS-MIC 卡上的流量负载平衡支持与下一代服务的 MX-SPC3 安全服务卡上的支持。

表 1:流量负载平衡支持摘要

MS-MPC

MX-SPC3

Junos 版本

< 16.1R6 和 18.2.R1

≥ 16.1R6 和 18.2R1

19.3R2

每个机箱的最大实例数 #

32

L2 DSR 模式下为 2,000 / 32

2,000

每个实例的最大 # 个虚拟服务

32

32

32

每个虚拟服务的最大 # 个虚拟 IP 地址

1

1

每个实例的最大组数 #

32

32

32

每组实际服务(服务器)的最大 # 数

255

255

255

每个虚拟服务的最大组数 #

1

1

每组网络监视器配置文件的最大 # 数

2

2

5 秒内每个 PIC/NPU 的每个安全服务的最大 HC 数 # 数

4,000

1,250 – 19.3R2

10,000 – 20.1R1

支持的运行状况检查协议

ICMP、TCP、UDP、HTTP、SSL、Custom

ICMP, TCP, UDP, HTTP, SSL, TLS 您好, 自定义

流量负载均衡器应用程序说明

具有多服务模块化端口集中器 (MS-MPC)、多服务模块化接口卡 (MS-MIC) 或 MX 安全服务处理卡 (MX-SPC3) 的 MX 系列路由器支持流量负载平衡器 (TLB),并与 MX 系列路由器上支持的模块化端口集中器 (MPC) 线卡结合使用,如 表 2 中所述。

注意:

不能同时运行确定性 NAT 和 TLB。

表 2: TLB MX 系列路由器平台支持摘要

TLB 模式

MX 平台覆盖范围

多服务模块化端口集中器 (MS-MPC)

MX240、MX2480、MX960、MX2008、MX2010、MX2020

MX 安全服务处理卡 (MX-SPC3)

MX240、MX480、MX960

  • TLB 使您能够在多个服务器之间分配流量。

  • TLB 采用基于 MS-MPC 的控制平面和使用 MX 系列路由器转发引擎的数据平面。

  • TLB 使用等价多路径 (ECMP) 的增强版本。增强型 ECMP 有助于在服务器组之间分配流量。原生 ECMP 的增强功能可确保在服务器发生故障时,仅与这些服务器关联的流量受到影响,从而最大限度地减少服务和会话上的整体网络变动。

  • TLB 为每个组多达 255 台服务器提供基于应用程序的运行状况监控,根据服务器可用性信息的运行状况检查提供智能流量引导。您可以配置聚合多服务 (AMS) 接口,为用于服务器运行状况监控的 MS-MPC 或下一代服务 MX-SPC3 卡提供一对一冗余。

  • TLB 将其流分配处理应用于入口流量。

  • TLB 支持多个虚拟路由实例,为大规模负载平衡需求提供更好的支持。

  • TLB 支持静态虚拟 IP 地址到真实 IP 地址转换,以及负载平衡期间的静态目标端口转换。

流量负载均衡器操作模式

流量负载均衡器提供三种操作模式,用于分配传出流量和处理返回流量。

表 3 总结了 TLB 支持及其支持的卡。

表 3:TLB 与安全服务卡摘要

保安服务卡

MS-MPC

MX-SPC3

翻译

是的

是的

透明第 3 层直接服务器返回

是的

是的

透明第 2 层直接服务器返回

是的

不支持

透明模式第 2 层直接服务器返回

使用透明模式第 2 层直接服务器返回 (DSR) 时:

  • PFE 处理数据。

  • 负载平衡的工作原理是更改数据包的第 2 层 MAC。

  • MS-MPC 执行网络监视探测。

  • 真实服务器必须可从 MX 系列路由器直接(第 2 层)访问。

  • TLB 安装路由,并且该路由上的所有流量都是负载平衡的。

  • TLB 从不修改第 3 层及更高级别的标头。

图 1 显示了透明模式第 2 层 DSR 的 TLB 拓扑。

图 1:透明模式 TLB Topology for Transparent Mode的 TLB 拓扑

转换模式

转换模式提供了比透明模式第 2 层 DSR 更大的灵活性。选择转换模式时:

  • MS-MPC 执行网络监视探测。

  • PFE 执行无状态负载平衡:

    • 定向到虚拟 IP 地址的数据流量经历虚拟 IP 地址到真实服务器 IP 地址的转换,并将虚拟端口转换为服务器侦听端口。返回流量进行反向转换。

    • 客户端到虚拟 IP 流量被转换;流量被路由以到达其目标。

    • 服务器到客户端的流量使用隐式筛选器捕获,并定向到适当的负载平衡下一跃点进行反向处理。转换后,流量将路由回客户端。

    • 有两种负载平衡方法可用:随机和哈希。随机方法仅适用于 UDP 流量,并提供 quavms 随机分布。虽然不是字面上的随机,但此模式将流量公平地分配到一组可用的服务器。哈希方法根据源 IP 地址、目标 IP 地址和协议的任意组合提供哈希密钥。

      注意:

      转换模式处理仅适用于 IPv4 到 IPv4 和 IPv6 到 IPv6 的流量。

图 2 显示了转换模式的 TLB 拓扑。

图 2:转换模式 TLB Topology for Translated Mode的 TLB 拓扑

透明模式第 3 层直接服务器返回

透明模式第 3 层 DSR 负载平衡将会话分配到距离第 3 层跃点的服务器。流量从真实服务器直接返回到客户端。

流量负载均衡器函数

TLB 提供以下功能:

  • TLB 始终分发任何流 的请求 。指定 DSR 模式时,响应将直接返回到源。指定转换模式时,反向流量将通过面向服务器的接口上的隐式过滤器进行引导。

  • TLB 支持基于哈希的负载平衡或随机负载平衡。

  • TLB 使您能够脱机配置服务器,以防止重新哈希所有现有流可能导致的性能影响。您可以添加处于管理关闭状态的服务器,并在以后通过禁用管理关闭状态将其用于流量分配。脱机配置服务器有助于防止流量影响其他服务器。

  • 当运行状况检查确定服务器已关闭时,仅对受影响的流进行哈希处理。

  • 当以前关闭的服务器恢复服务时,基于哈希处理属于该服务器的所有流都会返回给它,从而影响返回流的性能。因此,您可以禁用服务器自动重新加入活动组。您可以通过发出 request services traffic-load-balance real-service rejoin 操作命令使服务器恢复服务。

    注意:

    NAT 不会应用于分布式流。

  • 运行状况检查监视应用程序在 MS-MPC/NPU 上运行。此网络处理器单元 (NPU) 不用于处理数据流量。

  • TLB 支持静态虚拟 IP 地址到真实 IP 地址转换,以及负载平衡期间的静态目标端口转换。

  • TLB 提供多个 VRF 支持。

流量负载均衡器应用程序组件

服务器和服务器组

TLB 允许配置最多包含 255 台服务器的组(在配置语句中称为 实际服务),以用作无状态会话分发的备用目标。在分配给组之前,必须单独配置服务器组中使用的所有服务器。负载平衡使用哈希或随机化进行会话分配。用户可以在 TLB 服务器分布表中添加或删除服务器,还可以更改服务器的管理状态。

注意:

TLB 使用会话分发下一跃点 API 更新服务器分配表并检索统计信息。 应用程序不能直接控制服务器分发表管理。它们只能通过 TLB API 的添加和删除服务间接影响更改

服务器运行状况监控 — 单运行状况检查和双运行状况检查

TLB 支持 TCP、HTTP、SSL Hello、TLS Hello 和自定义运行状况检查探测,以监视组中服务器的运行状况。您可以对服务器组使用单一探测类型,也可以对包含两种探测类型的双运行状况检查配置使用。可配置的运行状况监控功能位于 MX-SPC3 或 MS-MPC 上。默认情况下,探测请求每 5 秒发送一次。此外,默认情况下,真实服务器仅在连续五次探测失败后声明关闭,仅在连续五次探测成功后声明为关闭。

使用自定义运行状况检查探测指定以下内容:

  • 探测响应中的预期字符串

  • 与探测器一起发送的字符串

  • 探测器超时(向上或向下)时要分配的服务器状态

  • 在收到对探测的预期响应(向上或向下)时分配的服务器状态

  • 协议 — UDP 或 TCP

TLB 提供 应用程序粘性,这意味着服务器故障或更改不会影响流向其他活动服务器的流量。将服务器的管理状态从“上到下”不会影响发往服务器分布表中其余服务器的任何活动流量。从组中添加服务器或删除服务器会在一段时间内产生一些流量影响,具体取决于您在监控配置文件中配置的间隔和重试参数。

TLB 提供两个级别的服务器运行状况监视:

  • 单一运行状况检查 — 通过配置语句network-monitoring-profile 一种探测类型附加到服务器组。

  • TLB 双重运行状况检查 (TLB-DHC) — 通过配置语句将 network-monitoring-profile 两种探测类型与一个服务器组相关联。服务器的状态是根据两个运行状况检查探测的结果声明的。用户最多可以为每个服务器组配置两个运行状况检查配置文件。如果服务器组配置了双健康检查,则只有当两个健康检查探针同时开启时,才会将实际服务声明为 UP;否则,实际服务将声明为 DOWN。

注意:

以下限制适用于用于服务器运行状况监控的 AMS 接口:

  • 在 TLB 实例下配置的 AMS 接口仅使用其配置的成员接口对已配置的多个后端服务器的运行状况进行检查。

  • 成员接口对单个 VRF 案例使用单元 0,但对于多个 VRF 案例可以使用 1 以外的单元。

  • TLB 使用 AMS 成员接口配置的 IP 地址作为运行状况检查的源 IP 地址。

  • 成员接口必须与用于访问真实服务器的接口位于同一路由实例中。这对于 TLB 服务器运行状况检查过程是必需的。

虚拟服务

虚拟服务提供一个虚拟 IP 地址 (VIP),该地址与流量定向到的服务器组相关联,该组由基于哈希或随机会话分布和服务器运行状况监控确定。对于第 2 层 DSR 和第 3 层 DSR,特殊地址 0.0.0.0 会导致流向转发实例的所有流量进行负载平衡。

虚拟服务配置包括:

  • 模式 - 指示如何处理流量(转换或透明)。

  • 会话分发到的服务器组。

  • 负载均衡方法。

  • 路由实例和路由指标。

最佳实践:

尽管您可以分配虚拟地址 0.0.0.0 以使用默认路由,但我们建议使用可分配给专门为 TLB 设置的路由实例的虚拟地址。

流量负载均衡器配置限制

表 4 介绍了流量负载均衡器的配置限制。

表 4:TLB 配置限制

配置组件

配置限制

最大实例数。

从 Junos OS 16.1R6 版和 Junos OS 18.2R1 版开始,对于使用直接服务器返回或转换模式的虚拟服务,TLB 应用程序支持 2000 个 TLB 实例。在早期版本中,最大实例数为 32。

如果多个虚拟服务使用相同的服务器组,则所有这些虚拟服务必须使用相同的负载平衡方法来支持 2000 个 TLB 实例。

对于使用第 2 层直接服务器返回模式的虚拟服务,TLB 仅支持 32 个 TLB 实例。要执行与第 2 层直接服务器返回模式相同的功能并支持 2000 个 TLB 实例,您可以使用直接服务器返回模式并使用具有跳过操作的服务过滤器。

每组的最大服务器数

255

每个服务 PIC 的最大虚拟服务数

32

每个服务 PIC 在 5 秒间隔内的最大运行状况检查数

对于 MS-MPC 服务卡:2000

对于新一代服务模式和 MX-SPC3 服务卡:1250

每个虚拟服务的最大组数

1

每个虚拟服务的最大虚拟 IP 地址数

1

支持的运行状况检查协议

ICMP, TCP, HTTP, SSL, TLS-Hello, Custom

注意:

ICMP 运行状况检查仅在 MS-MPC 服务卡上受支持。

从 Junos OS 22.4.1 版开始,TLB 得到增强,可支持 TLS-Hello 运行状况检查类型。对于基于 TCP 的 TLS-Hello,支持 TLS v1.2 和 v1.3 TLS-Hello 运行状况检查。

配置 TLB

以下主题介绍如何配置 TLB。要创建完整的应用程序,还必须定义接口和路由信息。您可以选择定义防火墙过滤器和策略选项,以区分 TLB 流量。

加载 TLB 服务包

在要运行 TLB 的每个服务 PIC 上加载 TLB 服务包。

注意:

对于新一代服务和 MX-SPC3 服务卡,您无需加载此软件包。

要在服务 PIC 上加载 TLB 服务包,请执行以下操作:

  • jservices-traffic-dird加载包。

    例如:

配置 TLB 实例名称

在配置 TLB 之前,请通过在 [edit] 层次结构中配置 system processes sdk-service enable 来启用 SDK 服务进程。

要为 TLB 实例配置名称,请执行以下操作:

  • [edit services traffic-load-balance] 层次结构级别,标识 TLB 实例名称。

    例如:

配置接口和路由信息

要配置接口和路由信息,请执行以下操作:

  1. [edit services traffic-load-balance instance instance-name] 层次结构级别,标识与此实例关联的服务接口。

    例如,在 MS-MPC 上:

    例如,对于 MX-SPC3 上的下一代服务:

  2. 启用将运行状况检查数据包响应从真实服务器路由到您在步骤 1 中确定的服务接口。

    例如,在 MS-MPC 上:

    例如,在 MX-SPC3 上:

  3. 指定为其定义隐式过滤器以向前定向流量的客户端接口。这仅在转换模式下是必需的。

    例如:

  4. 指定用于将数据流量向前路由到服务器的虚拟路由实例。这是 SLT 和第 3 层 DSR 所必需的;对于第 2 层 DSR,它是可选的。

    例如:

  5. 指定为其定义隐式过滤器以将返回流量定向到客户端的服务器接口。
    注意:

    返回流量的隐式筛选器不用于 DSR。

    例如:

  6. (可选)指定用于绕过返回流量运行状况检查的筛选条件。

    例如:

  7. 指定要将相反方向的数据路由到客户端的虚拟路由实例。

    例如:

    注意:

    用于反向路由数据的虚拟路由实例不与 DSR 一起使用。

配置服务器

要为 TLB 实例配置服务器,请执行以下操作:

为要用于下一跃点分发的每个服务器配置逻辑名称和 IP 地址。

例如:

配置网络监控配置文件

网络监控配置文件配置运行状况检查探测,您可以将其分配给会话流量分配到的服务器组。

要配置网络监控配置文件:

  1. 配置用于运行状况监视的探测器类型 — icmp、 、 tcphttpssl-hellotls-hello,custom
    注意:

    icmp 仅在 MS-MPC 卡上支持探测。

    在此版本中,下一代服务和 MX-SPC3 不支持 ICMP 探测。

    • 对于 ICMP 探测:

    • 对于 TCP 探测:

    • 对于 HTTP 探测:

    • 对于 SSL 探测:

    • 对于 TLS-Hello 探测器:

    • 对于自定义探测器:

  2. 配置探测尝试的间隔,以秒为单位(1 到 180)。

    例如:

  3. 配置失败重试次数,之后真实服务器将标记为关闭。

    例如:

  4. 配置恢复重试次数,即成功探测尝试的次数,在此次数之后,服务器将声明启动。

    例如:

配置服务器组

服务器组由通过无状态、基于哈希的会话分发和服务器运行状况监视将流量分配到的服务器组成。

配置服务器组:

  1. 指定一个或多个已配置真实服务器的名称。

    例如:

  2. 当您不想使用默认实例 时 inet.0,请为组配置路由实例。

    例如:

  3. (可选)禁用默认选项,该选项允许服务器在组启动时自动重新加入组。
  4. (可选)配置实例服务接口的逻辑单元以用于运行状况检查。
    1. 指定逻辑单元。

    2. 启用从真实服务器到接口的运行状况检查数据包响应的路由。

    例如:

  5. 配置一个或两个网络监视配置文件,用于监视此组中服务器的运行状况。

    例如:

配置虚拟服务

虚拟服务提供的地址与流量定向到的服务器组相关联,该组由基于哈希或随机会话分布和服务器运行状况监控确定。您可以选择指定过滤器和路由实例来引导 TLB 的流量。

要配置虚拟服务:

  1. [edit services traffic-load-balance instance instance-name] 层次结构级别,为虚拟服务指定非零地址。

    例如:

  2. 指定用于此虚拟服务的服务器组。

    例如:

  3. (可选)指定虚拟服务的路由实例。如果未指定路由实例,则使用默认路由实例。

    例如:

  4. 指定虚拟服务的处理模式。

    例如:

  5. (可选)对于转换模式虚拟服务,允许将虚拟服务下组中所有真实服务器的 IP 地址添加到服务器端筛选器。这样,您就可以在同一接口和 VRF 上配置具有相同侦听端口和协议的两个虚拟服务。
  6. (可选)指定虚拟服务的路由衡量指标。

    例如:

  7. 指定用于负载平衡的方法。您可以指定基于源 IP 地址、目标 IP 地址和协议的任意组合提供哈希密钥的哈希方法,也可以指定 random.

    例如:

    注意:

    如果在虚拟服务的哈希方法和随机方法之间切换,则虚拟服务的统计信息将丢失。

  8. 对于转换模式虚拟服务,请指定要转换的服务,包括虚拟端口、服务器侦听端口和协议。

    例如:

  9. 提交配置。
    注意:

    如果 TLB 实例下没有客户端接口配置,则隐式客户端过滤器(用于 VIP)将附加到在 TLB 实例下配置的客户端 vrf。在这种情况下,转换模式虚拟服务下的路由实例不能与 TLB 实例下配置的客户端 vrf 相同。如果是,则提交失败。

为健康检查监控功能配置跟踪

要为运行状况检查监控功能配置跟踪选项,请执行以下操作:

  1. 指定要为运行状况检查监控功能配置跟踪选项。
  2. (可选)配置用于跟踪输出的文件的名称。
  3. (可选)禁用远程跟踪功能。
  4. (可选)配置标志以筛选要记录的操作。

    表 5 介绍了可以包含的标志。

    表 5:跟踪标志

    国旗

    支持 MS-MPC 和 MX-SPC3 卡

    描述

    所有

    MS-MPC 和 MX-SPC3

    跟踪所有操作。

    全真实服务

    MX-SPC3

    跟踪所有实际服务。

    配置

    MS-MPC 和 MX-SPC3

    跟踪流量负载均衡器配置事件。

    连接

    MS-MPC 和 MX-SPC3

    跟踪流量负载均衡器 IPC 事件。

    数据库

    MS-MPC 和 MX-SPC3

    跟踪数据库事件。

    文件描述符队列

    MS-MPC

    跟踪文件描述符队列事件。

    线程间

    MS-MPC

    跟踪线程间通信事件。

    滤波器

    MS-MPC 和 MX-SPC3

    跟踪流量负载均衡器筛选编程事件。

    健康

    MS-MPC 和 MX-SPC3

    跟踪流量负载均衡器运行状况事件。

    消息

    MS-MPC 和 MX-SPC3

    跟踪正常事件。

    正常

    MS-MPC 和 MX-SPC3

    跟踪正常事件。

    操作命令

    MS-MPC 和 MX-SPC3

    跟踪流量负载均衡器显示事件。

    解析

    MS-MPC 和 MX-SPC3

    跟踪流量负载均衡器分析事件。

    探针

    MS-MPC 和 MX-SPC3

    跟踪探测事件。

    探针-基础设施

    MS-MPC 和 MX-SPC3

    跟踪探测基础结构事件。

    路线

    MS-MPC 和 MX-SPC3

    跟踪流量负载均衡器路由事件。

    Snmp

    MS-MPC 和 MX-SPC3

    跟踪流量负载均衡器 SNMP 事件。

    统计

    MS-MPC 和 MX-SPC3

    跟踪流量负载均衡器统计信息事件。

    系统

    MS-MPC 和 MX-SPC3

    跟踪流量负载均衡器系统事件。

  5. (可选)配置跟踪级别。
  6. (可选)为特定服务器组中的特定真实服务器配置跟踪。
  7. (可选)从 Junos OS 16.1R6 和 18.2R1 版开始,为特定虚拟服务和实例配置跟踪。

更改历史记录表

功能支持由您使用的平台和版本决定。使用功能资源管理器确定您的平台是否支持某个 功能

释放
描述
16.1R6
从 Junos OS 16.1R6 版和 Junos OS 18.2R1 版开始,对于使用直接服务器返回或转换模式的虚拟服务,TLB 应用程序支持 2000 个 TLB 实例。
16.1R6
从 Junos OS 16.1R6 和 18.2R1 版开始,为特定虚拟服务和实例配置跟踪。