欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

负载均衡集群——lvs之DR模式下的健康检测(Idirectord)

程序员文章站 2022-06-13 10:28:45
...

一、DR模式下的健康检测原因
lvs的DR模式和TUN模式都是后端服务器是正常工作;当lvs集群中的一台后备服务器挂了之后,为了不影响客户的正常访问,应该将它从集群当中踢出去,让客户不再轮询访问;调度器只把客户端的请求转发给状态好的那台web服务器,否则客户端是一会可以访问,一会不能访问,会影响访问效果;一个集群的web服务器上面的资源一模一样,访问哪个客户根本感觉不到。
二、模拟后端服务器挂掉之后如何把挂掉的后端服务器踢出去
2.1实验环境
搭建DR模式访问环境(基于DR模式来做)
调度器上设置(server1)

[aaa@qq.com html]# ipvsadm -C  清除策略信息
[aaa@qq.com html]# ipvsadm -ln
[aaa@qq.com html]# modprobe -r ipip  删除ipip模块
[aaa@qq.com html]# ip addr add 192.168.1.100/24 dev ens33
[aaa@qq.com html]# ip a

负载均衡集群——lvs之DR模式下的健康检测(Idirectord)

负载均衡集群——lvs之DR模式下的健康检测(Idirectord)
后端两台服务器(server1/2)都要卸载ipip模块并且添加ip
负载均衡集群——lvs之DR模式下的健康检测(Idirectord)
负载均衡集群——lvs之DR模式下的健康检测(Idirectord)
主机测试(一切正常)
负载均衡集群——lvs之DR模式下的健康检测(Idirectord)
问题产生(停掉后端服务器一台或者删除发布页面)

[aaa@qq.com ~]# systemctl stop httpd

此时主机*问会时好时坏影响客户端正常访问,这在企业当中是不允许的
负载均衡集群——lvs之DR模式下的健康检测(Idirectord)
查看两台服务器被访问的次数

[aaa@qq.com html]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.1.100:80 rr
  -> 192.168.1.22:80              Route   1      0          4         
  -> 192.168.1.33:80              Route   1      0          4       

恢复正常

[aaa@qq.com ~]# systemctl start  httpd

负载均衡集群——lvs之DR模式下的健康检测(Idirectord)

使用ldirectord这个插件解决上面的问题,使得客户可以稳定的访问web资源
解决方法
1.server1上传软件包ldirectord-3.9.5-3.1.x86_64.rpm
配置域yum源
负载均衡集群——lvs之DR模式下的健康检测(Idirectord)

负载均衡集群——lvs之DR模式下的健康检测(Idirectord)

[aaa@qq.com Desktop]# yum install -y ldirectord-3.9.5-3.1.x86_64.rpm

负载均衡集群——lvs之DR模式下的健康检测(Idirectord)

正常访问
负载均衡集群——lvs之DR模式下的健康检测(Idirectord)
出现问题挂掉一台后端web服务器(此处挂掉server3)

[aaa@qq.com ~]# systemctl stop  httpd
[aaa@qq.com ~]# cat /var/www/html/index.html 
bbs.westos.org

再次主机测试
只访问一台web服务器,挂掉的被移除(客户端访问正常)
负载均衡集群——lvs之DR模式下的健康检测(Idirectord)
server1调度器上查看只有一台web服务器
负载均衡集群——lvs之DR模式下的健康检测(Idirectord)
恢复正常访问

[aaa@qq.com ~]# systemctl restart httpd

负载均衡集群——lvs之DR模式下的健康检测(Idirectord)

负载均衡集群——lvs之DR模式下的健康检测(Idirectord)