ldirectord来管理lvs,可以定时检查后端的RS,发现故障后自动清除,调用命令ipvsadm生成lvs的策略,另外可以队RS进行健康检测
1安装 ldirectord-3.9.5-3.1.x86_64.rpm
yum -y install ldirectord-3.9.5-3.1.x86_64.rpm
2配置文件
cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/
vim /etc/ha.d/ldirectord.cf
--->>
virtual=172.25.254.10:80
real=172.25.254.2:80 gate
real=172.25.254.3:80 gate
fallback=127.0.0.1:80 gate ##当所有的RS挂掉,那么访问调度器自身
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
3配置服务器端VIP和arp
yum install arptables_jf
/etc/init.d/arptables_jf start
RS1(服务器host2)
arptables -A IN -d 172.25.254.10 -j DROP
arptables -A OUT -s 172.25.254.10 -j mangle --mangle-ip-s 172.25.254.2
/etc/init.d/arptables_jf save ##和iptables策略一样,一定记得保存策略
这些策略保存在/etc/sysconfig/arptables中;/etc/sysconfig/目录下的文件和网络相关
RS2(服务器host3)
arptables -A IN -d 172.25.254.10 -j DROP
arptables -A OUT -s 172.25.254.10 -j mangle --mangle-ip-s 172.25.254.3
/etc/init.d/arptables_jf save
VIP 由于前一个实验是lvs-keepalived所以事实上arp也不用设置,keepalived会自动生成:ip addr add 172.25.254.124/24 dev eth0 我的是eth1没有eth0
4启动ldirectord
/etc/init.d/ldirectord reload
可以自己查看策略ipvsadm -ln
实验说明
可以看出RS1和RS2正常工作,调度器MAC地址52:54:00:b6:b8:d3 就是调度器host1,此时调度器host1上的vip为172.25.254.10
down掉RS1(host2),当然只能从RS2(host3)上访问数据了
再次down掉RS2(host3),RS1和RS2都挂掉了,那么就会访问调度器自身http服务了