1、工作原理:
ldirectord通过调度器来分发请求给不同的服务器,如果server1挂掉了,那么就把请求发给server2,依次类推,保证请求能被处理。
2、实验环境:
注意:调度器要有所有服务器的的解析,并且每个主机的两个ip都在同一个网卡上
server1:调度器 IP:172.25.1.101
VIP:172.25.1.200
server2:服务器 IP:172.25.1.102
VIP:172.25.1.200
server3:服务器 IP:172.25.1.103
VIP:172.25.1.200
测试机:172.25.1.1
3、配置
server1
添加yum源:解决高可用安装时的依赖关系
[HighAvailability]
name=HighAvailability
baseurl=http://172.25.1.100/rhel7.3/addons/HighAvailability
gpgcheck=0
enabled=1
yum install -y ldirectord-3.9.5-3.1.x86_64.rpm
rpm -qc ldirectord-3.9.5-3.1.x86_64
cp /ust/share/doc/ldirectord-3.9.5/ldirectod.cf /etc/ha.d/
vim /etc/ha.d/ldirectord.cf
virtual=172.25.1.101:80
real=172.25.1.102:80 gate
real=172.25.1.103: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
cd /var/www/html
rm -rf *
vim index.html
网页走丢了
chkconfig --list 查看高可用是否开启
systemctl start httpd
/etc/init.d/ldirectord start
server2
systemctl start httpd
yum install arptables_js
arptables -nL
arptables -A INPUT -d 172.25.1.200 -j DROP
arptables -A OUTPUT -s 172.25.1.200 -j mangle --mangle-ip-s 172.25.1.102
arptables-save > /etc/sysconfig/arptables 保存策略
server3
systemctl start httpd
yum install arptables_js
arptables -nL
arptables -A INPUT -d 172.25.1.200 -j DROP
arptables -A OUTPUT -s 172.25.1.200 -j mangle --mangle-ip-s 172.25.1.103
arptables-save > /etc/sysconfig/arptables 保存策略
4、测试:
一次关掉server1,server2,server3上边的服务,查看请求是否正常
curl 172.25.1.200