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

2,000 / 32 在 L2 DSR 模式下

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、自定义

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 地址的转换,以及负载平衡期间的静态目标端口转换。

流量负载均衡器的作模式

Traffic Load Balancer 提供三种作模式,用于分配传出流量和处理返回流量。

表 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 相关联。服务器的状态是根据两次运行状况检查探测的结果声明的。用户最多可以为每个服务器组配置两个运行状况检查配置文件。如果服务器组配置为双重运行状况检查,则仅当两个运行状况检查探测同时启动时,才会将实际服务声明为启动;否则,将宣布实服务为 DOWN。

注意:

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

  • 在 TLB 实例下配置的 AMS 接口专门使用其配置的成员接口对配置的多台真实服务器进行健康检查。

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

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

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

从 Junos OS 24.2R1 版开始,当 TLS 和 SSL 配置在同一组中时,现在使用 OR 机制而不是 AND 来确定真实服务器的状态。也就是说,如果其中任何一个探测正在工作,则真实服务器将标记为“启动”。以前,只有当两个探测都成功时,才会将真实服务器标记为 UP。

当提供 SSL 探测版本时,它会使用该版本进行探测。如果未指定 SSL 版本,则行为将更改为 从 v3 到 v2 的回退。探测以 SSLv3 开头。如果 SSLv3 探测失败,系统将探测 SSLv2。以前,当未显式提供 version 属性时,探测将使用缺省版本 v3 完成。

注意:

仅当 TLS 和 SSL 探测配置在同一运行状况检查组中时,此运行状况检查行为增强功能才适用。

show services traffic-load-balance statistics instance <inst> extensive 的输出已更改。

user@host# show services traffic-load-balance statistics instance <inst-name>
注意:

当运行状况检查配置文件下未指定 SSL 版本时,SSL-hello 探测版本将从虚拟服务移动到真实服务器统计信息下。

虚拟服务

虚拟服务提供一个虚拟 IP 地址 (VIP),该地址与流量定向的服务器组相关联,具体由基于散列或随机的会话分配以及服务器运行状况监控确定。对于 L2 DSR 和 L3 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 实例。

对于使用layer2-direct-server-return模式的虚拟服务,TLB仅支持32个TLB实例。要执行与 layer2-direct-server-return 模式相同的功能并支持 2000 个 TLB 实例,您可以使用 direct-server-return 模式,并将服务过滤器与跳过作一起使用。

每组最大服务器数

255

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

32

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

对于 MS-MPC 服务卡:2000

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

每项虚拟服务的最大组数

1

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

1

支持的运行状况检查协议

ICMP、TCP、HTTP、SSL、TLS-Hello、自定义

注意:

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

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

配置 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. 配置要用于运行状况监控的探针类型 — icmptcphttpssl-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 版开始,为特定虚拟服务和实例配置跟踪。