08-负载均衡配置
本章节下载: 08-负载均衡配置 (676.73 KB)
LB(Load Balance,负载均衡)是一种集群技术,它将特定的业务(网络服务、网络流量等)分担给多台网络设备(包括服务器、防火墙等)或多条链路,从而提高了业务处理能力,保证了业务的高可靠性。
负载均衡技术具有以下优势:
· 高性能:通过将业务较均衡地分配到多台设备或多条链路上,提高了系统的整体性能。
· 可扩展性:可以方便地增加集群中设备或链路的数量,在不降低业务质量的前提下满足不断增长的业务需求。
· 高可靠性:单个甚至多个设备或链路发生故障也不会导致业务中断,提高了系统的整体可靠性。
· 可管理性:大量的管理工作都集中在应用了负载均衡技术的设备上,集群中的设备或链路只需要进行普通的配置和维护。
· 透明性:对用户而言,集群等同于一个可靠性高、性能好的设备或链路,用户感知不到也不必关心具体的网络结构。增减集群中的设备或链路不会影响正常业务。
负载均衡技术可分为以下几种类型:
· 服务器负载均衡:在数据中心等组网中,通过此技术可将网络服务分担给多台服务器或防火墙进行处理,从而提高服务器或防火墙的处理能力。
· 链路负载均衡:当存在多条运营商链路时,通过此技术可实现链路的动态选择,从而充分利用多条链路。链路负载均衡支持IPv4与IPv6,但不支持IPv4报文与IPv6报文的互相转换。本设备仅支持出方向链路负载均衡,当内网用户访问外部互联网存在多条链路时,可在多条链路上分担内网用户访问外部互联网的流量。全局负载均衡:当用户构建了多个数据中心共同对外提供时,通过此技术可对这些数据中心进行协调,选择最优的数据中心来提供服务,并且可在多个数据中心之间进行远程灾备,从而提高服务的可靠性。
下面将对上述几种负载均衡技术分别进行介绍。
服务器负载均衡:可识别网络层和传输层信息,是基于流的负载均衡,通过对报文进行逐流分发,将同一条流的报文分发给同一台服务器。
服务器负载均衡支持IPv4与IPv6,但四层服务器负载均衡不支持IPv4报文与IPv6报文的互相转换。
服务器负载均衡在网络中的部署模式有NAT(Network Address Translation,网络地址转换)模式和旁路模式两种,以下分别进行介绍。
图2-1 NAT模式组网图
如图2-1所示,NAT模式服务器负载均衡包含以下要素:
· Cluster(集群):对外提供特定服务的集合,包括负载均衡设备和服务器。
· LB device(负载均衡设备):负责将各种服务请求分发到多台服务器。
· Server(服务器):负责响应和处理各种服务请求。
· VSIP(Virtual Service IP,虚服务IP):集群对外提供服务的IP地址,供用户请求服务时使用。
· Server IP(服务器IP):供负载均衡设备分发服务请求时使用。
NAT模式服务器负载均衡有以下三种实现方式:
· DNAT(Destination Network Address Translation,目的网络地址转换)方式
· SNAT(Source Network Address Translation,源网络地址转换)方式
· DNAT+SNAT方式
在DNAT方式下,服务器需要通过更改缺省网关或配置静态路由,将发往主机的数据包发送到负载均衡设备上。DNAT方式的工作流程如图2-2所示。
图2-2 DNAT方式工作流程图
DNAT方式的工作流程简述如表2-1所示。
表2-1 DNAT方式工作流程简述
步骤 |
描述 |
源IP地址 |
目的IP地址 |
(1) |
主机发送服务请求报文 |
Host IP |
VSIP |
(2) |
负载均衡设备收到请求报文后,借助调度算法算出应将此请求分发给哪台服务器 |
- |
- |
(3) |
负载均衡设备使用DNAT技术分发请求报文,把报文的目的IP地址修改为服务器的IP地址 |
Host IP |
Server IP |
(4) |
服务器接收并处理请求报文,返回响应报文 |
Server IP |
Host IP |
(5) |
负载均衡设备收到响应报文后,将其源IP地址修改为VSIP后转发给主机 |
VSIP |
Host IP |
SNAT方式除了要求在服务器一侧在所有服务器上配置与VSIP相同的LoopBack接口地址外,还要求配置SNAT地址池所分配IP地址的路由。由于此方式的使用场景十分有限,因此并不推荐用户使用,本文也不对其进行详细介绍。
DNAT+SNAT方式的工作流程如图2-3所示。
图2-3 DNAT+SNAT方式工作流程图
表2-2 DNAT+SNAT方式工作流程简述
步骤 |
描述 |
源IP地址 |
目的IP地址 |
(1) |
主机发送服务请求报文 |
Host IP |
VSIP |
(2) |
负载均衡设备收到请求报文后,借助调度算法算出应将此请求分发给哪台服务器 |
- |
- |
(3) |
负载均衡设备使用DNAT+SNAT技术分发请求报文,把报文的目的IP地址修改为服务器的IP地址、源IP地址修改为SNAT地址池中的IP地址 |
SNAT IP |
Server IP |
(4) |
服务器接收并处理请求报文,返回响应报文 |
Server IP |
SNAT IP |
(5) |
负载均衡设备收到响应报文后,将其源IP地址修改为VSIP、目的IP地址修改为主机的IP地址后转发给主机 |
VSIP |
Host IP |
如图2-4所示,旁路模式服务器负载均衡包含以下要素:
· Cluster:对外提供特定服务的集合,包括负载均衡设备、普通设备和服务器。
· LB device:负责将各种服务请求分发到多台服务器。
· General device:按照正常的转发规则转发数据。
· Server:负责响应和处理各种服务请求。
· VSIP:集群对外提供服务的IP地址,供用户请求服务时使用。
· Server IP:供负载均衡设备分发服务请求时使用。
旁路模式又称单臂模式。在此模式下,需在负载均衡设备和服务器上都配置VSIP(要求服务器不能通过VSIP发送和响应ARP请求,比如可将VSIP配置在服务器的LoopBack接口上)。旁路模式服务器负载均衡的工作流程如图2-5所示。
旁路模式服务器负载均衡的工作流程简述如表2-3所示。由于此模式下服务器发出的报文不会经过负载均衡设备,因此其应用有一定局限性。
步骤 |
描述 |
源IP地址 |
目的IP地址 |
(1) |
主机发送服务请求报文 |
Host IP |
VSIP |
(2) |
普通设备收到请求报文后,转发给负载均衡设备(由于服务器不能通过VSIP发送和响应ARP请求,因此不会转发给服务器) |
Host IP |
VSIP |
(3) |
负载均衡设备收到请求报文后,借助调度算法算出应将此请求分发给哪台服务器 |
- |
- |
(4) |
负载均衡设备分发请求报文。与NAT模式相比,本模式下报文的源IP地址和目的IP地址均未被改变 |
Host IP |
VSIP |
(5) |
服务器接收并处理请求报文,返回响应报文 |
VSIP |
Host IP |
(6) |
普通设备收到响应报文后,直接转发给主机 |
VSIP |
Host IP |
配置任务 |
说明 |
详细配置 |
配置实服务组 |
必选 |
|
配置实服务器 |
必选 |
|
配置虚服务器 |
必选 |
|
配置负载均衡类 |
可选 |
|
配置负载均衡动作 |
可选 |
|
配置负载均衡策略 |
可选 |
|
配置持续性组 |
可选 |
|
配置参数模板 |
可选 |
|
配置负载均衡连接数限制 |
可选 |
|
配置负载均衡告警功能 |
可选 |
|
配置负载均衡ALG功能 |
可选 |
|
测试负载均衡效果 |
可选 |
· 实服务组:将具有相同或相似功能的实服务器抽象成一个实服务组。实服务组可被虚服务器或负载均衡动作引用。
· 实服务器:负载均衡设备上处理用户业务的实体。
· 虚服务器:负载均衡设备上面向用户业务的虚拟载体,只有匹配上虚服务器的报文才需要进行负载均衡处理。
· 负载均衡类:将报文分类,以便对不同类型的报文执行不同的负载均衡动作。
· 负载均衡动作:制订丢弃、转发或修改报文的具体行为。
· 负载均衡策略:将负载均衡类和负载均衡动作关联起来就构成了负载均衡策略。负载均衡策略可被虚服务器引用。
· 持续性组:根据某持续性方法将具有一定相关性的会话都分配给同一个实服务器处理。持续性组可被虚服务器或负载均衡动作引用。
· 参数模板:制订对报文进行更深入处理的模板。参数模板可被虚服务器引用。
为了便于对实服务器进行统一管理,可将具有相同或相似功能的实服务器抽象成一个组,称为实服务组。比如,可按存储内容的不同划分为歌曲服务器组、视频服务器组和图片服务器组等。
当设备支持服务器负载均衡License功能但尚未安装License时,不允许配置实服务组;当设备不支持服务器负载均衡License功能,或支持服务器负载均衡License功能且安装有License时,才允许配置。
表2-5 配置任务简介(四层)
配置任务 |
说明 |
详细配置 |
创建实服务组 |
必选 |
|
调度实服务器 |
必选 |
|
配置NAT功能 |
必选 |
|
配置可用条件 |
必选 |
|
配置温暖上线功能 |
可选 |
|
配置健康检测功能 |
可选 |
|
配置故障处理方式 |
可选 |
表2-6 创建实服务组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建实服务组,并进入实服务组视图 |
server-farm server-farm-name |
缺省情况下,不存在任何实服务组 |
(可选)配置实服务组的描述信息 |
description text |
缺省情况下,实服务组没有描述信息 |
负载均衡设备根据实服务组中配置的调度算法,计算出处理用户请求的实服务器。
表2-7 调度实服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入实服务组视图 |
server-farm server-farm-name |
- |
配置实服务组的调度算法 |
predictor hash address { destination | source | source-ip-port } [ mask mask-length ] [ prefix prefix-length ] predictor { least-connection | random | round-robin } |
缺省情况下,实服务组的调度算法为加权轮转算法 |
配置实服务组中可被调度算法调用的实服务器数量限制 |
selected-server min min-number max max-number |
缺省情况下,实服务组中调用优先级最高的实服务器全部被调度算法调用 |
服务器负载均衡在网络中的部署模式有NAT模式和旁路模式两种,这两种模式下的NAT功能配置有所区别,以下分别进行介绍。
在旁路模式下,需要在实服务组中关闭NAT功能。
表2-8 配置旁路模式的NAT功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入实服务组视图 |
server-farm server-farm-name |
- |
在实服务组中关闭NAT功能 |
transparent enable |
缺省情况下,实服务组中的NAT功能处于开启状态 |
NAT模式又分为DNAT、SNAT和DNAT+SNAT这三种实现方式,对于DNAT方式,只需在实服务组中开启NAT功能即可;而对于SNAT和DNAT+SNAT这两种方式,还需创建SNAT地址池并在实服务组中引用。
SNAT地址池是一个IP地址范围,它被实服务组引用之后,负载均衡设备将把收到报文的源IP地址修改为SNAT地址池中的IP地址后再转发出去。
一个SNAT地址池中最多允许有256个IPv4地址和65536个IPv6地址,且不同SNAT地址池中的IPv4或IPv6地址不允许重叠。
表2-9 配置NAT模式的NAT功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建SNAT地址池,并进入SNAT地址池视图 |
loadbalance snat-pool pool-name |
缺省情况下,不存在任何SNAT地址池 DNAT方式请跳过本步骤 |
(可选)配置SNAT地址池的描述信息 |
description text |
缺省情况下,SNAT地址池没有描述信息 DNAT方式请跳过本步骤 |
配置SNAT地址池的IPv4地址范围 |
ip range start start-ipv4-address end end-ipv4-address |
二者选其一 缺省情况下,没有配置SNAT地址池的IP地址范围 DNAT方式请跳过本步骤 |
配置SNAT地址池的IPv6地址范围 |
ipv6 range start start-ipv6-address end end-ipv6-address |
|
退回系统视图 |
quit |
- |
进入实服务组视图 |
server-farm server-farm-name |
- |
在实服务组中开启NAT功能 |
undo transparent enable |
缺省情况下,实服务组中的NAT功能处于开启状态 |
指定实服务组引用的SNAT地址池 |
snat-pool pool-name |
缺省情况下,实服务组没有引用任何SNAT地址池 DNAT方式请跳过本步骤 |
通过配置实服务组的可用条件,可将流量在主用实服务组和备用实服务组之间进行切换:当主用实服务组中的实服务器可用率低于下限时,将流量切换到备用实服务组上,以防止服务器受到大流量的冲击;待主用实服务组中的实服务器可用率恢复到上限时,再将流量切换回来。
表2-10 配置可用条件
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入实服务组视图 |
server-farm server-farm-name |
- |
配置实服务组的可用条件 |
activate lower lower-percentage upper upper-percentage |
缺省情况下,实服务组中只要有一个实服务器可用,该实服务组就被认为可用 |
当向实服务组中添加实服务器时,某些新增的实服务器无法立即承担大量业务,此时可以开启温暖上线功能。这样,当实服务器上线后,在准备时间内,负载均衡设备不会向其分配任何业务;准备时间超时后,负载均衡设备在爬升时间内会逐步增加向其分配的业务量;爬升时间超时后,负载均衡设备开始向其正常分配业务。
表2-11 配置温暖上线功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入实服务组视图 |
server-farm server-farm-name |
- |
在实服务组中开启实服务器温暖上线功能 |
slow-online [ standby-time standby-time ramp-up-time ramp-up-time ] |
缺省情况下,实服务组中的实服务器温暖上线功能处于关闭状态 |
通过健康检测可以对实服务器进行检测,保证其能够提供有效的服务。
用户既可在实服务组视图下对组内的所有实服务器进行配置,也可在实服务器视图下只对当前实服务器进行配置,后者的配置优先级较高。
表2-12 配置健康检测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入实服务组视图 |
server-farm server-farm-name |
- |
指定实服务组的健康检测方法 |
probe template-name |
缺省情况下,没有指定实服务组的健康检测方法 |
配置实服务组健康检测的成功条件 |
success-criteria { all | at-least min-number } |
缺省情况下,只有全部方法都通过检测才认为健康检测成功 |
通过本配置可以选择实服务组的故障处理方式:
· 保持已有连接:不主动断开与故障实服务器的连接,连接继续保持还是断开将由协议自身的超时机制决定。
· 重定向连接:把连接重定向到实服务组中其它可用的实服务器上。
· 断开已有连接:主动断开与故障实服务器的连接。对于TCP报文,将发送RST报文;对于其它类型的报文,将发送ICMP不可达报文。
表2-13 配置故障处理方式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入实服务组视图 |
server-farm server-farm-name |
- |
配置实服务组的故障处理方式 |
fail-action { keep | reschedule | reset } |
缺省情况下,实服务组的故障处理方式为保持已有连接 |
实服务器是负载均衡设备上处理用户业务的实体。一个实服务器只能属于一个实服务组,而一个实服务组可以包含多个实服务器。
当设备支持服务器负载均衡License功能但尚未安装License时,不允许配置实服务器;当设备不支持服务器负载均衡License功能,或支持服务器负载均衡License功能且安装有License时,才允许配置。
表2-14 配置任务简介(四层)
配置任务 |
说明 |
详细配置 |
创建实服务器并指定其所属实服务组 |
必选 |
|
配置IP地址和端口号 |
必选 |
|
配置权值和调用优先级 |
必选 |
|
配置带宽和连接参数 |
可选 |
|
配置健康检测功能 |
可选 |
|
慢宕实服务器 |
可选 |
表2-15 创建实服务器并指定其所属实服务组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建实服务器,并进入实服务器视图 |
real-server real-server-name |
缺省情况下,不存在任何实服务器 |
(可选)配置实服务器的描述信息 |
description text |
缺省情况下,实服务器没有描述信息 |
指定实服务器所属的实服务组 |
server-farm server-farm-name |
缺省情况下,实服务器不属于任何实服务组 |
通过本配置可以指定实服务器的IPv4或IPv6地址,以及实服务器的端口号。
表2-16 配置IP地址和端口号
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入实服务器视图 |
real-server real-server-name |
- |
配置实服务器的IPv4地址 |
ip address ipv4-address |
二者选其一 缺省情况下,实服务器没有IP地址 |
配置实服务器的IPv6地址 |
ipv6 address ipv6-address |
|
配置实服务器的端口号 |
port port-number |
缺省情况下,实服务器的端口号为0(表示继续使用原报文携带的端口号) |
通过本配置可以调整实服务器的加权轮转和加权最小连接这两种调度算法所使用的权值,以及实服务器在实服务组中的调用优先级。
表2-17 配置权值和调用优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入实服务器视图 |
real-server real-server-name |
- |
配置实服务器的权值 |
weight weight-value |
缺省情况下,实服务器的权值为100 |
配置实服务器的调用优先级 |
priority priority |
缺省情况下,实服务器的调用优先级为4 |
通过本配置可以调整实服务器所允许的最大带宽、最大连接数和每秒最大连接数三个参数值。
表2-18 配置带宽和连接参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入实服务器视图 |
real-server real-server-name |
- |
配置实服务器所允许的最大带宽 |
rate-limit bandwidth [ inbound | outbound ] bandwidth-value |
缺省情况下,实服务器所允许的最大总带宽、最大入带宽和最大出带宽均为0千字节/秒,即不受限制 |
配置实服务器所允许的最大连接数 |
connection-limit max max-number |
缺省情况下,实服务器所允许的最大连接数为0,即不受限制 |
配置实服务器所允许的每秒最大连接数 |
rate-limit connection connection-number |
缺省情况下,实服务器所允许的每秒最大连接数为0,即不受限制 |
通过健康检测可以对实服务器进行检测,保证其能够提供有效的服务。
用户既可在实服务组视图下对组内的所有实服务器进行配置,也可在实服务器视图下只对当前实服务器进行配置,后者的配置优先级较高。
表2-19 配置健康检测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入实服务器视图 |
real-server real-server-name |
- |
指定实服务器的健康检测方法 |
probe template-name |
缺省情况下,没有指定实服务器的健康检测方法 |
配置实服务器健康检测的成功条件 |
success-criteria { all | at-least min-number } |
缺省情况下,只有全部方法都通过检测才认为健康检测成功 |
通过shutdown命令可以立即中断实服务器的已有连接,而慢宕则不会立即中断实服务器的已有连接,而是让其自然老化,并且不再建立新的连接。慢宕功能需要与shutdown命令配合使用,即在开启了慢宕功能之后再关闭实服务器,该实服务器才会开始慢宕。
表2-20 慢宕实服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入实服务器视图 |
real-server real-server-name |
- |
开启实服务器的慢宕功能 |
slow-shutdown enable |
缺省情况下,实服务器的慢宕功能处于关闭状态 |
关闭实服务器 |
shutdown |
缺省情况下,实服务器处于开启状态 |
虚服务器是负载均衡设备上面向用户业务的虚拟载体,是为了判断是否需要对进入负载均衡设备的报文进行负载均衡而引入的概念。只有匹配上虚服务器的报文才会被进行负载均衡处理。
服务器负载均衡支持的虚服务器类型为IP、TCP和UDP。
表2-21 配置任务简介(四层)
配置任务 |
说明 |
详细配置 |
创建虚服务器 |
必选 |
|
配置VSIP和端口号 |
必选 |
|
指定虚服务器所属的VPN |
可选 |
|
指定缺省实服务组 |
至少选其一 如果同时配置,报文会被优先交给负载均衡策略处理,当负载均衡策略无法处理时才交给缺省实服务组处理 |
|
引用负载均衡策略 |
||
引用参数模板 |
可选 |
|
配置带宽和连接参数 |
可选 |
|
配置UDP强制负载均衡功能 |
可选 |
|
配置热备份功能 |
可选 |
|
引用负载均衡连接数限制策略 |
可选 |
|
开启虚服务器 |
必选 |
|
开启虚服务器IP地址下发功能 |
可选 |
当设备支持服务器负载均衡License功能但尚未安装License时,不允许配置TCP和UDP类型的虚服务器;当设备不支持服务器负载均衡License功能,或支持服务器负载均衡License功能且安装有License时,才允许配置TCP和UDP类型的虚服务器。
四层服务器负载均衡的虚服务器包括IP、TCP和UDP三种类型。
表2-22 创建虚服务器(四层)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建IP、TCP或UDP类型的虚服务器,并进入虚服务器视图 |
virtual-server virtual-server-name type { ip | tcp | udp } |
缺省情况下,不存在任何虚服务器 创建虚服务器时必须为其指定类型;而在进入已创建的虚服务器视图时可以不指定类型,但若要指定类型,则必须与创建时的类型一致 |
(可选)配置虚服务器的描述信息 |
description text |
缺省情况下,虚服务器没有描述信息 |
通过本配置可以指定虚服务器的IPv4或IPv6地址(即VSIP),以及虚服务器的端口号。
表2-23 配置VSIP和端口号(四层)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IP、TCP或UDP类型的虚服务器视图 |
virtual-server virtual-server-name |
- |
配置虚服务器的IPv4地址 |
virtual ip address ipv4-address [ mask-length | mask ] |
二者选其一 缺省情况下,虚服务器没有IP地址 |
配置虚服务器的IPv6地址 |
virtual ipv6 address ipv6-address [ prefix-length ] |
|
配置虚服务器的端口号 |
port port-number |
缺省情况下,IP/TCP/UDP类型虚服务器的端口号为0(表示任意端口号) |
虚服务器缺省服务于公网,通过本配置可使虚服务器服务于特定的VPN。
表2-24 指定虚服务器所属的VPN
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
指定虚服务器所属的VPN |
vpn-instance vpn-instance-name |
缺省情况下,虚服务器属于公网 |
当主用实服务组可用(该实服务组存在且有可用的实服务器)时,虚服务器通过主用实服务组进行转发;当主用实服务组不可用而备用实服务组可用时,虚服务器通过备用实服务组进行转发。
表2-25 指定缺省实服务组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
指定缺省实服务组 |
default server-farm server-farm-name [ backup backup-server-farm-name ] [ sticky sticky-name ] |
缺省情况下,没有指定缺省实服务组 |
虚服务器引用负载均衡策略,能够细化虚服务器负载均衡的粒度。根据策略中的匹配规则,使命中虚服务器的报文根据不同的报文内容进行不同的负载均衡处理,从而有效地丰富了负载均衡的负载功能。
表2-26 引用负载均衡策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
指定虚服务器引用的负载均衡策略 |
lb-policy policy-name |
缺省情况下,虚服务器没有引用任何负载均衡策略 虚服务器只能引用与自身类型相关的策略模板,如:IP、TCP和UDP类型的虚服务器,只能引用通用类型的策略模板 |
参数模板用来对虚服务器上的流量进行比较深入的解析、处理和优化。虚服务器引用了参数模板后,就要根据该参数模板的配置对匹配流量进行相应的处理。
表2-27 引用参数模板(四层)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IP、TCP或UDP类型的虚服务器视图 |
virtual-server virtual-server-name |
- |
指定虚服务器引用的参数模板 |
parameter ip profile-name |
缺省情况下,虚服务器没有引用任何参数模板 |
通过本配置可以调整虚服务器所允许的最大带宽、最大连接数和每秒最大连接数三个参数值。
表2-28 配置带宽和连接参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
配置虚服务器所允许的最大带宽 |
rate-limit bandwidth [ inbound | outbound ] bandwidth-value |
缺省情况下,虚服务器所允许的最大总带宽、最大入带宽和最大出带宽均为0千字节/秒,即不受限制 |
配置虚服务器所允许的最大连接数 |
connection-limit max max-number |
缺省情况下,虚服务器所允许的最大连接数为0,即不受限制 |
配置虚服务器所允许的每秒最大连接数 |
rate-limit connection connection-number |
缺省情况下,虚服务器所允许的每秒最大连接数为0,即不受限制 |
当UDP强制负载均衡功能关闭时,匹配虚服务器的流量按照数据流来进行负载均衡,即一个应用的流量会被负载均衡到同一个实服务器上;而当UDP强制负载均衡功能开启后,匹配虚服务器的流量不再按照流来进行负载均衡,而是按照每报文来进行负载均衡。
表2-29 配置UDP强制负载均衡功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入UDP类型的虚服务器视图 |
virtual-server virtual-server-name |
- |
开启虚服务器的UDP强制负载均衡功能 |
udp per-packet |
缺省情况下,虚服务器的UDP强制负载均衡功能处于关闭状态 |
配置热备份功能时,为达到主备切换时业务不中断的目的,需要在虚服务器下开启会话扩展信息和持续性表项的备份功能。
在开启虚服务器的持续性表项备份功能之前,请确保主用和备用设备上均不存在持续性表项。可以通过先开启持续性表项备份功能,再引用持续性组,保证备份前设备上不存在持续性表项。
表2-30 配置热备份功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
开启虚服务器的会话扩展信息备份功能 |
connection-sync enable |
缺省情况下,虚服务器的会话扩展信息备份功能处于关闭状态 |
开启虚服务器的持续性表项备份功能 |
sticky-sync enable |
缺省情况下,虚服务器的持续性表项备份功能处于关闭状态 |
引用负载均衡连接数限制策略后,访问虚服务器的连接数将会受到连接数限制策略的限制。
表2-31 引用负载均衡连接数限制策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
引用负载均衡连接数限制策略 |
lb-limit-policy policy-name |
缺省情况下,虚服服器中没有引用任何负载均衡连接数限制策略 |
配置完虚服务器后,需要将其开启后才能进入工作状态。
表2-32 开启虚服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
开启虚服务器 |
service enable |
缺省情况下,虚服务器处于关闭状态 |
在多数据中心的容灾备份组网中,通过在各数据中心的负载均衡设备上开启虚服务器IP地址下发功能,可以实现多数据中心之间的全局负载均衡。
开启虚服务器IP地址下发功能后,设备会将虚服务器的IP地址发布给OSPF模块参与路由计算,
当数据中心进行切换的时候,保证访问虚服务器的流量也可以自动切换,从而提高负载均衡服务的可靠性。有关OSPF的配置请参见“三层技术-IP路由”中的“OSPF”。
表2-33 开启虚服务器IP地址下发功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
开启虚服务器IP地址下发功能 |
route-advertisement enable |
缺省情况下,虚服务器IP地址下发功能处于关闭状态 |
负载均衡类的作用是将报文分类,即通过匹配规则将报文按照一定条件进行匹配,以便将不同类型的报文在不同的负载均衡动作流程中处理。一个负载均衡类中最多允许创建65535条匹配规则。
表2-34 配置任务简介(四层)
配置任务 |
说明 |
详细配置 |
|
创建负载均衡类 |
必选 |
||
创建匹配规则 |
创建嵌套类的匹配规则 |
至少选其一 |
|
创建源IP地址类型的匹配规则 |
|||
创建ACL类型的匹配规则 |
当设备支持服务器负载均衡License功能但尚未安装License时,不允许配置Generic类型的负载均衡类;当设备不支持服务器负载均衡License功能,或支持服务器负载均衡License功能且安装有License时,才允许配置Generic类型的负载均衡类。
表2-35 创建负载均衡类(四层)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建通用类型的负载均衡类,并进入负载均衡类视图 |
loadbalance class class-name type generic [ match-all | match-any ] |
缺省情况下,不存在任何负载均衡类 创建负载均衡类时必须为其指定类型;而在进入已创建的负载均衡类视图时可以不指定类型,但若要指定类型,则必须与创建时的类型一致 |
(可选)配置负载均衡类的描述信息 |
description text |
缺省情况下,负载均衡类没有描述信息 |
表2-36 创建嵌套类的匹配规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡类视图 |
loadbalance class class-name |
- |
创建嵌套类的匹配规则 |
match [ match-id ] class class-name |
缺省情况下,负载均衡类中不存在任何匹配规则 |
表2-37 创建源IP地址类型的匹配规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡类视图 |
loadbalance class class-name |
- |
创建源IP地址类型的匹配规则 |
match [ match-id ] source { ip address ipv4-address [ mask-length | mask ] | ipv6 address ipv6-address [ prefix-length ] } |
缺省情况下,负载均衡类中不存在任何匹配规则 |
表2-38 创建ACL类型的匹配规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡类视图 |
loadbalance class class-name |
- |
创建ACL类型的匹配规则 |
match [ match-id ] acl [ ipv6 ] { acl-number | name acl-name } |
缺省情况下,负载均衡类中不存在任何匹配规则 |
负载均衡动作可分为两大类:
· 转发类动作:确定是否转发以及如何转发报文。如果没有配置转发类动作,报文将被丢弃处理。
· 修改类动作:对报文执行一些修改行为。修改类动作应配合转发类动作使用,否则修改后的报文终将被丢弃。
如果用户想对报文进行丢弃处理,则可在创建负载均衡动作后,不为其指定任何上述动作。
表2-39 配置任务简介(四层)
配置任务 |
说明 |
详细配置 |
|
创建负载均衡动作 |
必选 |
||
配置转发类动作 |
配置报文的转发模式为转发 |
可选其一 这两条命令互斥,当配置了其中一条后,另一条的配置将被自动取消 |
|
指定指导转发的实服务组 |
当设备支持服务器负载均衡License功能但尚未安装License时,不允许配置Generic类型的负载均衡动作;当设备不支持服务器负载均衡License功能,或支持服务器负载均衡License功能且安装有License时,才允许配置Generic类型的负载均衡动作。
表2-40 创建负载均衡动作(四层)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建通用类型的负载均衡动作,并进入负载均衡动作视图 |
loadbalance action action-name type generic |
缺省情况下,不存在任何负载均衡动作 创建负载均衡动作时必须为其指定类型;而在进入已创建的负载均衡动作视图时可以不指定类型,但若要指定类型,则必须与创建时的类型一致 |
(可选)配置负载均衡动作的描述信息 |
description text |
缺省情况下,负载均衡动作没有描述信息 |
表2-41 配置报文的转发模式为转发
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入通用类型的负载均衡动作视图 |
loadbalance action action-name |
- |
配置报文的转发模式为转发 |
forward all |
缺省情况下,报文转发模式为丢弃 |
当主用实服务组可用(该实服务组存在且有可用的实服务器)时,使用主用实服务组指导转发;当主用实服务组不可用而备用实服务组可用时,使用备用实服务组指导转发。
表2-42 指定指导转发的实服务组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡动作视图 |
loadbalance action action-name |
- |
指定指导转发的实服务组 |
server-farm server-farm-name [ backup backup-server-farm-name ] [ sticky sticky-name ] |
缺省情况下,没有指定指导转发的实服务组 |
将负载均衡类和负载均衡动作关联起来就构成了负载均衡策略。负载均衡策略是指导报文转发的一种方式,用户可以为匹配特定负载均衡类的报文指定执行的负载均衡动作,以及为未匹配任何负载均衡类的报文指定缺省负载均衡动作。
用户可以在一个负载均衡策略中指定多个负载均衡类,转发报文时会按照配置顺序来匹配负载均衡类,匹配成功则执行相应的负载均衡动作,否则继续匹配下一条负载均衡类。如果所有负载均衡类均未匹配,则执行缺省负载均衡动作。
表2-43 配置任务简介(四层)
当设备支持服务器负载均衡License功能但尚未安装License时,不允许配置Generic类型的负载均衡策略;当设备不支持服务器负载均衡License功能,或支持服务器负载均衡License功能且安装有License时,才允许配置Generic类型的负载均衡策略。
表2-44 创建负载均衡策略(四层)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建通用类型的负载均衡策略,并进入负载均衡策略视图 |
loadbalance policy policy-name type generic |
缺省情况下,不存在任何负载均衡策略 创建负载均衡策略时必须为其指定类型;而在进入已创建的负载均衡策略视图时可以不指定类型,但若要指定类型,则必须与创建时的类型一致 |
(可选)配置负载均衡策略的描述信息 |
description text |
缺省情况下,负载均衡策略没有描述信息 |
通用类型的负载均衡策略只能引用通用类型的负载均衡类和负载均衡动作。
表2-45 指定负载均衡动作
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡策略视图 |
loadbalance policy policy-name |
- |
为负载均衡类指定负载均衡动作 |
class class-name [ insert-before before-class-name ] action action-name |
缺省情况下,没有为任何负载均衡类指定负载均衡动作 不同的负载均衡类可以与同一负载均衡动作组成匹配规则 |
通用类型的负载均衡策略只能用通用类型的负载均衡动作作为其缺省负载均衡动作。
表2-46 指定缺省负载均衡动作
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡策略视图 |
loadbalance policy policy-name |
- |
指定缺省负载均衡动作 |
default-class action action-name |
缺省情况下,未指定缺省负载均衡动作 |
持续性组的作用是根据某持续性方法将具有一定相关性的会话都分配给同一个实服务器处理,这个分配规则就称为持续性表项。在一个会话中,当其首包通过持续性方法选择了实服务器之后,后续包都会沿用这个选择结果。
表2-47 配置任务简介(四层)
配置任务 |
说明 |
详细配置 |
|
创建持续性组 |
必选 |
||
配置持续性方法 |
配置IP持续性方法 |
必选 |
|
配置持续性表项超时时间 |
可选 |
||
开启匹配持续性表项的会话不受连接数限制影响功能 |
可选 |
||
当设备支持服务器负载均衡License功能但尚未安装License时,仅允许配置address-port类型的持续性组;当设备不支持服务器负载均衡License功能,或支持服务器负载均衡License功能且安装有License时,才允许配置所有类型的持续性组。
表2-48 创建持续性组(四层)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建地址端口类型的持续性组,并进入持续性组视图 |
sticky-group group-name type address-port |
缺省情况下,不存在任何持续性组 创建持续性组时必须为其指定类型;而在进入已创建的持续性组视图时可以不指定类型,但若要指定类型,则必须与创建时的类型一致 |
(可选)配置持续性组的描述信息 |
description text |
缺省情况下,持续性组没有描述信息 |
表2-49 配置IP持续性方法
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入持续性组视图 |
sticky-group group-name |
- |
配置IPv4持续性方法 |
ip [ port ] { both | destination | source } [ mask mask-length ] |
二者选其一 缺省情况下,不存在任何持续性方法 |
配置IPv6持续性方法 |
ipv6 [ port ] { both | destination | source } [ prefix prefix-length ] |
表2-50 配置持续性表项超时时间
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入持续性组视图 |
sticky-group group-name |
- |
配置持续性表项的超时时间 |
timeout timeout-value |
缺省情况下,对于HTTP Cookie类型的持续性组,持续性表项的超时时间为86400秒;对于其它类型的持续性组,持续性表项的超时时间为60秒 |
开启该功能后,如果该连接匹配了已有的持续性表项,将不受实服务器上带宽及连接参数的影响,也不受虚服务器上引用的负载均衡策略连接数限制的影响。
表2-51 开启匹配持续性表项的会话不受连接数限制影响功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入持续性组视图 |
sticky-group group-name |
- |
开启匹配持续性表项的会话不受连接数限制影响功能 |
override-limit enable |
缺省情况下,匹配持续性表项的会话受连接数限制配置的影响 |
四层服务器负载均衡的参数模板配置有所区别,下面分别进行介绍。
表2-52 配置任务简介(四层)
通过配置参数模板可以制订对报文进行更深入处理的模板。这样,当参数模板被虚服务器引用之后,可以对虚服务器的业务流量进行更深入的解析、处理和优化。
表2-53 创建参数模板(四层)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建IP类型的参数模板,并进入参数模板视图 |
parameter-profile profile-name type ip |
缺省情况下,不存在任何参数模板 创建参数模板时必须为其指定类型;而在进入已创建的参数模板视图时可以不指定类型,但若要指定类型,则必须与创建时的类型一致 |
(可选)配置参数模板的描述信息 |
description text |
缺省情况下,参数模板没有描述信息 |
表2-54 配置发往客户端的IP报文中的ToS字段
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IP类型的参数模板视图 |
parameter-profile profile-name |
- |
配置发往客户端的IP报文中的ToS字段 |
set ip tos tos-number |
缺省情况下,不改变发往客户端的IP报文中的ToS字段 |
一个连接数限制策略中可配置多条连接数限制规则,每条规则中指定一个连接数限制的用户范围,属于该范围的用户可建立的连接数将受到该规则中指定参数的限制。当某类型的连接数达到上限值(max-amount)时,设备将不接受该类型的新建连接请求,直到设备上已有连接因老化而删除,使得当前该类型的连接数低于连接数下限(min-amount)后,才允许新建连接。对于未匹配连接数限制规则的用户所建立的连接,设备不对其连接数进行限制。
目前,连接数限制支持根据ACL来限定用户范围,对匹配ACL规则的访问虚服务器的连接数进行统计和限制。
表2-55 配置负载均衡连接数限制策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建负载均衡连接数限制策略,并进入连接数限制策略视图 |
loadbalance limit-policy policy-name |
缺省情况下,不存在任何负载均衡连接数限制策略 |
配置负载均衡连接数限制规则 |
limit limit-id acl [ ipv6 ] { acl-number | name acl-name } [ per-destination | per-service | per-source ] * amount max-amount min-amount |
缺省情况下,负载均衡连接数限制策略中不存在任何限制规则。 |
(可选)配置描述信息 |
description text |
缺省情况下,未配置任何描述信息 |
开启了负载均衡的告警功能之后,负载均衡会生成告警信息,以向网管软件报告本模块的重要事件。该信息将发送至SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
四层和七层服务器负载均衡的负载均衡告警功能配置完全相同。
表2-56 配置负载均衡告警功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启负载均衡的告警功能 |
snmp-agent trap enable loadbalance |
缺省情况下,负载均衡的告警功能处于开启状态 |
负载均衡ALG(Application Level Gateway,应用层网关)功能用于将父、子会话分发到同一条链路上。
表2-57 配置负载均衡ALG功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启指定协议的负载均衡ALG功能 |
loadbalance alg { dns | ftp | h323 | icmp-error | ils | mgcp | nbt | pptp | rsh | rtsp | sccp | sip | sqlnet | tftp | xdmcp } |
缺省情况下,ftp、dns、pptp、rtsp和icmp-error协议的负载均衡ALG功能均处于开启状态 |
开启所有协议的负载均衡ALG功能 |
loadbalance alg all-enable |
用户可以通过指定报文的协议类型、源IPv4/IPv6地址、源端口、目的IPv4/IPv6地址和目的端口,测试报文的负载均衡效果。
表2-58 测试负载均衡效果
操作 |
命令 |
说明 |
测试IPv4负载均衡的效果(独立运行模式) |
loadbalance schedule-test ip protocol { protocol-number | icmp | tcp | udp } destination destination-address destination-port destination-port source source-address source-port source-port |
本命令可在任意视图下执行 |
测试IPv4负载均衡的效果(IRF模式) |
loadbalance schedule-test ip protocol { protocol-number | icmp | tcp | udp } destination destination-address destination-port destination-port source source-address source-port source-port [ slot slot-number ] |
本命令可在任意视图下执行 |
测试IPv6负载均衡的效果(独立运行模式) |
loadbalance schedule-test ipv6 protocol { protocol-number | icmpv6 | tcp | udp } destination destination-address destination-port destination-port source source-address source-port source-port |
本命令可在任意视图下执行 |
测试IPv6负载均衡的效果(IRF模式) |
loadbalance schedule-test ipv6 protocol { protocol-number | icmpv6 | tcp | udp } destination destination-address destination-port destination-port source source-address source-port source-port [ slot slot-number ] |
本命令可在任意视图下执行 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后服务器负载均衡的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除服务器负载均衡的统计信息。
表2-59 服务器负载均衡显示和维护
配置 |
命令 |
显示负载均衡动作的信息 |
display loadbalance action [ name action-name ] |
显示负载均衡类的信息 |
display loadbalance class [ name class-name ] |
显示负载均衡热备份的统计信息(IRF模式) |
display loadbalance hot-backup statistics [ slot slot-number ] |
显示负载均衡连接数限制策略配置信息 |
display loadbalance limit-policy [ name policy-name ] |
显示负载均衡策略的信息 |
display loadbalance policy [ name policy-name ] |
显示SNAT地址池的信息 |
display loadbalance snat-pool [ name pool-name ] |
显示参数模板的信息 |
display parameter-profile [ name parameter-name ] |
显示实服务器的信息 |
display real-server [ brief | name real-server-name ] |
显示实服务器的统计信息(独立运行模式) |
display real-server statistics [ name real-server-name ] |
显示实服务器的统计信息(IRF模式) |
display real-server statistics [ name real-server-name ] [ slot slot-number ] |
显示实服务组的信息 |
display server-farm [ brief | name server-farm-name ] |
显示持续性表项的信息(独立运行模式) |
display sticky [ virtual-server virtual-server-name [ class class-name | default-class | default-server-farm ] ] |
显示持续性表项的信息(IRF模式) |
display sticky [ virtual-server virtual-server-name [ class class-name | default-class | default-server-farm ] ] [ slot slot-number ] |
显示持续性组的信息 |
display sticky-group [ name group-name ] |
显示虚服务器的信息 |
display virtual-server [ brief | name virtual-server-name ] |
显示虚服务器的统计信息(独立运行模式) |
display virtual-server statistics [ name virtual-server-name ] |
显示虚服务器的统计信息(IRF模式) |
display virtual-server statistics [ name virtual-server-name ] [ slot slot-number ] |
显示所有协议的负载均衡ALG状态 |
display loadbalance alg |
清除负载均衡热备份的统计信息 |
reset loadbalance hot-backup statistics |
清除实服务器的统计信息 |
reset real-server statistics [ real-server-name ] |
清除虚服务器的统计信息 |
reset virtual-server statistics [ virtual-server-name ] |
三台物理服务器Server A、Server B和Server C均可提供FTP服务,且这三台服务器的硬件配置顺次降低。通过配置服务器负载均衡,在考虑硬件性能的前提下让这三台服务器联合提供FTP服务,并通过健康检测来监控这些服务器是否可达。
图2-7 四层服务器负载均衡基本功能配置组网图
(1) 配置负载均衡设备
· 配置接口IP地址
<LB> system-view
[LB] interface gigabitethernet 1/0/1
[LB-GigabitEthernet1/0/1] ip address 61.159.4.100 24
[LB-GigabitEthernet1/0/1] quit
[LB] interface gigabitethernet 1/0/2
[LB-GigabitEthernet1/0/2] ip address 192.168.1.100 24
[LB-GigabitEthernet1/0/2] quit
· 配置实服务组
# 创建ICMP类型的NQA模板t1。
[LB] nqa template icmp t1
[LB-nqatplt-icmp-t1] quit
# 创建实服务组sf,配置其调度算法为加权轮转算法,并指定其健康检测方法为t1。
[LB] server-farm sf
[LB-sfarm-sf] predictor round-robin
[LB-sfarm-sf] probe t1
[LB-sfarm-sf] quit
· 配置实服务器
# 创建实服务器rs1,配置其IPv4地址为192.168.1.1、端口号为21、权值为150,并加入实服务组sf。
[LB] real-server rs1
[LB-rserver-rs1] ip address 192.168.1.1
[LB-rserver-rs1] port 21
[LB-rserver-rs1] weight 150
[LB-rserver-rs1] server-farm sf
[LB-rserver-rs1] quit
# 创建实服务器rs2,配置其IPv4地址为192.168.1.2、端口号为21、权值为120,并加入实服务组sf。
[LB] real-server rs2
[LB-rserver-rs2] ip address 192.168.1.2
[LB-rserver-rs2] port 21
[LB-rserver-rs2] weight 120
[LB-rserver-rs2] server-farm sf
[LB-rserver-rs2] quit
# 创建实服务器rs3,配置其IPv4地址为192.168.1.3、端口号为21、权值为80,并加入实服务组sf。
[LB] real-server rs3
[LB-rserver-rs3] ip address 192.168.1.3
[LB-rserver-rs3] port 21
[LB-rserver-rs3] weight 80
[LB-rserver-rs3] server-farm sf
[LB-rserver-rs3] quit
· 配置虚服务器
# 创建TCP类型的虚服务器vs,配置其VSIP为61.159.4.100,指定其缺省主用实服务组为sf,并开启此虚服务器。
[LB] virtual-server vs type tcp
[LB-vs-tcp-vs] virtual ip address 61.159.4.100
[LB-vs-tcp-vs] default server-farm sf
[LB-vs-tcp-vs] service enable
[LB-vs-tcp-vs] quit
(2) 配置物理服务器
在三台物理服务器Server A、Server B和Server C上,将缺省网关都配置为192.168.1.100。
# 显示所有实服务器的简要信息。
[LB] display real-server brief
Real server Address Port State Server farm
rs1 192.168.1.1 21 Active sf
rs2 192.168.1.2 21 Active sf
rs3 192.168.1.3 21 Active sf
# 显示所有实服务组的详细信息。
[LB] display server-farm
Server farm: sf
Description:
Predictor: Round robin
Proximity: Disabled
NAT: Enabled
SNAT pool:
Failed action: Keep
Active threshold: Disabled
Slow-online: Disabled
Selected server: Disabled
Probe information:
Probe success criteria: All
Probe method:
t1
Total real server: 3
Active real server: 3
Real server list:
Name State Address Port Weight Priority
rs1 Active 192.168.1.1 21 150 4
rs2 Active 192.168.1.2 21 120 4
rs3 Active 192.168.1.3 21 80 4
# 显示所有虚服务器的详细信息。
[LB] display virtual-server
Virtual server: vs
Description:
Type: TCP
State: Active
VPN instance:
Virtual IPv4 address: 61.159.4.100/32
Virtual IPv6 address: --
Port: 0
Primary server farm: sf (in use)
Backup server farm:
Sticky:
LB policy:
Connection limit: --
Rate limit:
Connections: --
Bandwidth: --
Inbound bandwidth: --
Outbound bandwidth: --
Connection synchronization: Disabled
Sticky synchronization: Disabled
Bandwidth busy protection: Disabled
· 三台物理服务器Server A、Server B和Server C均可提供FTP服务,且这三台服务器的硬件配置顺次降低。通过配置服务器负载均衡,在考虑硬件性能的前提下让这三台服务器联合提供FTP服务,并通过健康检测来监控这些服务器是否可达。
· 为了提高可靠性,由两台负载均衡设备采用双机热备方式进行组网。在这两台负载均衡设备上,要实现会话扩展信息和持续性表项的实时批量备份,以确保主备倒换过程中服务不中断。
图2-8 四层服务器负载均衡双机热备配置组网图
(1) 配置负载均衡设备
· 配置IRF
将两台负载均衡设备配置成一台IRF设备,它们在IRF中的成员编号分别为1和2,有关IRF的相关配置过程略,具体请参考“虚拟化配置指导”中的“IRF”。
· 配置以太网冗余接口
# 创建以太网冗余接口Reth1,为其配置IP地址并添加成员接口。
[LB] interface reth 1
[LB-Reth1] ip address 61.159.4.100 24
[LB-Reth1] member interface gigabitethernet 1/0/1 priority 20
[LB-Reth1] member interface gigabitethernet 2/0/1 priority 10
[LB-Reth1] quit
# 创建以太网冗余接口Reth2,为其配置IP地址并添加成员接口。
[LB] interface reth 2
[LB-Reth2] ip address 192.168.1.100 24
[LB-Reth2] member interface gigabitethernet 1/0/2 priority 20
[LB-Reth2] member interface gigabitethernet 2/0/2 priority 10
[LB-Reth2] quit
· 配置冗余组
# 分别创建四个Track项,各自监视一个以太网接口的状态。
[LB] track 1 interface gigabitethernet 1/0/1
[LB] track 2 interface gigabitethernet 1/0/2
[LB] track 3 interface gigabitethernet 2/0/1
[LB] track 4 interface gigabitethernet 2/0/2
# 创建冗余组bkp,并为其添加成员接口Reth1和Reth2。
[LB] redundancy group bkp
[LB-redundancy-group-bkp] member interface reth 1
[LB-redundancy-group-bkp] member interface reth 2
# 创建冗余组主节点1(优先级为100),将其与成员设备1绑定,并关联Track项1和2。
[LB-redundancy-group-bkp] node 1
[LB-redundancy-group-bkp-node-1] priority 100
[LB-redundancy-group-bkp-node-1] bind slot 1
[LB-redundancy-group-bkp-node-1] track 1 interface gigabitethernet 1/0/1
[LB-redundancy-group-bkp-node-1] track 2 interface gigabitethernet 1/0/2
[LB-redundancy-group-bkp-node-1] quit
# 创建冗余组备节点2(优先级为50),将其与成员设备2绑定,并关联Track项3和4。
[LB-redundancy-group-bkp] node 2
[LB-redundancy-group-bkp-node2] priority 50
[LB-redundancy-group-bkp-node2] bind slot 2
[LB-redundancy-group-bkp-node2] track 3 interface gigabitethernet 2/0/1
[LB-redundancy-group-bkp-node2] track 4 interface gigabitethernet 2/0/2
[LB-redundancy-group-bkp-node2] quit
[LB-redundancy-group-bkp] quit
· 配置会话备份
# 开启会话业务热备份能。
[LB] session synchronization enable
· 配置实服务组
# 创建ICMP类型的NQA模板t1。
[LB] nqa template icmp t1
[LB-nqatplt-icmp-t1] quit
# 创建实服务组sf,配置其调度算法为加权轮转算法,并指定其健康检测方法为t1。
[LB] server-farm sf
[LB-sfarm-sf] predictor round-robin
[LB-sfarm-sf] probe t1
[LB-sfarm-sf] quit
· 配置实服务器
# 创建实服务器rs1,配置其IPv4地址为192.168.1.1、端口号为21、权值为150,并加入实服务组sf。
[LB] real-server rs1
[LB-rserver-rs1] ip address 192.168.1.1
[LB-rserver-rs1] port 21
[LB-rserver-rs1] weight 150
[LB-rserver-rs1] server-farm sf
[LB-rserver-rs1] quit
# 创建实服务器rs2,配置其IPv4地址为192.168.1.2、端口号为21、权值为120,并加入实服务组sf。
[LB] real-server rs2
[LB-rserver-rs2] ip address 192.168.1.2
[LB-rserver-rs2] port 21
[LB-rserver-rs2] weight 120
[LB-rserver-rs2] server-farm sf
[LB-rserver-rs2] quit
# 创建实服务器rs3,配置其IPv4地址为192.168.1.3、端口号为21、权值为80,并加入实服务组sf。
[LB] real-server rs3
[LB-rserver-rs3] ip address 192.168.1.3
[LB-rserver-rs3] port 21
[LB-rserver-rs3] weight 80
[LB-rserver-rs3] server-farm sf
[LB-rserver-rs3] quit
· 配置虚服务器
# 创建TCP类型的虚服务器vs,配置其VSIP为61.159.4.100,指定其缺省主用实服务组为sf,分别开启会话扩展信息和持续性表项的备份功能,并开启此虚服务器。
[LB] virtual-server vs type tcp
[LB-vs-tcp-vs] virtual ip address 61.159.4.100
[LB-vs-tcp-vs] default server-farm sf
[LB-vs-tcp-vs] connection-sync enable
[LB-vs-tcp-vs] sticky-sync enable
[LB-vs-tcp-vs] service enable
[LB-vs-tcp-vs] quit
(2) 配置物理服务器
在三台物理服务器Server A、Server B和Server C上,将缺省网关都配置为192.168.1.100。
# 显示冗余组bkp的相关信息。
[LB] display redundancy group bkp
Redundancy group bkp (ID 1):
Node ID Slot Priority Status Track weight
1 Slot1 100 Primary 255
2 Slot2 50 Secondary 255
Preempt delay time remained : 0 min
Preempt delay timer setting : 1 min
Remaining hold-down time : 0 sec
Hold-down timer setting : 1 sec
Manual switchover request : No
Member interfaces:
Reth1 Reth2
Member failover groups:
Node 1:
Track info:
Track Status Reduced weight Interface
1 Positive 255 GE1/0/1
2 Positive 255 GE1/0/2
Node 2:
Track info:
Track Status Reduced weight Interface
3 Negative 255 GE2/0/1
4 Negative 255 GE2/0/2
# 显示所有实服务器的简要信息。
[LB] display real-server brief
Real server Address Port State Server farm
rs1 192.168.1.1 21 Active sf
rs2 192.168.1.2 21 Active sf
rs3 192.168.1.3 21 Active sf
# 显示所有实服务组的详细信息。
[LB] display server-farm
Server farm: sf
Description:
Predictor: Round robin
Proximity: Disabled
NAT: Enabled
SNAT pool:
Failed action: Keep
Active threshold: Disabled
Slow-online: Disabled
Selected server: Disabled
Probe information:
Probe success criteria: All
Probe method:
t1
Total real server: 3
Active real server: 3
Real server list:
Name State Address Port Weight Priority
rs1 Active 192.168.1.1 21 150 4
rs2 Active 192.168.1.2 21 120 4
rs3 Active 192.168.1.3 21 80 4
# 显示所有虚服务器的详细信息。
[LB] display virtual-server
Virtual server: vs
Description:
Type: TCP
State: Active
VPN instance:
Virtual IPv4 address: 61.159.4.100/32
Virtual IPv6 address: --
Port: 0
Primary server farm: sf (in use)
Backup server farm:
Sticky:
LB policy:
Connection limit: --
Rate limit:
Connections: --
Bandwidth: --
Inbound bandwidth: --
Outbound bandwidth: --
Connection synchronization: Enabled
Sticky synchronization: Enabled
Bandwidth busy protection: Disabled
出方向链路负载均衡功能可在多条链路上分担内网用户访问外部互联网的流量。
如图3-1所示,出方向链路负载均衡包含以下要素:
· Cluster(集群):对外提供特定服务的集合,包括运营商链路和负载均衡设备。
· LB device(负载均衡设备):负责将内网用户访问外部互联网的流量分发到多条链路。
· Link(链路):运营商提供的实体链路。
· VSIP(Virtual Service IP,虚服务IP):集群对外提供的虚服务IP地址,即内网用户发送报文的目的网段。
· Server IP(服务器IP):内网服务器IP地址。
出方向链路负载均衡的工作流程如图3-2所示。
出方向链路负载均衡工作流程简述如表3-1所示。
步骤 |
描述 |
(1) |
负载均衡设备接收来自内网服务器的流量 |
(2) |
负载均衡设备依次根据负载均衡策略、持续性方法、就近性算法、调度算法(通常使用带宽算法或最大带宽算法)来选择最佳链路 |
(3) |
负载均衡设备通过选定的最佳链路将流量转发给外网服务器 |
(4) |
负载均衡设备接收来自外网服务器的流量 |
(5) |
负载均衡设备将流量转发给内网服务器 |
配置任务 |
说明 |
详细配置 |
配置链路组 |
必选 |
|
配置链路 |
必选 |
|
配置虚服务器 |
必选 |
|
配置负载均衡类 |
可选 |
|
配置负载均衡动作 |
可选 |
|
配置负载均衡策略 |
可选 |
|
配置持续性组 |
可选 |
|
配置参数模板 |
可选 |
|
配置ISP信息 |
可选 |
|
配置负载均衡告警功能 |
可选 |
|
配置负载均衡ALG功能 |
可选 |
|
测试负载均衡效果 |
可选 |
· 链路组:将具有相同或相似功能的链路抽象成一个链路组。链路组可被虚服务器或负载均衡动作引用。
· 链路:运营商提供的实体链路。
· 虚服务器:负载均衡设备上面向用户业务的虚拟载体,只有匹配上虚服务器的报文才需要进行负载均衡处理。
· 负载均衡类:将报文分类,以便对不同类型的报文执行不同的负载均衡动作。
· 负载均衡动作:制订丢弃、转发或修改报文的具体行为。
· 负载均衡策略:将负载均衡类和负载均衡动作关联起来就构成了负载均衡策略。负载均衡策略可被虚服务器引用。
· 持续性组:根据某持续性方法将具有一定相关性的会话都分配给同一条链路处理。持续性组可被虚服务器或负载均衡动作引用。
· 参数模板:制订对报文进行更深入处理的模板。参数模板可被虚服务器引用。
为了便于对链路进行统一管理,可将具有相同或相似功能的链路抽象成一个组,称为链路组。比如,可按不同的运营商划分为ISP1链路组、ISP2链路组和ISP3链路组等。
表3-3 配置任务简介
配置任务 |
说明 |
详细配置 |
创建链路组 |
必选 |
|
调度链路 |
必选 |
|
配置可用条件 |
必选 |
|
配置NAT功能 |
必选 |
|
配置温暖上线功能 |
可选 |
|
配置健康检测功能 |
可选 |
|
配置故障处理方式 |
可选 |
|
配置就近性功能 |
可选 |
表3-4 创建链路组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建链路组,并进入链路组视图 |
loadbalance link-group link-group-name |
缺省情况下,不存在任何链路组 |
(可选)配置链路组的描述信息 |
description text |
缺省情况下,链路组没有描述信息 |
负载均衡设备根据链路组中配置的调度算法,计算出处理用户请求的链路。
表3-5 调度链路
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路组视图 |
loadbalance link-group link-group-name |
- |
配置链路组的调度算法 |
predictor hash address { destination | source | source-ip-port } [ mask mask-length ] [ prefix prefix-length ] predictor { least-connection | random | round-robin | { bandwidth | max-bandwidth } [ inbound | outbound ] } |
缺省情况下,链路组的调度算法为加权轮转算法 |
配置链路组中可被调度算法调用的实链路数量限制 |
selected-link min min-number max max-number |
缺省情况下,链路组中调用优先级最高的链路全部被调度算法调用 |
通过配置链路组的可用条件,可将流量在主用链路组和备用链路组之间进行切换:当主用链路组中的链路可用率低于下限时,将流量切换到备用链路组上,以防止链路受到大流量的冲击;待主用链路组中的链路可用率恢复到上限时,再将流量切换回来。
表3-6 配置可用条件
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路组视图 |
loadbalance link-group link-group-name |
- |
配置链路组的可用条件 |
activate lower lower-percentage upper upper-percentage |
缺省情况下,链路组中只要有一个链路可用,该链路组就被认为可用 |
出方向链路负载均衡组网通常需要在链路组中关闭NAT功能。
表3-7 关闭的NAT功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路组视图 |
loadbalance link-group link-group-name |
- |
在链路组中关闭NAT功能 |
transparent enable |
缺省情况下,链路组中的NAT功能处于开启状态 |
SNAT地址池是一个IP地址范围,它被链路组引用之后,负载均衡设备将把收到报文的源IP地址修改为SNAT地址池中的IP地址后再转发出去。
· 一个SNAT地址池中最多允许有256个IPv4地址和65536个IPv6地址,且不同SNAT地址池中的IPv4或IPv6地址不允许重叠。
· 出方向链路负载均衡的SNAT功能使用场景有限,通常不建议使用。
表3-8 配置SNAT功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建SNAT地址池,并进入SNAT地址池视图 |
loadbalance snat-pool pool-name |
缺省情况下,不存在任何SNAT地址池 |
(可选)配置SNAT地址池的描述信息 |
description text |
缺省情况下,SNAT地址池没有描述信息 |
配置SNAT地址池的IPv4地址范围 |
ip range start start-ipv4-address end end-ipv4-address |
二者选其一 缺省情况下,没有配置SNAT地址池的IP地址范围 |
配置SNAT地址池的IPv6地址范围 |
ipv6 range start start-ipv6-address end end-ipv6-address |
|
退回系统视图 |
quit |
- |
进入链路组视图 |
loadbalance link-group link-group-name |
- |
指定链路引用的SNAT地址池 |
snat-pool pool-name |
缺省情况下,链路组没有引用任何SNAT地址池 |
当向链路组中添加链路时,某些新增的链路无法立即承担大量业务,此时可以开启温暖上线功能。这样,当链路上线后,在准备时间内,负载均衡设备不会向其分配任何业务;准备时间超时后,负载均衡设备在爬升时间内会逐步增加向其分配的业务量;爬升时间超时后,负载均衡设备开始向其正常分配业务。
表3-9 配置温暖上线功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路组视图 |
loadbalance link-group link-group-name |
- |
在链路组中开启链路温暖上线功能 |
slow-online [ standby-time standby-time ramp-up-time ramp-up-time ] |
缺省情况下,链路组中的链路温暖上线功能处于关闭状态 |
通过健康检测可以对链路进行检测,保证其能够提供有效的服务。
用户既可在链路组视图下对组内的所有链路进行配置,也可在链路视图下只对当前链路进行配置,后者的配置优先级较高。
表3-10 配置健康检测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路组视图 |
loadbalance link-group link-group-name |
- |
指定链路组的健康检测方法 |
probe template-name |
缺省情况下,没有指定链路组的健康检测方法 |
配置链路组健康检测的成功条件 |
success-criteria { all | at-least min-number } |
缺省情况下,只有全部方法都通过检测才认为健康检测成功 |
通过本配置可以选择链路组的故障处理方式:
· 保持已有连接:不主动断开与故障链路的连接,连接继续保持还是断开将由协议自身的超时机制决定。
· 重定向连接:把连接重定向到链路组中其它可用的链路上。
· 断开已有连接:主动断开与故障链路的连接。对于TCP报文,将发送RST报文;对于其它类型的报文,将发送ICMP不可达报文。
表3-11 配置故障处理方式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路组视图 |
loadbalance link-group link-group-name |
- |
配置链路组的故障处理方式 |
fail-action { keep | reschedule | reset } |
缺省情况下,链路组的故障处理方式为保持已有连接 |
就近性功能就是通过对链路进行探测,选出到达目的地的最优链路,从而引导后续流量。具体而言,就是当流量经过负载均衡模块时,如果没有与目的地址相关的就近性信息,则根据调度算法,为该流量选择一条链路,以保证业务的可用性,然后启动就近性探测来生成就近性表项,以引导后续流量。
配置就近性功能时,需要先在就近性视图下配置就近性参数,然后在链路组中开启就近性功能。
表3-12 配置就近性参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入就近性视图 |
loadbalance proximity [ vpn-instance vpn-instance-name ] |
- |
配置IPv4就近性表项的掩码长度 |
ip mask { mask-length | mask } |
缺省情况下,IPv4就近性表项的掩码长度为24 |
配置IPv6就近性表项的前缀长度 |
ipv6 prefix prefix-length |
缺省情况下,IPv6就近性表项的前缀长度为96 |
配置就近性计算的网络延迟权值 |
rtt weigt rtt-weight |
缺省情况下,就近性计算的网络延迟权值为100 |
配置就近性计算的路由器跳数权值 |
ttl weight ttl-weight |
缺省情况下,就近性计算的路由器跳数权值为100 |
配置就近性计算的带宽权值 |
bandwidth { inbound | outbound } weight bandwidth-weight |
缺省情况下,就近性计算的出方向带宽权值均为100 |
配置就近性计算的成本权值 |
cost weight cost-weight |
缺省情况下,就近性计算的成本权值为100 |
为不同类型的报文指定就近性探测方法 |
match [ match-id ] { tcp } probe template-name |
缺省情况下,没有指定就近性探测方法 |
指定缺省就近性探测方法 |
match default probe template-name |
缺省情况下,没有指定缺省就近性探测方法 |
配置就近性表项的老化时间 |
timeout timeout-value |
缺省情况下,就近性表项的老化时间为60秒 |
配置就近性表项的最大个数 |
max-number number |
缺省情况下,不限制就近性表项的最大个数 |
表3-13 开启就近性功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路组视图 |
loadbalance link-group link-group-name |
- |
开启就近性功能 |
proximity enable |
缺省情况下,链路组的就近性功能处于关闭状态 |
链路是运营商提供的实体链路。一条链路只能属于一个链路组,而一个链路组可以包含多条链路。
表3-14 配置任务简介
配置任务 |
说明 |
详细配置 |
创建链路并指定其所属链路组 |
必选 |
|
指定链路出口方向(外网方向)的下一跳IP地址 |
必选 |
|
配置权值和调用优先级 |
必选 |
|
配置带宽和连接参数 |
可选 |
|
配置健康检测功能 |
可选 |
|
配置慢宕功能 |
可选 |
|
配置就近性计算成本 |
可选 |
|
配置链路的带宽繁忙比与最大繁忙保护带宽 |
可选 |
表3-15 创建链路并指定其所属链路组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建链路,并进入链路视图 |
loadbalance link link-name |
缺省情况下,不存在任何链路 |
(可选)配置链路的描述信息 |
description text |
缺省情况下,链路没有描述信息 |
指定链路所属的链路组 |
link-group link-group-name |
缺省情况下,链路不属于任何链路组 |
表3-16 指定链路出口方向(外网方向)的下一跳IP地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路视图 |
loadbalance link link-name |
- |
指定链路出口方向(外网方向)的下一跳IP地址 |
router ip ipv4-address |
二者选其一 缺省情况下,未配置链路出口方向的下一跳IP地址 |
router ipv6 ipv6-address |
通过本配置可以调整链路的加权轮转和加权最小连接这两种调度算法所使用的权值,以及链路在链路组中的调用优先级。
表3-17 配置权值和调用优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路视图 |
loadbalance link link-name |
- |
配置链路的权值 |
weight weight-value |
缺省情况下,链路的权值为100 |
配置链路的调用优先级 |
priority priority |
缺省情况下,链路的调用优先级为4 |
通过本配置可以调整链路所允许的最大带宽、最大连接数和每秒最大连接数三个参数值。
表3-18 配置带宽和连接参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路视图 |
loadbalance link link-name |
- |
配置链路所允许的最大带宽 |
rate-limit bandwidth [ inbound | outbound ] bandwidth-value |
缺省情况下,链路所允许的最大总带宽、最大入带宽和最大出带宽均为0千字节/秒,即不受限制 |
配置链路所允许的最大连接数 |
connection-limit max max-number |
缺省情况下,链路所允许的最大连接数为0,即不受限制 |
配置链路所允许的每秒最大连接数 |
rate-limit connection connection-number |
缺省情况下,链路所允许的每秒最大连接数为0,即不受限制 |
通过健康检测可以对链路进行检测,保证其能够提供有效的服务。
用户既可在链路组视图下对组内的所有链路进行配置,也可在链路视图下只对当前链路进行配置,后者的配置优先级较高。
表3-19 配置健康检测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路视图 |
loadbalance link link-name |
- |
指定链路的健康检测方法 |
probe template-name |
缺省情况下,没有指定链路的健康检测方法 |
配置链路健康检测的成功条件 |
success-criteria { all | at-least min-number } |
缺省情况下,只有全部方法都通过检测才认为健康检测成功 |
通过shutdown命令可以立即中断链路的已有连接,而慢宕则不会立即中断链路的已有连接,而是让其自然老化,并且不再建立新的连接。慢宕功能需要与shutdown命令配合使用,即在开启了慢宕功能之后再关闭链路,该实服务器才会开始慢宕。
本命令仅对下一次shutdown命令生效。比如:开启慢宕功能并关闭链路之后,如果再关闭慢宕功能,则该链路将保持慢宕状态,而不会立即中断已有连接。
表3-20 配置慢宕功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路视图 |
loadbalance link link-name |
- |
开启链路的慢宕功能 |
slow-shutdown enable |
缺省情况下,链路的慢宕功能处于关闭状态 |
关闭链路 |
shutdown |
缺省情况下,链路处于开启状态 |
通过本配置可以调整就近性计算的链路成本。
表3-21 配置就近性计算成本
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路视图 |
loadbalance link link-name |
- |
配置就近性计算的链路成本 |
cost cost-value |
缺省情况下,就近性计算的链路成本为0 |
通过本配置可以调整链路的带宽繁忙比,即当前带宽与最大带宽的百分比值,以及最大繁忙保护带宽。当访问某个链路的链路流量超过该链路的带宽繁忙比与最大繁忙保护带宽的乘积后,新建流量(非匹配持续性的流量)将不再向该链路分发,而原有流量则仍由该链路继续分发。
表3-22 配置链路的带宽繁忙比与最大繁忙保护带宽
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入链路视图 |
loadbalance link link-name |
- |
配置链路的带宽繁忙比 |
bandwidth [ inbound | outbound ] busy-rate rate-number |
缺省情况下,链路的总带宽繁忙比为70 |
配置链路最大繁忙保护带宽 |
max-bandwidth [ inbound | outbound ] bandwidth-value |
缺省情况下,链路所允许的繁忙保护最大总带宽、最大上行带宽和最大下行带宽均为0千字节/秒,即不限制 |
虚服务器是负载均衡设备上面向用户业务的虚拟载体,是为了判断是否需要对进入负载均衡设备的报文进行负载均衡而引入的概念。只有匹配上虚服务器的报文才会被进行负载均衡处理。
链路负载均衡支持的虚服务器类型为LINK-IP。
表3-23 配置任务简介
配置任务 |
说明 |
详细配置 |
创建虚服务器 |
必选 |
|
配置VSIP和端口号 |
必选 |
|
指定虚服务器所属的VPN |
可选 |
|
指定缺省链路组 |
至少选其一 如果同时配置,报文会被优先交给负载均衡策略处理,当负载均衡策略无法处理时才交给缺省链路组处理 |
|
引用负载均衡策略 |
||
引用参数模板 |
可选 |
|
配置带宽和连接参数 |
可选 |
|
开启链路的接口带宽统计功能 |
可选 |
|
配置热备份功能 |
可选 |
|
开启虚服务器 |
必选 |
表3-24 创建虚服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建Link-IP类型的虚服务器,并进入虚服务器视图 |
virtual-server virtual-server-name type link-ip |
缺省情况下,不存在任何虚服务器 |
(可选)配置虚服务器的描述信息 |
description text |
缺省情况下,虚服务器没有描述信息 |
通过本配置可以指定虚服务器的IPv4或IPv6地址(即VSIP),以及虚服务器的端口号。
表3-25 配置VSIP和端口号
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入LINK-IP类型的虚服务器视图 |
virtual-server virtual-server-name |
- |
配置虚服务器的IPv4地址 |
virtual ip address ipv4-address [ mask-length | mask ] |
二者选其一 缺省情况下,虚服务器没有IP地址 |
配置虚服务器的IPv6地址 |
virtual ipv6 address ipv6-address [ prefix-length ] |
|
配置虚服务器的端口号 |
port port-number |
缺省情况下,LINK-IP类型虚服务器的端口号为0(表示任意端口号) |
虚服务器缺省服务于公网,通过本配置可使虚服务器服务于特定的VPN。
表3-26 指定虚服务器所属的VPN
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
指定虚服务器所属的VPN |
vpn-instance vpn-instance-name |
缺省情况下,虚服务器属于公网 |
当主用链路组可用(该链路组存在且有可用的链路)时,虚服务器通过主用链路组进行转发;当主用链路组不可用而备用链路组可用时,虚服务器通过备用链路组进行转发。
表3-27 指定缺省链路组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
指定缺省链路组 |
default link-group link-group-name [ backup backup-link-group-name ] [ sticky sticky-name ] |
缺省情况下,没有指定缺省链路组 |
虚服务器引用负载均衡策略,能够细化虚服务器负载均衡的粒度。根据策略中的匹配规则,使命中虚服务器的报文根据不同的报文内容进行不同的负载均衡处理,从而有效地丰富了负载均衡的负载功能。
表3-28 引用负载均衡策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
指定虚服务器引用的负载均衡策略 |
lb-policy policy-name |
缺省情况下,虚服务器没有引用任何负载均衡策略 虚服务器只能引用与自身类型相关的策略模板,如: LINK-IP类型的虚服务器,只能引用Link-generic类型的策略模板 |
参数模板用来对虚服务器上的流量进行比较深入的解析、处理和优化。虚服务器引用了参数模板后,就要根据该参数模板的配置对匹配流量进行相应的处理。
表3-29 引用参数模板
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
指定虚服务器引用的参数模板 |
parameter ip profile-name |
缺省情况下,虚服务器没有引用任何参数模板 |
通过本配置可以调整虚服务器所允许的最大带宽、最大连接数和每秒最大连接数三个参数值。
表3-30 配置带宽和连接参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
配置虚服务器所允许的最大带宽 |
rate-limit bandwidth [ inbound | outbound ] bandwidth-value |
缺省情况下,虚服务器所允许的最大总带宽、最大入带宽和最大出带宽均为0千字节/秒,即不受限制 |
配置虚服务器所允许的最大连接数 |
connection-limit max max-number |
缺省情况下,虚服务器所允许的最大连接数为0,即不受限制 |
配置虚服务器所允许的每秒最大连接数 |
rate-limit connection connection-number |
缺省情况下,虚服务器所允许的每秒最大连接数为0,即不受限制 |
链路的带宽缺省由负载均衡模块自行统计,通过本配置可以使链路的带宽由接口来统计。
表3-31 开启链路的接口带宽统计功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server vritual-server-name |
- |
开启链路的接口带宽统计功能 |
bandwidth interface statistics enable |
缺省情况下,未开启链路的接口带宽统计功能 |
配置热备份功能时,为达到主备切换时业务不中断的目的,需要在虚服务器下开启会话扩展信息和持续性表项的备份功能。
在开启虚服务器的持续性表项备份功能之前,请确保主用和备用设备上均不存在持续性表项。可以通过先开启持续性表项备份功能,再引用持续性组,保证备份前设备上不存在持续性表项。
表3-32 配置热备份功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
开启虚服务器的会话扩展信息备份功能 |
connection-sync enable |
缺省情况下,虚服务器的会话扩展信息备份功能处于关闭状态 |
开启虚服务器的持续性表项备份功能 |
sticky-sync enable |
缺省情况下,虚服务器的持续性表项备份功能处于关闭状态 |
配置完虚服务器后,需要将其开启后才能进入工作状态。
表3-33 开启虚服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚服务器视图 |
virtual-server virtual-server-name |
- |
开启虚服务器 |
service enable |
缺省情况下,虚服务器处于关闭状态 |
负载均衡类的作用是将报文分类,即通过匹配规则将报文按照一定条件进行匹配,以便将不同类型的报文在不同的负载均衡动作流程中处理。一个负载均衡类中最多允许创建65535条匹配规则。
表3-34 配置任务简介
配置任务 |
说明 |
详细配置 |
|
创建负载均衡类 |
必选 |
||
创建匹配规则 |
创建嵌套类的匹配规则 |
至少选其一 |
|
创建源IP地址类型的匹配规则 |
|||
创建ACL类型的匹配规则 |
|||
创建ISP类型的匹配规则 |
表3-35 创建负载均衡类
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建Link-generic负载均衡类,并进入负载均衡类视图 |
loadbalance class class-name [ type link-generic [ match-all | match-any ] ] |
缺省情况下,不存在任何负载均衡类 创建负载均衡类时必须为其指定类型;而在进入已创建的负载均衡类视图时可以不指定类型,但若要指定类型,则必须与创建时的类型一致 |
(可选)配置负载均衡类的描述信息 |
description text |
缺省情况下,负载均衡类没有描述信息 |
表3-36 创建嵌套类的匹配规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡类视图 |
loadbalance class class-name |
- |
创建嵌套类的匹配规则 |
match [ match-id ] class class-name |
缺省情况下,负载均衡类中不存在任何匹配规则 |
表3-37 创建源IP地址类型的匹配规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡类视图 |
loadbalance class class-name |
- |
创建源IP地址类型的匹配规则 |
match [ match-id ] source { ip address ipv4-address [ mask-length | mask ] | ipv6 address ipv6-address [ prefix-length ] } |
缺省情况下,负载均衡类中不存在任何匹配规则 |
表3-38 创建ACL类型的匹配规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡类视图 |
loadbalance class class-name |
- |
创建ACL类型的匹配规则 |
match [ match-id ] acl [ ipv6 ] { acl-number | name acl-name } |
缺省情况下,负载均衡类中不存在任何匹配规则 |
表3-39 创建ISP类型的匹配规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡类视图 |
loadbalance class class-name |
- |
创建ISP类型的匹配规则 |
match [match-id ] isp isp-name |
缺省情况下,负载均衡类中不存在任何匹配规则 |
表3-40 创建应用类型的匹配规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡类视图 |
loadbalance class class-name |
- |
创建应用类型的匹配规则 |
match [ match-id ] app-group group-name |
缺省情况下,负载均衡类中不存在任何匹配规则 |
负载均衡动作可分为两大类:
· 转发类动作:确定是否转发以及如何转发报文。如果没有配置转发类动作,报文将被丢弃处理。
· 修改类动作:对报文执行一些修改行为。修改类动作应配合转发类动作使用,否则修改后的报文终将被丢弃。
如果用户想对报文进行丢弃处理,则可在创建负载均衡动作后,不为其指定任何上述动作。
表3-41 配置任务简介
配置任务 |
说明 |
详细配置 |
|
创建负载均衡动作 |
必选 |
||
配置转发类动作 |
配置报文的转发模式为转发 |
可选其一 这两条命令互斥,当配置了其中一条后,另一条的配置将被自动取消 |
|
指定指导转发的链路组 |
|||
配置查找可用链路失败时继续匹配下一条引用规则 |
可选 |
||
配置修改类动作 |
配置发往服务器的IP报文中的ToS字段 |
可选 |
表3-42 创建负载均衡动作
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建Link-generic类型的负载均衡动作,并进入负载均衡动作视图 |
loadbalance action action-name type link-generic |
缺省情况下,不存在任何负载均衡动作 创建负载均衡动作时必须为其指定类型;而在进入已创建的负载均衡动作视图时可以不指定类型,但若要指定类型,则必须与创建时的类型一致 |
(可选)配置负载均衡动作的描述信息 |
description text |
缺省情况下,负载均衡动作没有描述信息 |
表3-43 配置报文的转发模式为转发
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡动作视图 |
loadbalance action action-name |
- |
配置报文的转发模式为转发 |
forward all |
缺省情况下,报文转发模式为丢弃 |
当主用链路组可用(该链路组存在且有可用的链路)时,使用主用链路组指导转发;当主用链路组不可用而备用链路组可用时,使用备用链路组指导转发。
表3-44 指定指导转发的链路组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡动作视图 |
loadbalance action action-name |
- |
指定指导转发的链路组 |
link-group link-group-name [ backup backup-link-group-name ] [ sticky sticky-name ] |
缺省情况下,没有指定指导转发的链路组 |
当配置该命令的动作在策略中被引用时,在转发中根据该配置判断当前动作查找可用链路失败时,可继续顺序匹配策略中的下一条引用规则。
表3-45 配置查找链路失败时继续匹配下一条引用规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡动作视图 |
loadbalance action action-name |
- |
配置查找链路失败时继续匹配下一条引用规则 |
fallback-action continue |
缺省情况下,根据当前动作查找可用链路失败时,不再继续匹配下一条引用规则 |
表3-46 配置发往服务器的IP报文中的ToS字段
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡动作视图 |
loadbalance action action-name |
- |
配置发往服务器的IP报文中的ToS字段 |
set ip tos tos-number |
缺省情况下,不改变发往服务器的IP报文中的ToS字段 |
将负载均衡类和负载均衡动作关联起来就构成了负载均衡策略。负载均衡策略是指导报文转发的一种方式,用户可以为匹配特定负载均衡类的报文指定执行的负载均衡动作,以及为未匹配任何负载均衡类的报文指定缺省负载均衡动作。
用户可以在一个负载均衡策略中指定多个负载均衡类,转发报文时会按照配置顺序来匹配负载均衡类,匹配成功则执行相应的负载均衡动作,否则继续匹配下一条负载均衡类。如果所有负载均衡类均未匹配,则执行缺省负载均衡动作。
表3-47 配置任务简介
表3-48 创建负载均衡策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建Link-generic类型的负载均衡策略,并进入负载均衡策略视图 |
loadbalance policy policy-name type link-generic |
缺省情况下,不存在任何负载均衡策略 创建负载均衡策略时必须为其指定类型;而在进入已创建的负载均衡策略视图时可以不指定类型,但若要指定类型,则必须与创建时的类型一致 |
(可选)配置负载均衡策略的描述信息 |
description text |
缺省情况下,负载均衡策略没有描述信息 |
Link-generic类型的负载均衡策略只能引用Link-generic类型的负载均衡类和动作。
表3-49 指定负载均衡动作
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡策略视图 |
loadbalance policy policy-name |
- |
为负载均衡类指定负载均衡动作 |
class class-name [ insert-before before-class-name ] action action-name |
缺省情况下,没有为任何负载均衡类指定负载均衡动作 不同的负载均衡类可以与同一负载均衡动作组成匹配规则 |
Link-generic类型的负载均衡策略只能用Link-generic类型的负载均衡动作作为其缺省动作。
表3-50 指定缺省负载均衡动作
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入负载均衡策略视图 |
loadbalance policy policy-name |
- |
指定缺省负载均衡动作 |
default-class action action-name |
缺省情况下,未指定缺省负载均衡动作 |
持续性组的作用是根据某持续性方法将具有一定相关性的会话都分配给同一链路处理,这个分配规则就称为持续性表项。在一个会话中,当其首包通过持续性方法选择了同一链路之后,后续包都会沿用这个选择结果。
表3-51 配置任务简介
配置任务 |
说明 |
详细配置 |
|
创建持续性组 |
必选 |
||
配置持续性方法 |
配置IP持续性方法 |
必选 |
|
配置持续性表项超时时间 |
可选 |
||
开启匹配持续性表项的会话不受连接数限制影响功能 |
可选 |
||
表3-52 创建持续性组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建地址端口类型的持续性组,并进入持续性组视图 |
sticky-group group-name type address-port |
缺省情况下,不存在任何持续性组 创建持续性组时必须为其指定类型;而在进入已创建的持续性组视图时可以不指定类型,但若要指定类型,则必须与创建时的类型一致 |
(可选)配置持续性组的描述信息 |
description text |
缺省情况下,持续性组没有描述信息 |
表3-53 配置IP持续性方法
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入持续性组视图 |
sticky-group group-name |
- |
配置IPv4持续性方法 |
ip [ port ] { both | destination | source } [ mask mask-length ] |
二者选其一 缺省情况下,不存在任何持续性方法 |
配置IPv6持续性方法 |
ipv6 [ port ] { both | destination | source } [ prefix prefix-length ] |
表3-54 配置持续性表项超时时间
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入持续性组视图 |
sticky-group group-name |
- |
配置持续性表项的超时时间 |
timeout timeout-value |
缺省情况下,持续性表项的超时时间为60秒 |
开启该功能后,如果该连接匹配了已有的持续性表项,将不受链路带宽及连接参数的影响,也不受虚服务器上引用的负载均衡策略连接数限制的影响。
表3-55 开启匹配持续性表项的会话不受连接数限制影响功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入持续性组视图 |
sticky-group group-name |
- |
开启匹配持续性表项的会话不受连接数限制影响功能 |
override-limit enable |
缺省情况下,匹配持续性表项的会话受连接数限制配置的影响 |
表3-56 配置任务简介
通过配置参数模板可以制订对报文进行更深入处理的模板。这样,当参数模板被虚服务器引用之后,可以对虚服务器的业务流量进行更深入的解析、处理和优化。
表3-57 创建参数模板
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建IP类型的参数模板,并进入参数模板视图 |
parameter-profile profile-name type ip |
缺省情况下,不存在任何参数模板 创建参数模板时必须为其指定类型;而在进入已创建的参数模板视图时可以不指定类型,但若要指定类型,则必须与创建时的类型一致 |
(可选)配置参数模板的描述信息 |
description text |
缺省情况下,参数模板没有描述信息 |
表3-58 配置发往客户端的IP报文中的ToS字段
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IP类型的参数模板视图 |
parameter-profile profile-name |
- |
配置发往客户端的IP报文中的ToS字段 |
set ip tos tos-number |
缺省情况下,不改变发往客户端的IP报文中的ToS字段 |
ISP是根据ICANN(Internet Corporation for Assigned Names and Numbers,互联网域名和地址分配公司)的地址分配结果进行静态分配。ISP作为一种分流策略,可以在负载均衡类的ISP类型匹配规则中进行引用。目的地址匹配ISP后,可根据相应的链路组选择合适的链路。
配置ISP信息分为手工配置ISP信息和导入ISP文件,二者既可单独使用,也可结合使用。
表3-59 配置任务简介
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建ISP,并进入ISP视图 |
loadbalance isp name isp-name |
缺省情况下,不存在任何ISP |
为ISP配置IPv4地址信息 |
ip address ipv4-address { mask-length | mask } |
二者至少选其一 缺省情况下,ISP没有IPv4/IPv6地址信息 同一ISP中不允许配置完全相同的网段 |
为ISP配置IPv6地址信息 |
ipv6 address ipv6-address prefix-length |
|
(可选)配置ISP的描述信息 |
description text |
缺省情况下,ISP没有描述信息 |
表3-61 导入ISP文件
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
导入ISP文件 |
loadbalance isp file isp-file-name |
- |
开启了负载均衡的告警功能之后,负载均衡会生成告警信息,以向网管软件报告本模块的重要事件。该信息将发送至SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
表3-62 配置负载均衡告警功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启负载均衡的告警功能 |
snmp-agent trap enable loadbalance |
缺省情况下,负载均衡的告警功能处于开启状态 |
负载均衡ALG(Application Level Gateway,应用层网关)功能用于将父、子会话分发到同一条链路上。
表3-63 配置负载均衡ALG功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启指定协议的负载均衡ALG功能 |
loadbalance alg { dns | ftp | h323 | icmp-error | ils | mgcp | nbt | pptp | rsh | rtsp | sccp | sip | sqlnet | tftp | xdmcp } |
缺省情况下,ftp、dns、pptp、rtsp和icmp-error协议的负载均衡ALG功能均处于开启状态 |
开启所有协议的负载均衡ALG功能 |
loadbalance alg all-enable |
用户可以通过指定报文的协议类型、源IPv4/IPv6地址、源端口、目的IPv4/IPv6地址和目的端口,测试报文的负载均衡效果。
表3-64 测试负载均衡效果
操作 |
命令 |
说明 |
测试IPv4负载均衡的效果(独立运行模式) |
loadbalance schedule-test ip [ vpn-instance vpn-instance-name ] protocol { protocol-number | icmp | tcp | udp } destination destination-address destination-port destination-port source source-address source-port source-port |
本命令可在任意视图下执行 |
测试IPv4负载均衡的效果(IRF模式) |
loadbalance schedule-test ip [ vpn-instance vpn-instance-name ] protocol { protocol-number | icmp | tcp | udp } destination destination-address destination-port destination-port source source-address source-port source-port [ slot slot-number ] |
本命令可在任意视图下执行 |
测试IPv6负载均衡的效果(独立运行模式) |
loadbalance schedule-test ipv6 [ vpn-instance vpn-instance-name ] protocol { protocol-number | icmpv6 | tcp | udp } destination destination-address destination-port destination-port source source-address source-port source-port |
本命令可在任意视图下执行 |
测试IPv6负载均衡的效果(IRF模式) |
loadbalance schedule-test ipv6 [ vpn-instance vpn-instance-name ] protocol { protocol-number | icmpv6 | tcp | udp } destination destination-address destination-port destination-port source source-address source-port source-port [ slot slot-number ] |
本命令可在任意视图下执行 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后出方向链路负载均衡的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除出方向链路负载均衡的统计信息。
表3-65 链路负载均衡显示和维护
配置 |
命令 |
显示负载均衡动作的信息 |
display loadbalance action [ name action-name ] |
显示负载均衡类的信息 |
display loadbalance class [ name class-name ] |
显示负载均衡热备份的统计信息(IRF模式) |
display loadbalance hot-backup statistics [ slot slot-number ] |
显示ISP的信息 |
display loadbalance isp [ ip ipv4-address | ipv6 ipv6-address | name isp-name ] |
显示负载均衡策略的信息 |
display loadbalance policy [ name policy-name ] |
显示就近性表项的信息(独立运行模式) |
display loadbalance proximity [ vpn-instance vpn-instance-name ] [ ip [ ipv4-address ] | ipv6 [ ipv6-address ] ] |
显示就近性表项的信息(IRF模式) |
display loadbalance proximity [ vpn-instance vpn-instance-name ] [ ip [ ipv4-address ] | ipv6 [ ipv6-address ] ] [ slot slot-number ] |
显示参数模板的信息 |
display parameter-profile [ name parameter-name ] |
显示链路的信息 |
display loadbalance link [ brief | name link-name ] |
显示链路的统计信息(独立运行模式) |
display loadbalance link statistics [ name link-name ] |
显示链路的统计信息(IRF模式) |
display loadbalance link statistics [ name link-name ] [ slot slot-number ] |
显示链路出接口的统计信息 |
display loadbalance link out-interface statistics [ name link-name ] |
显示链路组的信息 |
display loadbalance link-group [ brief | name link-group-name ] |
显示持续性表项的信息(独立运行模式) |
display sticky [ virtual-server virtual-server-name [ class class-name | default-class | default-link-group ] ] |
显示持续性表项的信息(IRF模式) |
display sticky [ virtual-server virtual-server-name [ class class-name | default-class | default-link-group ] ] [ slot slot-number ] |
显示持续性组的信息 |
display sticky-group [ name group-name ] |
显示虚服务器的信息 |
display virtual-server [ brief | name virtual-server-name ] |
显示虚服务器的统计信息(独立运行模式) |
display virtual-server statistics [ name virtual-server-name ] |
显示虚服务器的统计信息(IRF模式) |
display virtual-server statistics [ name virtual-server-name ] [ slot slot-number ] |
显示所有协议的负载均衡ALG状态 |
|
清除负载均衡热备份的统计信息 |
reset loadbalance hot-backup statistics |
清除就近性表项的信息 |
reset loadbalance proximity [ vpn-instance vpn-instance-name ] [ ip [ ipv4-address ] | ipv6 [ ipv6-address ] ] |
清除负载均衡下的所有七层连接 |
reset loadbalance connections |
清除链路的统计信息 |
reset loadbalance link statistics [ link-name ] |
清除虚服务器的统计信息 |
reset virtual-server statistics [ virtual-server-name ] |
用户从两个运营商ISP 1和ISP 2处分别租用了链路Link 1和Link 2,这两条链路的路由器跳数、带宽和成本均相同,但Link 1的网络延迟小于Link 2。通过配置链路负载均衡,使Server B访问Server A时优先选择这两条链路中的最优链路。
图3-4 出方向链路负载均衡配置组网图
· 配置接口IP地址
<LB> system-view
[LB] interface gigabitethernet 1/0/1
[LB-GigabitEthernet1/0/1] ip address 10.1.1.1 24
[LB-GigabitEthernet1/0/1] quit
[LB] interface gigabitethernet 1/0/2
[LB-GigabitEthernet1/0/2] ip address 20.1.1.1 24
[LB-GigabitEthernet1/0/2] quit
· 配置实服务组
# 创建ICMP类型的NQA模板t1,并配置每次探测结果发送机制。
[LB] nqa template icmp t1
[LB-nqatplt-icmp-t1] reaction trigger per-probe
[LB-nqatplt-icmp-t1] quit
# 指定缺省就近性探测方法为t1,并配置就近性计算的网络延迟权值为200。
[LB] loadbalance proximity
[LB-lb-proximity] match default probe t1
[LB-lb-proximity] rtt weight 200
[LB-lb-proximity] quit
# 创建链路组lg,并开启就近性功能。
[LB] loadbalance link-group lg
[LB-lb-lgroup-lg] proximity enable
# 关闭NAT功能。
[LB-lb-lgroup-lg] transparent enable
[LB-lb-lgroup-lg] quit
· 配置链路
# 创建链路link1,配置其下一跳IPv4地址为10.1.1.2,并加入链路组lg。
[LB] loadbalance link link1
[LB-lb-link-link1] router ip 10.1.1.2
[LB-lb-link-link1] link-group lg
[LB-lb-link-link1] quit
# 创建链路link2,配置其下一跳IPv4地址为20.1.1.2,并加入链路组lg。
[LB] loadbalance link link2
[LB-lb-link-link2] router ip 20.1.1.2
[LB-lb-link-link2] link-group lg
[LB-lb-link-link2] quit
· 配置虚服务器
# 创建LINK-IP类型的虚服务器vs,配置其VSIP为通配0.0.0.0/0,指定其缺省主用链路组为lg,并开启此虚服务器。
[LB] virtual-server vs type link-ip
[LB-vs-link-ip-vs] virtual ip address 0.0.0.0 0
[LB-vs-link-ip-vs] default link-group lg
[LB-vs-link-ip-vs] service enable
[LB-vs-link-ip-vs] quit
# 显示所有链路的简要信息。
[LB] display loadbalance link brief
Link Route IP State Link group
link1 10.1.1.2 Active lg
link2 20.1.1.2 Active lg
# 显示所有链路组的详细信息。
[LB] display loadbalance link-group
Link group: lg
Description:
Predictor: Round robin
Proximity: Enabled
NAT: Disabled
SNAT pool:
Failed action: Keep
Active threshold: Disabled
Slow-online: Disabled
Selected link: Disabled
Total link: 2
Active link: 2
Link list:
Name State Address Port Weight Priority
link1 Active 10.1.1.2 0 100 4
link2 Active 20.1.1.2 0 100 4
# 显示所有虚服务器的详细信息。
[LB] display virtual-server
Virtual server: vs
Description:
Type: LINK-IP
State: Active
VPN instance:
Virtual IPv4 address: 0.0.0.0/0
Virtual IPv6 address: --
Port: 0
Primary link group: lg (in use)
Backup link group:
Sticky:
LB policy:
Connection limit: --
Rate limit:
Connections: --
Bandwidth: --
Inbound bandwidth: --
Outbound bandwidth: --
Connection synchronization: Disabled
Sticky synchronization: Disabled
Bandwidth busy protection: Disabled
Bandwidth interface statistics: Disabled
Interface bandwidth statistics: Disabled
Route advertisement: Disabled
# 显示所有IPv4就近性表项的简要信息。
[LB] display loadbalance proximity ip
IPv4 entries in total: 1
IPv4 address/Mask length Timeout Best link
------------------------------------------------------------
10.1.0.0/24 50 link1
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!