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表中)
调度器端的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
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
因为这个包是可以解决高可用的依赖性 所以下载上
这里只要安装该管理工具,不需要设置策略。
[root@lucky2 ha.d]# yum install ipvsadm -y
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
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
同时配置文件中指定,调度器本机作为一个备用服务器,所有机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
但是调度器只是会顶替一段时间,时间久了,就会导致大量的数据,一个服务器接受不了,大量的数据从前端涌入后端,导致后端服务器系统崩溃,但是当其中的一台后端服务器修复以后,后台的服务器会迅速上线,并且替代调度器,而且上线的速度是非常之快的。