zoukankan      html  css  js  c++  java
  • 高可用的脑裂现象

    由于某些原因,导致两台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        #大于等于
  • 相关阅读:
    6、redux源码解析
    5、redux源码解析
    4、redux源码解析
    3、redux码源
    2、redux源码探索
    1、redux源码探索
    Second Autoprefixer control comment was ignored. Autoprefixer applies control comment to whole block, not to next rules.
    Linux命令——whereis
    Linux命令——which
    Linux命令——tail
  • 原文地址:https://www.cnblogs.com/chenlifan/p/13652539.html
Copyright © 2011-2022 走看看