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

每个 PIC/NPU 的每个安全服务的最大 # 个 HC,只需 5 秒

4,000

1,250 – 19.3R2

10,000 – 20.1R1

支持的运行状况检查协议

ICMP、TCP、UDP、HTTP、SSL、自定义

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

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

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

注意:

您不能同时运行确定性 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 流量进行转换;流量将被路由以到达其目的地。

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

    • 有两种负载平衡方法:随机和哈希。random 方法仅适用于 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 地址地址转换,以及负载平衡期间的静态目标端口转换。

  • 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 状态时,才会将实际服务声明为 UP;否则,实际服务将被声明为 DOWN。

注意:

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

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

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

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

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

从 Junos OS 24.2R1 版开始,当在同一组中配置 TLS 和 SSL 时,现在使用 OR 机制而不是 AND 来确定实际服务器的状态。也就是说,如果任何一个探测正在工作,则真实服务器将被标记为 UP。以前,只有当两个探测都成功时,真实服务器才会被标记为 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 应用程序支持使用 direct-server-return 或转换模式的虚拟服务的 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 之前,请通过在 [编辑] 层次结构中配置 system processes sdk-service enable 来启用 sdk-service 进程。

要为 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. 指定一个或多个已配置的 Real Server 的名称。

    例如:

  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 实例下配置的 client-vrf 相同。如果是,则提交失败。

配置运行状况检查监控功能的跟踪

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

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

    表 5 描述了可以包含的标志。

    表 5:跟踪标志

    MS-MPC 和 MX-SPC3 卡支持

    描述

    MS-MPC 和 MX-SPC3

    跟踪所有操作。

    all-real-services

    MX-SPC3

    跟踪所有真实服务。

    配置

    MS-MPC 和 MX-SPC3

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

    连接

    MS-MPC 和 MX-SPC3

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

    数据库

    MS-MPC 和 MX-SPC3

    跟踪数据库事件。

    file-descriptor-queue

    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 应用程序支持使用 direct-server-return 或转换模式的虚拟服务的 2000 个 TLB 实例。
16.1R6
从 Junos OS 16.1R6 和 18.2R1 版开始,为特定的虚拟服务和实例配置跟踪。