高可用的脑裂现象
由于某些原因,导致两台keepalived高可用服务器在指定时间内,无法检测到对方的心跳,各自取得资源及服务的所有权,而此时的两台高可用服务器又都还活着。
1.服务器网线松动等网络故障
2.服务器硬件故障发生损坏现象而崩溃
3.主备都开启firewalld防火墙
[root@lb01 ~]# systemctl start firewalld
[root@lb02 ~]# systemctl start firewalld
[root@lb01 ~]# ip addr | grep 10.0.0.3
inet 10.0.0.3/32 scope global eth0
[root@lb02 ~]# ip addr | grep 10.0.0.3
inet 10.0.0.3/32 scope global eth0
#拒绝访问,需要配置防火墙规则
[root@lb01 ~]# firewall-cmd --add-service=http
success
[root@lb02 ~]# firewall-cmd --add-service=https
success
#访问页面正常
#如果发生脑裂,则随机kill掉一台即可
#在备节点上编写检测脚本, 测试如果能ping通主,并且备节点还有VIP的话则认为产生了脑裂
[root@lb02 ~]# vim /scripts/check_split_brain.sh
#!/bin/sh
vip=10.0.0.3
lb01_ip=10.0.0.4
lb02_vip=$(ip add|grep "$vip"|wc -l)
while true;do
ssh $lb01_ip "ip add|grep $vip" &>/dev/null
if [ $? -eq 0 -a $lb02_vip -eq 1 ];then
echo "ha is split brain.warning."
else
echo "ha is ok"
fi
sleep 5
done
-eq #等于
-ne #不等于
-lt #小于
-gt #大于
-le #小于等于
-ge #大于等于
本文来自博客园,作者:六月OvO,转载请注明原文链接:https://www.cnblogs.com/chenlifan/p/13652539.html