A10负载均衡SLB测试配置 v1.0

更新时间:2024-06-22 06:36:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

A10负载均衡SLB测试配置说明

A10 Networks, Inc. 2013年9月

A10 Networks – “ The Performance/Price Leader!”

A10网络负载均衡测试方案

目录

1. 2. 3. 4. 1. 1. 2. 3. 4. 5. 6. 2. 1. 2. 3. 3. 1. 2. 4. 1. 2. 3. 5. 1. 2. 3. 4.

测试背景 ................................................................ 错误!未定义书签。 测试内容 ................................................................ 错误!未定义书签。 测试组网 ............................................................................................... 3 产品测试 ............................................................................................... 3 负载均衡设备基础网络配置测试 ........................................................ 3 配置AX主机名称 ........................................................................... 3 VLAN的配置及测试 ....................................................................... 4 IP地址的配置及测试 ...................................................................... 5 默认路由的配置 .............................................................................. 6 动态路由的配置 .............................................................................. 7 端口捆绑的配置及测试 ................................................................... 7 服务器负载均衡算法测试 ................................................................. 11 Round Robin 算法配置及验证 ...................................................... 11 Weight Round Robin 算法配置及验证 .......................................... 14 Least-connection 算法验证 .......................................................... 17 服务器健康检查测试 ........................................................................ 18 默认健康检查 ............................................................................... 19 七层健康检查 ............................................................................... 27 HTTP应用模板 ................................................................................ 31 重定向模板 ................................................................................... 32 URL/Host Switching模板 ............................................................. 33 RAM缓存模板 .............................................................................. 40 会话保持测试 ................................................................................... 40 基于Cookie的会话保持 ............................................................... 40 基于目的IP的会话保持 ................................................................ 40 基于源IP的会话保持 ................................................................... 40 基于SSL Session-ID的会话保持 ................................................. 40

A10网络负载均衡测试方案

1. 组网拓扑

文中如果未进行特殊说明,则均使用下列拓扑图:

测试Cilent…… 被测试负载均衡测试Server

……

2. 产品测试配置

本次测试中,用A10的AX负载均衡设备替代web服务器,与APP直接相连,有效提高了系统的整体性能,降低了系统复杂程度。

本地负载均衡技术通过在真实服务器的前端设置一个虚拟IP地址(VIP),将来自客户端的服务请求统一进行调度并转发给后端的服务器进行处理。通过这种方式,可以提供一种简便、有效的方法来扩展服务器的并发处理能力,减少由于大量并发访问造成的网络延时增大,服务器可靠性降低等问题,真正提高Web服务器的服务能力。

1. 负载均衡设备基础网络配置测试

1. 配置AX主机名称

CLI:

使用命令”hostname“来配置Ax主机名称:

A10网络负载均衡测试方案

localhost(config)#hostname AX AX(config)#

GUI: Web浏览器进入配置模式—网络—DNS界面,在主机名称中配置

2. VLAN的配置及测试

建立VLAN 3和VLAN4,并且加入端口。

Ethernet1使用VLAN3,ethernet 2使用VLAN4,采用untag的方式,开启三层功能,使用VE与VLAN ID相同。

vlan 3

untagged ethernet 1 router-interface ve 3 !

vlan 4

untagged ethernet 2 router-interface ve 4

使用”show vlan“来查看当前的vlan信息

AX(config)#show vlan Total VLANs: 3

VLAN 1, Name [DEFAULT VLAN]: Untagged Ports: 3 4 Tagged Ports: None

VLAN 3, Name [None]: Untagged Ports: 1 Tagged Ports: None Router Interface: ve 3

VLAN 4, Name [None]: Untagged Ports: 2 Tagged Ports: None

A10网络负载均衡测试方案

Router Interface: ve 4

GUI:

进入配置模式—网络—VLAN中, 添加新的VLAN,设置VLAN ID,

添加接口,未标记的表示此端口允许通过本VLAN中untag的帧,标记的代表此端口允许通过本VLAN中tagged的帧;

填写虚拟接口,此处虚拟接口与VLAN ID相同,如果不相同则无法创建。

注意:

同一个端口下只允许通过一个untag的VLAN,相当于Cisco的Access口; 同一个端口下可以通过多个tagged的VLAN,相当于Cisco中的Trunk口。

3. IP地址的配置及测试

配置ip地址,VLAN3配置地址为10.0.1.11,VLAN4配置为10.0.2.11

interface ve 3

ip address 10.0.1.11 255.255.255.0 !

interface ve 4

ip address 10.0.2.11 255.255.255.0

GUI:

进入配置模式—网络—接口—虚拟, 则可以看到创建好的虚拟接口,ve3和ve4;

A10网络负载均衡测试方案

点击VE3和VE4,进入虚拟接口配置模式,添加ip地址

4. 默认路由的配置

配置默认网关为10.0.1.1,使用命令

!

ip route 0.0.0.0 /0 10.0.1.1 !

GUI:

进入配置模式—网络—路由,选择IPV4静态路由,添加默认路由0.0.0.0,子网掩码0.0.0.0,网关为10.0.1.1。

A10网络负载均衡测试方案

5. 动态路由的配置

AX支持多种动态路由协议,包括BGP, OSPF, RIP, ISIS等等,均可从命令行方式进行配置,动态路由暂时不支持使用web方式配置。

AX(config)#router ?

bgp Border Gateway Protocol (BGP) Router

device-context The target device the following router commands to configure for ipv6 IPv6 Routing Configuration Commands

isis Intermediate System - Intermediate System (IS-IS) log Router log options

ospf Open Shortest Path First (OSPF) rip Routing Information Protocol (RIP)

6. 端口捆绑的配置及测试

AX支持静态端口捆绑和动态LACP端口捆绑的方式,推荐使用静态端口捆绑,即Trunk方式,Cisco对应的方式为Port-Channel。

使用命令行将端口ethernet 1 至4进行链路捆绑,采用静态绑定,绑定端口为trunk 1。

AX(config)# trunk 1

AX(config-trunk:1)# ethernet 1 to 4

;将以太口1~4做端口捆绑

在后续的使用中,可以在vlan中直接调用trunk 1端口

注意: 端口配置成trunk模式后,加入vlan的时候,仅需要加入第一个端口即可,本例中,untagged ethe 3时候,ethernet 3和ethernet 4均在此vlan下。

AX(config)#vlan 10

A10网络负载均衡测试方案

AX(config-vlan:10)#untagged trunk 1 AX(config-vlan:10)#show vlan VLAN 10, Name [None]: Untagged Ports: 1

Tagged Ports: None

在trunk端口中可配置ipv4或ipv6地址。例如:

trunk 1

ethernet 1 to 4 interface trunk 1

ip address 10.0.0.1 255.255.255.0

使用命令”show interfaces”可查看当前的ip地址

AX(config-if:trunk1)#show ip interfaces

Port IP Netmask PrimaryIP Name

---------------------------------------------------------------------- trunk1 10.0.0.1 255.255.255.0 Yes

注意: 如果不能配置ip地址,则需要查看此trunk是否配置到端口中,使用命令”show trunk”查看

AX(config)#show trunk

Trunk ID : 1 Member Count: 4 Trunk Name : None Trunk Status : Up

Trunk Type : Static

Members : 1 2 3 4 Cfg Status : Enb Enb Enb Enb Oper Status : Up Up Up Up Ports-Threshold : None Working Lead : 3

使用命令行将端口ethernet 1 至 4 进行链路捆绑,采用LACP协议进行动态捆绑

interface ethernet 1

lacp trunk 1 mode active !

interface ethernet 2

lacp trunk 1 mode active !

interface ethernet 3

lacp trunk 1 mode active !

interface ethernet 4

lacp trunk 1 mode active

使用命令“show lacp trunk 1”来查看LACP TRUNK的状态

AX#show lacp trunk 1

Aggregator po1 1000001 Admin Key: 0001 - Oper Key 0001 Partner LAG: 0x8000,00-00-00-00-00-00 Partner Oper Key 0000 Link: ethernet 1 (3) sync: 0 Link: ethernet 2 (4) sync: 0

A10网络负载均衡测试方案

Link: ethernet 3 (5) sync: 0 Link: ethernet 4 (6) sync: 0

GUI:

静态方式:

进入配置模式—网络—Trunk,点击添加增加链路捆绑

选择左边的可用端口,ethernet1 ~ ethernet4 到中间列表中,Trunk ID 为1

添加完毕,确认添加链路捆绑类型为静态Static,成员有Ethernet 1 ~ 4,

A10网络负载均衡测试方案

进入监控模式—网络—Trunk,可查看当前Trunk和成员状态。

LACP方式:

LACP链路捆绑需要在接口下配置,先进入接口中,打开LACP并选择LACP中的Trunk ID即可。

进入配置模式—网络—接口--LAN,点击接口e1,进入接口E1中,

点击E1中的LACP选项卡,输入Trunk ID为1,相同方法设置E2 ~ E4

进入监控模式—网络—LACP—Trunk,查看LACP端口的状态

A10网络负载均衡测试方案

2. 服务器负载均衡算法测试

1. Round Robin 算法配置及验证

采用轮询算法,A10可以把请求均匀的分配到后台服务器上。 创建 Real server

创建两个Service,分别关联到两台真实服务器(10.0.2.18,10.0.2.19)。

slb server rs1 10.0.2.18 port 80 tcp !

slb server rs2 10.0.2.19 port 80 tcp

创建Service-group

创建负载均衡服务器组,绑定2个server到这个服务器组,默认的就是Round Robin算法。

slb service-group SG-80 tcp member rs1:80 member rs2:80

创建Virtual-server

创建虚拟服务器,绑定服务器组到这个虚拟服务器

slb virtual-server web-vip 10.0.1.12

A10网络负载均衡测试方案

port 80 http

service-group SG-80

GUI:

进入配置模式—SLB—服务器,点击添加建立新的服务器rs1和rs2,健康检查使用默认健康检查方式。

此处配置的服务器为真实提供服务的物理服务器。

打开端口选项卡,添加端口80,协议为TCP。

此处选择协议为TCP,意为此端口采用L4层模式,若选择HTTP则为L7层模式,后文将会讨论。

添加服务组,使用名称SG-80,算法采用Round robin方式,为轮询。

A10网络负载均衡测试方案

在此服务组内加入成员,需要注意成员需要选择端口号为80.

添加虚拟服务器,使用名称web-vip,配置ip地址为10.0.1.12,添加端口为TCP 80, 服务组则选择刚才建立的SG-80。

A10网络负载均衡测试方案

效果测试

用测试软件Apache Bench模拟访问请求,连接请求被均衡的分配到了2台服务器上。

ab –n 100 http://192.168.8.10/ ; 模拟100个访问请求,最后以”/”结尾

使用命令”show slb server”来查看服务器状态

2. Weight Round Robin 算法配置及验证

采用权重轮询算法,A10可以根据定义值把请求按比例分配到后台服务器上。 创建 Real server

创建两个Service,分别关联到两台真实服务器(10.0.2.18,10.0.2.19),并设置weight值。

slb server rs1 10.0.2.18 weight 8 port 80 tcp !

slb server rs2 10.0.2.19 weight 2

A10网络负载均衡测试方案

port 80 tcp

创建Service-group

创建负载均衡服务器组,绑定2个server到这个服务器组,,并选择Weight Round Robin 算法。

slb service-group SG-80 tcp method weighted-rr member rs1:80 member rs2:80

创建Virtual-server

创建虚拟服务器,绑定服务器组到这个虚拟服务器

slb virtual-server web-vip 10.0.1.12 port 80 http

service-group SG-80

效果测试

用测试软件Apache Bench模拟100个访问请求,连接请求会按照权重值的设置情况分配到了2台服务器上。

ab –n http://10.0.1.12/ GUI:

打开配置模式,选择SLB-服务器,选择服务器rs1和rs2,进入后给服务器进行权重的分配。例如rs1分配4,rs2分配2。

打开配置模式,选择SLB-服务组,点击SG-80名称,进入后更改算法为Weighted Round Robin,意为加权轮询,根据配置的权重比例进行负载分担。

A10网络负载均衡测试方案

注意:

在提供相同服务的多台服务器之间进行负载分担的算法,是需要在服务组中去更改的,而这里仅仅是算法,至于算法中用到的具体参数是需要在SLB中服务器的配置中定义的。

可使用的算法类型有:

A10网络负载均衡测试方案

3. Least-connection 算法验证

采用最小连接算法,A10可以根据服务器当前的处理能力把请求智能的分配到后台服务器上。

创建 Real server

创建两个Service,分别关联到两台真实服务器(10.0.2.18,10.0.2.19),并设置weight值。

slb server rs1 10.0.2.18 port 80 tcp !

slb server rs2 10.0.2.19 port 80 tcp

创建Service-group

创建负载均衡服务器组,绑定2个server到这个服务器组,,并选择Least-connection算法。

slb service-group SG-80 tcp method least-connection member rs1:80 member rs2:80

创建Virtual-server

创建虚拟服务器,绑定服务器组到这个虚拟服务器

slb virtual-server web-vip 10.0.1.12 port 80 http

service-group SG-80

GUI: 选择SLB-服务组,改变算法为Least-connection,保存。

则服务器采用最小连接算法,A10可以根据服务器当前的处理能力把请求智能的分配到后台服务器上。

A10网络负载均衡测试方案

效果测试

用测试软件Apache Bench模拟100个访问请求,连接请求被按服务器处理能力分配到了2台服务器上。

ab -n 100 http://10.0.1.12/

3. 服务器健康检查测试

AX的高级健态监测技术具有极高的灵活性,可以对各类应用及服务器进行监测,确保所有应用及设备的可靠性。管理员可利用预置的或自行创建的健康监测策略,对服务器及其应用的健康状态进行监测,确保单个应用服务器失效造成的服务中断。结合综合性调试及告警功能,AX主动告警系统将为管理员提供深度可见性。

AX支持L3-7健康检查方法。通过周期性的检查服务器的及其之上的应用服务的健康状态,保证整个应用的可靠性,确保用户获得最佳的用户体验。AX在不同的网络层采用不同的方式进行健康检查,默认情况下,AX在Real Server下开启了三四层健康检查。

L3:通过ICMP协议检查系统当前的健康状态。

L4:通过向TCP/UDP Port发送建立连接的请求,检查当前应用端口的健康状态。

L7:通过向应用程序(如:HTTP, HTTPS, FTP, RTSP, SMTP, POP3, SNMP, DNS, RADIUS, LDAP)发送指定的代码或进行交互,根据返回值确定当

A10网络负载均衡测试方案

前应用的健康状态。采用这种方式,可以避免由于应用程序本身的错误而造成的系统不可用。

AX支持健康检查的类型有: Database、DNS、FTP、HTTP/HTTPS、ICMP、IMAP、LADP、NTP、POP3、RADIUS、RTSP、SIP、SMTP、SNMP、TCP.

1. ICMP健康检查

创建名称为ICMP-Check的ICMP健康检查方式,更改间隔时间为15秒

AX(config)# health monitor ICMP-Check interval 15

创建2个服务器rs1和rs2,并启用此ICMP健康检查方式

slb server rs1 10.0.2.18 health-check ICMP-Check port 80 tcp !

slb server rs2 10.0.2.19 health-check ICMP-Check port 80 tcp !

slb service-group SG-80 tcp member rs1:80

member rs2:80

创建服务组和虚拟服务器:

slb service-group SG-80 tcp member rs1:80 member rs2:80 !

slb virtual-server web-vip 10.0.1.12 port 80 http

name _10.0.1.12_HTTP_80 service-group SG-80 !

用命令行查看服务器状态

AX#show slb server

AX#show slb service-group

GUI:

进入健康模式—服务—健康监测, 新建名称ICMP-Check,间隔15秒,类型为ICMP的健康检查。

A10网络负载均衡测试方案

进入配置模式—服务—SLB—服务器,创建服务器rs1和rs2,启用健康监测ICMP-Check

进入配置模式—服务—SLB—服务组,创建服务组SG-80

A10网络负载均衡测试方案

加入服务器rs1和rs2,服务端口为80,类型为tcp

添加虚拟服务器,名称为web-vip,设置ip地址为10.0.1.12,添加端口80,服务组选择SG-80,类型选择HTTP方式。

A10网络负载均衡测试方案

测试步骤:

分别断开rs1和rs2与负载均衡设备之间连线,检查服务组成员的状态。 通过web登录到监控模式查看SLB状态

通过CLI命令行登录后,使用”show slb server”查看

2. 服务状态的健康检查

创建基于服务的健康检查方式,名称为HTTP-Check,检查间隔设置为15秒 健康检查的方式为使用GET命令获取服务器根目录下index.html文件

CLI:

AX(config)# health monitor HTTP-Check interval 15 ;命名为HTTP-Check,检查间隔15秒

AX(config-health:monitor)# method http url GET /index.html ;配置HTTP Get的检查

在服务器端口下启用此HTTP健康检查方法;

AX(config)# slb server rs1

AX(config-real server)# port 80 tcp

AX(config-real server-node port)# health-check HTTP-Check ;启用创建的HTTP健康检查

AX(config)# slb server rs2

AX(config-real server)# port 80 tcp

AX(config-real server-node port)# health-check HTTP-Check ;启用创建的HTTP健康检查

GUI:

进入配置模式—服务—健康监测,点击添加新建名称为HTTP-Check的健康检查模板,间隔设置为15秒,类型选择HTTP,设置URL: GET /index.html。

A10网络负载均衡测试方案

进入配置模式—服务—SLB—服务器,新建服务器rs1和rs2,选择健康检查采用HTTP-Check模板

添加端口80,协议为TCP

A10网络负载均衡测试方案

建立完成后,确认rs1和rs2均采用HTTP-Check方式进行健康检查

测试步骤:

1、 确认配置正确,健康检查通过,图形界面显示绿色标识。 2、 分别关闭服务器的HTTP服务,查看负载均衡中服务器状态

3、 分别将服务器中的index.html文件改变存放位置,观察负载均衡中服

务器状态。

3. 内容状态的健康检查

创建基于服务的健康检查方式,名称为HTTP-Content-Check,检查间隔设置为15秒。

健康检查的方式为使用GET命令获取服务器根目录下index.html文件,并通过index网页中的内容进行检查。

在页面文件index.html中加入TEST字样

建立基于内容的健康检查模板HTTP-Content-Check,判断检查对象是否含有TEST字样

CLI:

AX(config)# health monitor HTTP-Content-Check interval 15

AX(config-health:monitor)# method http url GET /index.html expect TEST

在服务器端口下启用此HTTP-Content-Check健康检查方法;

A10网络负载均衡测试方案

AX(config)# slb server rs1

AX(config-real server)# port 80 tcp

AX(config-real server-node port)# health-check HTTP-Content-Check AX(config)# slb server rs2

AX(config-real server)# port 80 tcp

AX(config-real server-node port)# health-check HTTP-Content-Check

GUI:

进入配置模式—服务—健康监测,点击添加新建名称为HTTP-Content-Check的健康检查模板,间隔设置为15秒,类型选择HTTP,设置URL: GET /index.html,内容匹配TEST

进入配置模式—服务—SLB—服务器,新建服务器rs1和rs2,选择健康检查采用HTTP-Content-Check模板

A10网络负载均衡测试方案

添加端口80,协议为TCP。

建立完成后,确认rs1和rs2均采用HTTP-Content-Check方式进行健康检查

测试步骤:

4、 确认配置正确,健康检查通过,图形界面显示绿色标识。 5、 分别关闭服务器的HTTP服务,查看负载均衡中服务器状态

6、 分别将服务器中的index.html文件的内容进行改变,删除TEST字样,

观察负载均衡中服务器状态。

A10网络负载均衡测试方案

4. DNS状态的健康检查

DNS的健康检查除了基本的ICMP检查方式以外,可以使用自定义的方式进行健康检查。可自定义的方式有检查回应代码、检查递归状态和检查回应类型。

DNS回应包代码范围为0~15,0代表无错误返回。默认检查回应代码为0; DNS检查递归状态,默认为允许递归查询;

DNS回应包类型可选择的范围为A、CNAME、SOA、PTR、MX、TXT、AAAA。默认检查回应包应该为A记录。

创建自定义的DNS健康检查模板,名称为dns-hm

AX(config)#health monitor dns-hm

使用自定义健康检查方式,检查域名www.a10networks.com 检查回应代码为0,3,5,

AX(config-health:monitor)#method dns domain www.a10networks.com expect response-code 0,3,5

创建两台DNS服务器,名称为ns1和ns2,ip地址分别为10.0.2.18和10.0.2.19,使用端口为TCP 53,启用自定义健康检查dns-hm。

AX(config)#slb server ns1 10.0.2.18 AX(config-real server)#port 53 udp

AX(config-real server-node port)#health-check dns-hm

AX(config)#slb server ns2 10.0.2.19 AX(config-real server)#port 53 udp

AX(config-real server-node port)#health-check dns-hm

创建DNS服务组SG-DNS,将ns1和ns2加入服务组中。

AX(config)#slb service-group SG-DNS udp AX(config-slb svc group)#member ns1:53 AX(config-slb svc group)#member ns2:53

创建DNS服务的VIP,名称为vip-dns,使用ip地址10.0.1.12,端口为53,类型为UDP,选择服务组为SG-DNS。

AX(config)#slb virtual-server vip-dns 10.0.1.12 AX(config-slb vserver)#port 53 dns-udp

AX(config-slb vserver-vport)#service-group SG-DNS

A10网络负载均衡测试方案

GUI:

进入配置模式—健康检查, 从下拉菜单中,将默认TCP更改为DNS 添加自定义的DNS健康检查模板,名称为dns-hm

使用自定义健康检查方式,www.a10networks.com 匹配回应代码为0,3,5

A10网络负载均衡测试方案

进入配置模式—SLB—服务器,添加服务器ns1和ns2,ip地址为10.0.2.18和10.0.2.19

添加服务端口53,协议为UDP,启用健康监测dns-hm

进入配置模式—SLB—服务器,添加服务组SG-DNS,添加服务组成员ns1和ns2,分别使用udp 53端口。

进入配置模式—SLB—虚拟服务器,添加虚拟服务器vip-dns,ip地址为10.0.1.12,添加端口53,类型为DNS-UDP,配置服务组SG-DNS

A10网络负载均衡测试方案

测试方法:

1、 配置ns1和ns2能够正常提供服务,能够提供

www.a10networks.com的正常解析,查看服务器和dns-vip的状态; 2、 在外网出口处,采用ACL或者其他的方式,阻止ns1或ns2出向的流

量,限制ns1或ns2的互联网访问,使得其中一台DNS不能正常提供解析服务,查看服务器和dns-vip的状态;

3、 将自定义的dns-hm方式更换为ICMP和TCP的默认健康检查方式,

查看服务器和dns-vip的状态。

5. 使用外部脚本程序的健康检查

基于脚本的健康检查(TCL/Perl/Shell/Python script和aFlex):通过关联检查与某个应用相关的一系列应用服务器的健康状态来确定某一应用的健康状态。如:通过同时检测Web应用、中间件服务器和数据库服务器的状态来判断整个应用的健康状态。

当AX检测到服务器失效时,AX自动把失效服务器进行隔离,不再给其分发来自客户端的需求。当AX检测到失效服务器恢复后,AX继续给其分发来自客户端的需求。

AX支持的外部脚本程序包括 1、 2、 3、 4、

TCL脚本 Perl脚本 Shell脚本 Python脚本

A10网络负载均衡测试方案

注意: 当选择Perl、Shell和Python脚本进行健康检查时,当前应用健康检查的服务器的IP地址为(HM_SRV_IPADDR),服务器的端口为 (HM_SRV_PORT),可在脚本程序中直接调用。

4. HTTP应用模板配置及测试

创建服务器HTTP应用模板的前提是,建立新的VIP后,创建的VPORT类型为HTTP,此时VIP的部属模式为L7层部属,方可应用HTTP应用模板。

若创建的VPORT的类型为TCP,虽然端口选择的为80,则AX仍然认为此端口部属模式为L4层,健康检查不允许使用HTTP应用模板。

注意:本章内容均按照上述文中的服务器设置和拓扑架构,采用服务器为rs1和rs2,服务器组均采用sg-http,成员为rs1:80和rs2:80。

HTTP应用模板可支持的类型有:

? Failover: 当所有物理服务器宕机时,重定向到某个给出站点; ? Retry-on-5xx: 当选择的服务器出现5xx错误时,重新为请求选择同一个服务组中的另外一台服务器;

? Compression: HTTP内容压缩模板,卸载服务器CPU压缩负载,HTTP内容不在服务器上压缩,直接发送至负载均衡设备,在负载均衡上进行压缩后发送给客户端;

? Header Insert/Replace: HTTP报头替换,在HTTP的请求报头或相应包头中插入指定的内容;

? Header Erase: HTTP报头擦除,在HTTP的请求或者回应报头中,删除指定的内容;

? Host Switching: 根据HTTP报头中HOST指定的字符串来选择指定的服务组;

? Client IP Insert: 将客户端的IP地址插入到HTTP报头,使得服务器能够得到客户端IP地址;

? Redirect Rewrite: 对于客户端的请求进行重定向;

? URL Switching: 根据HTTP报头中URL指定的字符串来选择指定的服务组;

? URL Hash Persistence:在未配置Host Switching和URL Switching的情况下,可根据URL中指定位数的字符串的HASH结果进行会话保持;

? Non-HTTP bypass: 将非HTTP的流量重定向到某特定的服务组; ? Session Termination for non-compliant HTTP 1.1 Clients: 在使用连接复用的情况下,终结带有 “Connection: close”报头的连接。

A10网络负载均衡测试方案

1. Failover失效重定向

此功能的作用是当本机设置的所有的Real Server均不能提供正常服务时,AX可向客户端发送一个HTTP 302重定向的报文,使得客户端浏览器重新定向到新的地址。

本功能在设置的Real Server的健康检查全部未通过时激活。 CLI:

首先建立一个名为urlfailover的HTTP模板:

AX(config)#slb template http urlfailover

AX(config-HTTP template)#failover-url www.example2.com AX(config-HTTP template)#exit

然后在VIP下的VPORT中应用此模板

AX(config)#slb virtual-server vs1 1.1.1.1 AX(config-slb virtual server)#port 80 http

AX(config-slb virtual server-slb virtua...)#template http urlfailover

GUI:

进入配置模式—服务—模板—应用,新建一个HTTP的模板,名称为rulfailover, 失败后转到URL中输入:www.example2.com

在VIP下的VPORT中应用此模板。

进入配置模式—服务—SLB—虚拟服务器,进入所需要应用此模板的虚拟服务器配置模式;

添加或选择需要使用此模板的端口,点击编辑后进入VPORT编辑模式; 确认端口类型为HTTP,如非HTTP类型可能会看不到此模板的选项; 在子选项中的HTTP模板中选择刚才建立的HTTP模板,urlfailover; 点击确定,完成配置。

A10网络负载均衡测试方案

2. Retry-On-5xx服务器错误重试模板

若客户端访问的服务器返回错误代码为5xx,则这个代码会返回到客户端浏览器,告知浏览器当前服务器错误(例如返回HTTP 503代表服务不可用)。

AX在默认情况下会转发此代码回客户端。

AX也可以开启监听返回到服务器的报文,若出现5xx的服务器错误报文,则为此HTTP请求重新在Service Group中另外选择一台服务器,从而提高客户端的客户体验和服务质量。

CLI:

新建一个HTTP的模板,名称为5xxretry

AX(config)#slb template http 5xxretry AX(config-HTTP)#retry-on-5xx

在需要的VIP中的VPORT中启用

AX(config)#slb virtual-server vs1 1.1.1.1 AX(config-slb virtual server)#port 80 http

AX(config-slb virtual server-slb virtua...)#template http 5xxretry

GUI:

进入配置模式—服务—模板—应用,新建HTTP模板,名称为5xxretry; 在选项中选择“重试HTTP请求:”

A10网络负载均衡测试方案

在VIP下的VPORT中应用此模板

进入配置模式—服务—SLB—虚拟服务器,进入所需要应用此模板的虚拟服务器配置模式;

添加或选择需要使用此模板的端口,点击编辑后进入VPORT编辑模式; 确认端口类型为HTTP,如非HTTP类型可能会看不到此模板的选项; 在子选项中的HTTP模板中选择刚才建立的HTTP模板,5xxretry; 点击确定,完成配置。

3. Compression内容压缩模板

当客户向服务器发送HTTP请求后,服务器会根据客户端中特殊字段所表明的客户端支持的压缩方式,进行对请求内容的压缩后再发送给客户端。

HTTP内容压缩势必会增加服务器的负载,AX可以对这部分功能进行替代,根据客户端发送的HTTP报头中存在可支持的压缩方式进行压缩。AX向服务器提

A10网络负载均衡测试方案

出请求时,要求服务器无需进行压缩,能够缓解服务器的压力。当客户端请求的HTTP内容到达AX后,由AX进行压缩后,再传递给客户端。

压缩选项中,压缩等级分为1~9,默认压缩等级为1,压缩比最大,所消耗CPU资源最少,处理速度最快;9级压缩比最大,所消耗的CPU资源最大,处理速度最慢。

压缩选项中可根据内容进行,如对图片image进行压缩,或者对于zip文件进行不压缩等等。默认对text和application进行压缩。

CLI:

新建一个HTTP的模板,名称为http-compress

AX(config)#slb template http http-compress AX(config-HTTP template)#compression enable AX(config-HTTP template)#compression level 5

AX(config-HTTP template)#compression content-type image AX(config-HTTP template)#compression exclude-content-type application/zip

在需要的VIP中的VPORT中启用

AX(config)#slb virtual-server vs1 1.1.1.1 AX(config-slb virtual server)#port 80 http

AX(config-slb virtual server-slb virtua...)#template http http-compress

GUI:

进入配置模式—服务—模板—应用,新建HTTP模板,名称为http-compress;

在选项中选择“压缩”,选择启用,完成配置。

A10网络负载均衡测试方案

在VIP下的VPORT中应用此模板。

进入配置模式—服务—SLB—虚拟服务器,进入所需要应用此模板的虚拟服务器配置模式;

添加或选择需要使用此模板的端口,点击编辑后进入VPORT编辑模式; 确认端口类型为HTTP,如非HTTP类型可能会看不到此模板的选项; 在子选项中的HTTP模板中选择刚才建立的HTTP模板,http-compress; 点击确定,完成配置。

A10网络负载均衡测试方案

4. Header Insert报头抹去/插入模板

当用户端向服务器进行HTTP的访问请求或者服务器端向客户端进行HTTP的响应以及内容返回时,我们可对进行交互操作的HTTP报文进行拦截监听,在HTTP报头中插入或者删除特定的字段。

例如:需要做服务器版本或者服务器类型的欺骗时,可对HTTP中Server字段进行修改。

HTTP报头替换的功能实际上是由擦除和插入同时工作完成的。

CLI:

新建一个HTTP的模板,名称为replace-cookie

总是在HTTP报头中加入,如果以及存在了这个值,则会替换最后一个;

AX(config)#slb template http replace-cookie

AX(config-HTTP template)#request-header-insert \

常用到的参数:instert-always

总是在HTTP报头加入,而并不会替换原有的值,会在原有值上加入一条;

AX(config)#slb template http add-cookie

AX(config-HTTP template)#request-header-insert \always

常用到的参数:instert-if-not-exist

判断HTTP报头中是否存在这个值,如果存在则不改变报头,若没有的话,则加入此设定值:

AX(config)#slb template http add-cookie-unless-present

AX(config-HTTP template)#request-header-insert \if-notexist

在需要的VIP中的VPORT中启用

AX(config)#slb virtual-server vs1 1.1.1.1 AX(config-slb virtual server)#port 80 http

AX(config-slb virtual server-slb virtua...)#template http add-cookie

GUI:

进入配置模式—服务—模板—应用,新建HTTP模板,名称为add-cookie; 打开子选项菜单,“报头中抹去“,在名称中添加需要改变的HTTP报文的内容:输入 “Cookie: a=3”,注意报头插入格式为:: 此域必填

A10网络负载均衡测试方案

进入VIP中的VPORT中,应用此新建的模板

进入配置模式—服务—SLB—虚拟服务器,进入所需要应用此模板的虚拟服务器配置模式;

添加或选择需要使用此模板的端口,点击编辑后进入VPORT编辑模式; 确认端口类型为HTTP,如非HTTP类型可能会看不到此模板的选项; 在子选项中的HTTP模板中选择刚才建立的HTTP模板,http-compress; 点击确定,完成配置。

A10网络负载均衡测试方案

5. Host Switching 主机选择模板

6. Client IP Insert: 客户端IP插入报头模板 7. Redirect Rewrite报头重定向重写模板

此功能的用途是将访问80端口的HTTP报文重新使用HTTPS协议并定向到本机的443端口。用于明文传输改为密文传输的方式。

CLI:

创建重定向模板,名称为tp-http-redirect,规则为将http协议重定向到https,使得明文传输方式重定向到本机的加密方式。

AX#conf t

AX(config)#slb template http tp-http-https AX(config-http)#redirect-rewrite secure

在需要的VIP中的VPORT中启用

AX(config)#slb virtual-server vs1 1.1.1.1 AX(config-slb virtual server)#port 80 http

AX(config-slb virtual server-slb virtua...)#template http tp-http-https

GUI:

进入配置模式—服务—模板—应用--HTTP, 新建一个名称为tp-http-https的模板

将可选择菜单中的重定向重写选项打开,在选项HTTPS重写中选择启用,并设置端口为443。

A10网络负载均衡测试方案

8. URL Switching链接选择模板

9. URL Hash Persistence: URL会话保持模板

10. Non-HTTP bypass: 非HTTP流量重定向模板 11. RAM缓存模板

5. 会话保持测试模板配置及测试

会话保持是负载均衡非常重要的一项功能,能够让同一个的客户端访问相同的服务时候,将会话保持到同一台提供服务的物理服务器上,保持应用的正常运行。例如:电子商务网站的购物车功能,购票网站的选座位应用,等需要前后网络应用具有连续性的服务。

AX系列应用交付控制器支持如下方式的会话保持,需要根据不同的场景和环境来应用不同的会话保持模型:

1. 基于Cookie的会话保持

根据不同服务器插入的Cookie来进行会话保持

2. 基于目的IP的会话保持

根据同一个客户端访问的目的地址相同进行会话保持

3. 基于源IP的会话保持

根据同一个客户端的访问,进行的会话保持

4. 基于SSL Session-ID的会话保持

根据同一个客户端发出的HTTPS中特定的SSL Session-ID为标识的会话保持。

本文来源:https://www.bwwdw.com/article/cuh3.html

Top