高可用的腦裂現象


 

由於某些原因,導致兩台keepalived高可用服務器在指定時間內,無法檢測到對方的心跳,各自取得資源及服務的所有權,而此時的兩台高可用服務器又都還活着。

 

 

1.腦裂的原因

1.服務器網線松動等網絡故障 2.服務器硬件故障發生損壞現象而崩潰 3.主備都開啟firewalld防火牆

2.故障演示

1)開啟防火牆

[root@lb01 ~]# systemctl start firewalld [root@lb02 ~]# systemctl start firewalld

2)查看兩個節點

[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

3)訪問項目頁面

#拒絕訪問,需要配置防火牆規則 [root@lb01 ~]# firewall-cmd --add-service=http success [root@lb02 ~]# firewall-cmd --add-service=https success #訪問頁面正常

3.解決腦裂的辦法

#如果發生腦裂,則隨機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        #大於等於

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM