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 ...
随机推荐
- php和java优势对比
PHP很专一,用于创建动态网页的服务器端的脚本语言.作为一种为Web而特别设计的语言,PHP带来了许多商业机构渴望的特性. ·学习周期短,比较简单 ·快速的开发时间 ·非常高的性能 这 ...
- numpy 矩阵归一化
new_value = (value - min)/(max-min) def normalization(datingDatamat): max_arr = datingDatamat.max(ax ...
- 利用JS获取地址栏的中文参数
地址栏中为:localhost:22865/ZYHSYY.aspx?BQH=305&DoctorName=张三&DoctorId=100我想利用JS获取到“张三”,请问该如何写js?目 ...
- react-quill 富文本编辑器
适合react的一款轻量级富文本编辑器 1.http://blog.csdn.net/xiaoxiao23333/article/details/62055128 (推荐一款Markdown富文本编辑 ...
- 常见GAN的应用
深入浅出 GAN·原理篇文字版(完整)|干货 from:http://baijiahao.baidu.com/s?id=1568663805038898&wfr=spider&for= ...
- 【spark】RDD操作
RDD操作分为转换操作和行动操作. 对于RDD而言,每一次的转化操作都会产生不同的RDD,供一个操作使用. 我们每次转换得到的RDD是惰性求值的 也就是说,整个转换过程并不是会真正的去计算,而是只记录 ...
- Centos6.8 JDK配置
记录一下在这个服务器配置的过程 ssh root@IP Password --------------------------------------------------------------- ...
- L127
Biggest Studies on Aspirin Show Risks Outweigh Benefits for Many People Doctors have long recommende ...
- 星火计划ROS机器人Spark
星火计划ROS机器人Spark 1 http://wiki.ros.org/Robots/Spark 2 https://github.com/NXROBO/spark ---- Spark Spar ...
- 【常用软件】木木的常用软件点评(2)------VC程序员常用工具篇
摘自:http://blog.csdn.net/liquanhai/article/details/7215045 木木的常用软件点评(2)------VC程序员常用工具篇 分类: VC++经验总结 ...