温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何预防keepalived脑裂问题

发布时间:2021-11-05 18:32:25 来源:亿速云 阅读:665 作者:柒染 栏目:建站服务器

如何预防keepalived脑裂问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

(1)可以采用第三方仲裁的方法。由于keepalived体系中主备两台机器所处的状态与对方有关。如果主备机器之间的通信出了网题,就会发生脑裂,此时keepalived体系中会出现双主的情况,产生资源竞争。

(2)一般可以引入仲裁来解决这个问题,即每个节点必须判断自身的状态。最简单的一种操作方法是,在主备的keepalived的配置文件中增加check配置,服务器周期性地ping一下网关,如果ping不通则认为自身有问题 。

(3)最容易的是借助keepalived提供的vrrp_script及track_script实现。如下所示:

#vim /etc/keepalived/keepalived.conf

  ......

  vrrp_script check_local {

   script "/root/check_gateway.sh"

   interval 5

   }

  ...... 

  track_script {    

  check_local                  

  }

   脚本内容:

   # cat /root/check_gateway.sh

  #!/bin/sh

  VIP=$1

  GATEWAY=192.168.1.1

  /sbin/arping -I em1 -c 5 -s $VIP $GATEWAY &>/dev/null  

   check_gateway.sh 就是我们的仲裁逻辑,发现ping不通网关,则关闭keepalived。

(4)检测思路:正常情况下keepalived的VIP地址是在主节点上的,如果在从节点发现了VIP,就设置报警信息。脚本(在从节点上)如下:

vim split-brainc_check.sh

#!/bin/bash

# 检查脑裂的脚本,在备节点上进行部署

LB01_VIP=192.168.1.229

LB01_IP=192.168.1.129

LB02_IP=192.168.1.130

while true

do

 ping -c 2 -W 3 $LB01_VIP &>/dev/null

   if [ $? -eq 0 -a `ip add|grep "$LB01_VIP"|wc -l` -eq 1 ];then

       echo "ha is brain."

   else

       echo "ha is ok"

   fi

   sleep 5

done

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI