开发监测keepalived裂脑的脚本
检测思路:在备节点上执行脚本,如果可以ping通主节点并且备节点有VIP就报警,让人员介入检查是否裂脑。
在LB02备节点上开发脚本并执行:
- [root@lb02 ~]# cat /server/scripts/shell/check_split_brain.sh
- #!/bin/bash
- #Author:Mr.Ding
- #Created Time:2018-10-05 17:11:33
- #Name:check_split_brain.sh
- #Description:监测keepalived裂脑的脚本.
- lb01_vip=192.168.200.16
- lb01_ip=192.168.100.105
- while true
- do
- ping -c 2 -W 3 $lb01_ip &>/dev/null
- if [ $? -eq 0 -a `ip add|grep "$lb01_vip"|wc -l` -eq 1 ]
- then
- echo "ha is split brain.warning."
- else
- echo "ha is ok"
- fi
- sleep 5
- done
- [root@lb02 shell]# sh check_split_brain.sh
- ha is ok
- ha is ok
- ha is ok
- ha is ok
正常情况下主节点活着,VIP192.168.200.16在主节点,因此不会报警,提示“ha is ok”.
停掉keepalived服务后看LB02脚本执行情况:
- 在LB01上停止keepalived服务:
- [root@lb01 shell]# systemctl stop keepalived
- LB02上脚本执行情况如下:
- [root@lb02 shell]# sh check_split_brain.sh
- ha is ok
- ha is ok
- ha is ok
- ha is ok
- ha is ok
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
关掉Lb01服务器,再次查看LB02上脚本输出情况:
- [root@lb02 shell]# sh check_split_brain.sh
- ha is ok
- ha is ok
- ha is ok
- ha is ok
- ha is ok
- ha is ok
- ha is ok
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is split brain.warning.
- ha is ok
- ha is ok
- ha is ok
- ha is ok
- ha is ok
裂脑报警就恢复了。
开发监测keepalived裂脑的脚本的更多相关文章
- keepalived的脑裂问题与解决
Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工 ...
- [工具开发] keepalived使用nagios监控脚本
最近在做开发和办公环境的高可用,采用的是keepalived:keepalived基于Linux内核支持的LVS,既能实现高可用,又能实现负载均衡,非常实用. keepalived监控服务状态时可以用 ...
- keepalived的脑裂问题
keepalived的脑裂问题 学习了:http://blog.51cto.com/10630401/2089847 split-brain 无HA不脑裂
- MySQL的keepalived高可用监控脚本
MySQL的keepalived高可用监控脚本 MySQL(或者其它服务)的keepalived高可用监控脚本 开发脚本需求 :我们知道,keepalive是基于虚拟ip的存活来判断是否抢占maste ...
- Chrome扩展开发之二——Chrome扩展中脚本的运行机制和通信方式
目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...
- C#开发Unity游戏教程之使用脚本变量
C#开发Unity游戏教程之使用脚本变量 使用脚本变量 本章前面说了那么多关于变量的知识,那么在脚本中要如何编写关于变量的代码,有规章可循吗?答案是有的.本节会依次讲解变量的声明.初始化.赋值和运算. ...
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
[COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...
- 微信小程序开发:学习笔记[5]——JavaScript脚本
微信小程序开发:学习笔记[5]——JavaScript脚本 快速开始 介绍 小程序的主要开发语言是 JavaScript ,开发者使用 JavaScript 来开发业务逻辑以及调用小程序的 API 来 ...
- keepalived 预防脑裂检测脚本
1 检查vip [root@mysql2 keepalived]# cat /etc/keepalived/check_brain_keepalived.sh #!/bin/bash # 检查脑裂的脚 ...
随机推荐
- 【ACM】最少乘法次数 - 树
最少乘法次数 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘.如24:2*2 ...
- unity ForceMode
public float jumpAbility; GetComponent<Rigidbody>().AddForce(Vector3.up * jumpAbility, ForceMo ...
- 【Java】Tomcat 5默认的管理员用户和密码
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat&quo ...
- FFmpeg编译i386 OSX 脚本
话不多说, 直接上脚本 #!/bin/sh # directories PLATFORM="OSX" # FFmpeg脚本目录 SOURCE="ffmpeg-2.8.7& ...
- eclipse加上电脑全黑主题的设置(win10)
eclipse加上电脑全黑主题的设置(win10) 前几天在找设置win10的边框颜色时,发现的这个高对比的功能,现在已经用了好几天了,自己感觉是真的好用,所有才分享出来,相比所谓网上的豆沙绿,果然感 ...
- javascript实现多线程提升项目加载速度
以前大家都认为js是单线程执行的,假如我们要执行一些耗时的操作,比如加载一张很大的图片,我们可能需要一个进度条来让用户进行等待,在等待的过程中,整个js线程会被阻塞,后面的代码不能正常运行,这可能大大 ...
- How to Install Apache Solr 4.5 on CentOS 6.4
By Shay Anderson on October 2013 Knowledge Base / Linux / How to Install Apache Solr 4.5 on Cent ...
- js和jq获取父,兄弟,子节点
1,js获取节点: 父: parentNode 获取已知节点的父节点. 子: childNodes; 得到全部子节点 children 得到全部子节点 firstChild 获得第一个子节点 last ...
- Filter过滤器,xml配置与页面不乱码整理
1.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...
- LeetCode Nim Game (简单nim)
题意: 有一堆石子,里面有n个石头,每次可以从中取出1~3个,两人轮流取,最后一个石子被谁取走即为赢家.你先取,问最后谁赢? 思路: n%4>0则先手赢,因为每次总是可以给对方留4个石子的倍数, ...