keepalived 预防脑裂检测脚本
1 检查vip
[root@mysql2 keepalived]# cat /etc/keepalived/check_brain_keepalived.sh
#!/bin/bash
# 检查脑裂的脚本,在备节点上进行部署
LB01_VIP=*
LB01_IP=*
LB02_IP=*
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
运行脚本,在备节点(keepalived的备),不是mysql的备节点
[root@mysql2 keepalived]# ./check_brain_keepalived.sh
ha is ok
ha is ok
由于在M-M+Keepalived环境中,脑裂是一个始终存在的问题,因为vip的存在,这里提供一个脚本进行检查,检查vip漂移到备节点
发现backup有vip就发警告,此脚本部署在backup机器上
2 定时ping网关的方法
[root@mysql1 keepalived]# /sbin/arping -I ens192 -c 5 -s * *
#!/bin/bash
host=127.0.0.1
CHECK_TIME=3
VIP=*
GATEWAY=*
eth=ens192
#mysql is working MYSQL_IS_OK is 1 , mysql down MYSQL_IS_OK is 0
keepalived_IS_OK=1
function check_keepalived_status (){
/sbin/arping -I $eth -c 5 -s $VIP $GATEWAY >/dev/null 2>&1
if [ $? = 0 ] ;then
keepalived_IS_OK=1
else
keepalived_IS_OK=0
fi
return $keepalived_IS_OK
}
while [ $CHECK_TIME -ne 0 ]
do
let "CHECK_TIME -= 1" check_keepalived_status
if [ $keepalived_IS_OK = 1 ] ; then
CHECK_TIME=0
#/bin/systemctl stop keepalived
echo 1
exit 0
fi if [ $keepalived_IS_OK -eq 0 ] && [ $CHECK_TIME -eq 0 ]
then
/bin/systemctl stop keepalived
echo 0
exit 1
fi
sleep 3
done
keepalived 预防脑裂检测脚本的更多相关文章
- keepalived的脑裂问题与解决
Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工 ...
- keepalived的脑裂问题
keepalived的脑裂问题 学习了:http://blog.51cto.com/10630401/2089847 split-brain 无HA不脑裂
- keepalived 检测脑裂切换脚本
#!/bin/bash count=0 run1=`curl -I 192.168.30.12:8000 | grep "200 OK" | wc -l` run2=`curl - ...
- split-brain 脑裂问题(Keepalived)
脑裂(split-brain)指在一个高可用(HA)系统中,当联系着的两个节点断开联系时,本来为一个整体的系统,分裂为两个独立节点,这时两个节点开始争抢共享资源,结果会导致系统混乱,数据损坏.对于无状 ...
- 解决keepalived脑裂问题
检测思路:正常情况下keepalived的VIP地址是在主节点上的,如果在从节点发现了VIP,就设置报警信息 脚本如下: #!/bin/bash # 检查脑裂的脚本,在备节点上进行部署 LB01_VI ...
- Keepalived脑裂
问题描述:开启防火墙后,Keepalived出现脑裂. 背景架构:两台centos7通过Keepalived实现高可用 问题具体表现形式:两台主机通过ip addr (ip a)查看,发现两台主机都 ...
- keepalived脑裂问题查找
在自己环境做keepalived+redis实验时,当重启了备用redies机器后,发现两台redies主机都拿到了VIP [root@redis2 ~]# ip addr list 1: lo: & ...
- 记一次keepalived脑裂问题查找
在自己环境做keepalived+Redis实验时,当重启了备用redies机器后,发现两台redies主机都拿到了VIP [root@redis2 ~]# ip addr list 1: lo: & ...
- keepalive脑裂的处理,从节点发现访问的虚拟IP就报警,同时尝试发送内容到主节点服务器关闭keepalive和nginx,或者关机
解决keepalived脑裂问题 检测思路:正常情况下keepalived的VIP地址是在主节点上的,如果在从节点发现了VIP,就设置报警信息 脚本如下: 1 2 3 4 5 6 7 8 9 10 ...
随机推荐
- HTTP和HTTPS的区别和联系
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂 ...
- is(':visible')
.end()为结束前面处理函数,返回到最初的元素 .next()为此元素的下一个元素,可以再加上.next()表示下下一个元素,以此类推 :visible 选择器选取每个当前是可见的元素.语法:$(& ...
- C#学习历程(二)[基础知识]
c#中类型的转换 1.Convert.ToInt32(string s) 这个方法的返回值是int类型,要用int类型的变量接收 如: string strNum=Console.ReadLine() ...
- LeetCode OJ:Product of Array Except Self(除己之外的元素乘积)
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equ ...
- 四则运算生成与校检 Python实现
GitHub地址 https://github.com/little-petrol/Arithmetic.git 合作者: 郭旭 和 卢明凯 设计实现过程 代码的组织主要分为两个部分: 算法与结构体的 ...
- 【tensorflow:Google】三、tensorflow入门
[一]计算图模型 节点是计算,边是数据流, a = tf.constant( [1., 2.] )定义的是节点,节点有属性 a.graph 取得默认计算图 g1 = tf.get_default_gr ...
- react 项目及视频
项目 视频
- Django 常见的异常
Django 常见的异常 1 'WSGIRequest' object has no attribute 'user' Django版本的问题,1.10之前,中间件的key为MIDDLEWARE_CL ...
- Android 画廊效果之ViewPager显示多个图片
首先来看下面的效果: 从上面的图片可以看到,当添加多张图片的时候,能够在下方形成一个画廊的效果,我们左右拉动图片来看我们添加进去的图片,效果是不是好了很多呢?下面来看看怎么实现吧! 上面的效果类似An ...
- 使用redis计数来控制单位时间内对某接口的访问量,防止刷验证码接口之类的
使用自定义注解的方式,在需要被限制访问频率的方法上加注解即可控制. 看实现方式,基于springboot,aop,redis. 新建Springboot工程,引入redis,aop. 创建注解 pac ...