lvs提供负载均衡的功能,但是后端服务器在发生宕机时,lvs不会停止对宕机的服务器调度,会继续将请求调度到故障的服务器上。
ldirectord就是解决这一问题,它定义了每多长时间去检测real-server是否存活,如果发生宕机的时候,是否删除对应的ipvsadm策略。以及使用自己的web服务来响应用户的请求。
安装
安装地址:http://rpm.pbone.net/index.php3/stat/4/idpl/54404991/dir/centos_other/com/ldirectord-4.1.1-3.40.el7.noarch.rpm.html
帮助文档:http://rpm.pbone.net/index.php3/stat/45/idpl/31373184/numer/8/nazwa/ldirectord
配置文件
安装包之后是没有配置文件的,需要将ldirectord.cf复制到/etc/ha.d下
[root@lvs ~]# cp /usr/share/doc/ldirectord-4.1.1/ldirectord.cf /etc/ha.d/
11 # Global Directives
12 checktimeout=3 多长时间视为失败
13 checkinterval=1 多长时间检查一次
14 #fallback=127.0.0.1:80 后端都有问题时,本地的httpd服务启用
15 #fallback6=[::1]:80
16 autoreload=yes 是否随时读取配置文件,启动服务之后,只要保存文件就自动读取
17 #logfile="/var/log/ldirectord.log" 是否启用日志文件
18 #logfile="local0"
19 #emailalert="admin@x.y.z"
20 #emailalertfreq=3600
21 #emailalertstatus=all
22 quiescent=no real server发生down时,no为删除策略,yes是权重设为0
24 # Sample for an http virtual service
25 virtual=192.168.6.240:80 vs服务器地址和端口
26 servicename=Web Site
27 comment=Test load balanced web site
28 real=192.168.6.2:80 gate real-server地址
29 real=192.168.6.3:80 gate
30 real=192.168.6.6:80 gate
31 fallback=127.0.0.1:80 gate
32 service=http 访问协议
33 scheduler=rr 调度方法
34 #persistent=600 持久连接时长
35 #netmask=255.255.255.255
36 protocol=tcp 连接请求协议
37 checktype=negotiate 默认即可
38 checkport=80 检查端口
39 request="index.html" 请求哪个页面
40