当前位置: 首页 > 工具软件 > ldirectord > 使用案例 >

linux运维——自动检测后端服务器心跳(ldirectord)

汝吕恭
2023-12-01

1、 ldirectord

ldirectord是一个守护进程,用于监视和管理负载平衡虚拟服务器的LVS集群中的真实服务器。ldirectord通常用作Linux HA的资源,但也可以从命令行运行。使用ldirectord程序,这个程序在启动时自动建立IPVS表,然后监视集群节点的健康情况,在发现失效节点时将其自动从IPVS表中移除
ldirectord守护进程通过向每台真实服务器真实IP(RIP)上的集群资源发送访问请求来实现对真实服务器的监控,这对所有类型的LVS集群都是成立的:LVS-DR,LVS-NAT和LVS-TUN。
正常情况下,为每个Director上的VIP地址运行一个ldirectord守护进程,当真实服务器不响应运行在Director上的ldirectord守护进程时,ldirectord守护进程运行适当的ipvsadm命令将VIP地址从IPVS表中移除。(以后,当真实服务器回到在线状态时,ldirectord使用适当的ipvsadm命令将真实服务器重新添加到IPVS表中)

2 、使用LVS-DR模式演示ldirectord监视集群节点

1、首先使用高可用下载包的时候,需要调整好yum源, 可以在真机中查看高可用的地址

调度器端的yum源配置好*

[westos]               这个是原来的yum源
name=westos
baseurl=http://172.25.35.250/westos
gpgcheck=0

[westos]        加入新的高可用分源
name=westos
baseurl=http://172.25.35.250/westos/addons/HighAvailability
gpgcheck=0
2.下载高可用包ldirectord
ldirectord-3.9.5-3.1.x86_64.rpm   这个包yum源是没有的,所以在网上进行下载
[root@lucky2 mnt]# yum install ldirectord-3.9.5-3.1.x86_64.rpm -y

因为这个包是可以解决高可用的依赖性 所以下载上

3、下载lvs管理工具,ipvsadm

这里只要安装该管理工具,不需要设置策略。

[root@lucky2 ha.d]# yum install ipvsadm -y
4、配置ldirectored默认文件

ldirectord有一个配置文件/etc/ha.d/ldirectord.cf,但是该文件需要从别的地方复制到该位置。用于指定虚拟服务及其关联的实际服务器。初始化lddirectord时,它会为集群创建虚拟服务

cd /etc/ha.d/
[root@lucky2 ha.d]# cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf  /etc/ha.d/     将缺少的文件复制到默认目录下 

编辑该文件

[root@lucky2 ha.d]# vim ldirectord.cf

编辑内容

checktimeout=3   #后端服务器健康检查等待时间
checkinterval=1   #两次检查间隔时间
autoreload=yes  #自动添加或者移除真实服务器
quiescent=no  #故障时移除服务器的时候中断所有连接

virtual=172.25.35.100:80                  虚拟主机的ip
        real=172.25.35.4:80 gate     代理主机的真实ip
        real=172.25.35.3:80 gate
        fallback=127.0.0.1:80 gate
        service=http
        scheduler=rr
        #persistent=600
        #netmask=255.255.255.255
        protocol=tcp
        checktype=negotiate
        checkport=80
        request="index.html"
        #receive="Test Page"
        #virtualhost=www.x.y.z

设置开机启动

[root@lucky2 ha.d]# systemctl start ldirectord
[root@lucky2 ha.d]# systemctl enable ldirectord
5 调度器以及真实服务器添加VTP

ip addr add 172.25.35.100/24 dev eth0 # 临时添加ip到eth0网卡 调度器与真实服务器都添加

在调度器中所做的服务操作

[root@2 mnt]# ipvsadm -A -t 172.25.35.100:80 -s rr
[root@lucky2 ha.d]# ipvsadm -a -t 172.25.35.100:80 -r 172.25.35.3:80 -g
[root@lucky2 ha.d]# ipvsadm -a -t 172.25.35.100:80 -r 172.25.35.4:80 -g
[root@lucky2 ha.d]# ipvsadm -l
6调度器安装httpd服务

同时配置文件中指定,调度器本机作为一个备用服务器,所有机qi(包括调度器和后端服务器集群)也需要安装httpd服务并且设置共享页面。
如果客户访问的是本机的服务,说明所有的后端服务器都已经瘫痪

检测:

在客户端中检测,先将后端所有的服务器打开,查看是负载均衡的情况

[kiosk@foundation35 images]$ curl 172.25.35.100
333
[kiosk@foundation35 images]$ curl 172.25.35.100
44444
[kiosk@foundation35 images]$ curl 172.25.35.100
333
[kiosk@foundation35 images]$ curl 172.25.35.100
44444
[kiosk@foundation35 images]$ curl 172.25.35.100
333
[kiosk@foundation35 images]$ curl 172.25.35.100
44444
[kiosk@foundation35 images]$ curl 172.25.35.100
333

将后端服务器的httpd服务宕机,查看调度器是否会自动顶替上去

[kiosk@foundation35 images]$ curl 172.25.35.100 		 	查看调度器会自动顶替上去
222222222222222222222222222222222222222222222222222222222222222222
[kiosk@foundation35 images]$ curl 172.25.35.100
222222222222222222222222222222222222222222222222222222222222222222
[kiosk@foundation35 images]$ curl 172.25.35.100
222222222222222222222222222222222222222222222222222222222222222222
[kiosk@foundation35 images]$ curl 172.25.35.100

但是调度器只是会顶替一段时间,时间久了,就会导致大量的数据,一个服务器接受不了,大量的数据从前端涌入后端,导致后端服务器系统崩溃,但是当其中的一台后端服务器修复以后,后台的服务器会迅速上线,并且替代调度器,而且上线的速度是非常之快的。

 类似资料: