Molet

具体方案中的负载均衡器测试过程详解

Molet 运维技术 2022-11-16 467浏览 0

前面我们已经介绍了这个方案的设备安装连接,以及负载均衡器的配置问题。下面,在配置好的负载均衡器以及服务器上面进行一下测试,那么具体的代码相关内容都进行了总结。

多vrrp_instance负载均衡集群功能测试

在进行测试之前,需要把lvs客户端、负载均衡器(keepalived)、各真实服务器上的服务都启动,并逐个检验其正确性。

◆健康检查功能(故障隔离)测试

多vrrp_instance健康检查功能(故障隔离)测试的方法与单vrrp_instance相同。因多vrrp_instance所涉及的服务较多(本案3个),因此需要多花些时间逐个测试。如果多vrrp_instance涉及的服务很多,则可采用随机抽样的方式进行测试,通过观察lvs负载均衡器的转发状态(ipvsadm)及lvs负载均衡器的系统日志了解健康检查测试的有效性。

◆负载均衡器失败切换

本案的多vrrp_instance负载均衡环境正常运行后,每个lvs负载均衡器都有MASTER和BACKUP两种状态,每一个lvs负载均衡器都承担转发任务。当我们在每个lvs负载均衡器上执行ipvsadm时,其输出结果正好交错的,即lvs-1上如果有非0输出时,则lvs_2相对应的项为0;反之亦然。表1为某运行环境lvs负载均衡器的输出截取对比。

Lvs_1 的ipvsadm 输出(部分)

Lvs_2 的ipvsadm 输出(部分)

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 61.128.10.4:9000 wlc persistent 50

-> 61.128.10.16:9000 Route 200 4607 139

-> 61.128.10.17:9000 Route 200 4611 154

-> 61.128.10.5:9000 Route 100 2306 65

-> 61.128.10.8:9000 Route 100 2307 89

………………………………

TCP 61.128.20.124:http wlc persistent 30

-> 61.128.20.98:http Route 100 0 0

-> 61.128.20.93:http Route 100 0 0

-> 61.128.20.81:http Route 100 0 0

-> 61.128.20.82:http Route 100 0 0

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 61.128.10.4:9000 wlc persistent 50

-> 61.128.10.16:9000 Route 100 0 0

-> 61.128.10.17:9000 Route 100 0 0

-> 61.128.10.5:9000 Route 100 0 0

-> 61.128.10.8:9000 Route 100 0 0

……………………………

TCP 61.128.20.124:http wlc persistent 20

-> 61.128.20.98:http Route 100 821 1437

-> 61.128.20.93:http Route 100 823 1562

-> 61.128.20.82:http Route 100 823 1336

-> 61.128.20.81:http Route 100 825 1033

表1多vrrp_instance负载均衡器转发输出对比(注意观察ActiveConnInActConn的值)

现在,我们来停掉lvs_1的keepalived进程,观察lvs_2的系统日志,将会发现vrrp_instance(VI_WEB)从BACKUP状态变成MASTER.于是lvs_2负载均衡器有了两个MASTER状态;另外lvs_2的ipvsadm的输出字段"ActiveConn"的值将全部变成非零。同样,当我们启动lvs_1的keepalived进程、关闭lvs_2的keepalived进程,则lvs_1的状态都是MASTER,所有的转发请求都被转移到lvs_1。

在上述lvs_1和lvs_2手动切换过程中,我们可以通过在客户端浏览器地址栏输入站点名(dns解析域名到lvs的vip),来验证lvs的可用性。自定义服务可以通过在客户端执行telnet61.135.93.1003000及telnet61.135.93.1004000来初步验证。

继续浏览有关 网络 的文章
发表评论