二.将模板文件中的LVS-DR模式相关文件拷贝到/etc/ha.d主配置目录并按实际设备修改
基于前文的LVS-DR集群构建环境
一.下载ldirectord软件
[root@localhost ~]# yum install -y ldirectord-4.1.1-3.40.el7.noarch.rpm
[root@localhost ~]# rpm -ql ldirectord
/etc/ha.d #主配置目录
/etc/ha.d/conf
/etc/ha.d/resource.d
/etc/ha.d/resource.d/ldirectord
/etc/logrotate.d/ldirectord
/etc/rc.d/init.d/ldirectord
/run/ldirectord
/usr/lib/systemd/system/ldirectord.service #服务管理
/usr/lib/tmpfiles.d/ldirectord.conf
/usr/sbin/ldirectord #主程序
/usr/share/doc/ldirectord-4.1.1
/usr/share/doc/ldirectord-4.1.1/ldirectord.cf #配置模板文件
/usr/share/man/man8/ldirectord.8.gz
二.将模板文件中的LVS-DR模式相关文件拷贝到/etc/ha.d主配置目录并按实际设备修改
[root@localhost ha.d]# pwd
/etc/ha.d
[root@localhost ha.d]# vim ldirectord.cf
checktimeout=3
checkinterval=1
autoreload=yes #自动重载
logfile="/var/log/ldirectord.log" #日志存放路径
quiescent=no
virtual=192.168.2.188:80 #VIP地址1
servicename=Web Site
comment=Test load balanced web site
real=192.168.2.191:80 gate 2 #RS地址,gate表示权重1
real=192.168.2.192:80 gate 3
service=http
scheduler=wrr #调度算法
protocol=tcp
checktype=negotiate
checkport=80
request="index.html"
receive="Test Page"
virtualhost=www.x.y.z
三.配置两台RS匹配规则
[root@localhost ha.d]# 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.2.188:80 wrr
[root@localhost ha.d]# ipvsadm -a -t 192.168.2.188:80 -r 192.168.2.191 -g -w 2
[root@localhost ha.d]# ipvsadm -a -t 192.168.2.188:80 -r 192.168.2.192 -g -w 3
[root@localhost ha.d]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP localhost.localdomain:http wrr
-> 192.168.2.191:http Route 2 0 0
-> 192.168.2.192:http Route 3 0 0
四.停止RS1的http服务进行测试
RS1失去工作能力,RS2接替RS1
[root@localhost ~]# systemctl stop httpd.service
[root@localhost ~]# for ((i=1;i<=10;i++)); do curl 192.168.2.188:80; done
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
share192
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
share192
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
[root@localhost ~]# for ((i=1;i<=10;i++)); do curl 192.168.2.188:80; done
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
share192
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
share192
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused