开发监测keepalived裂脑的脚本
检测思路:在备节点上执行脚本,如果可以ping通主节点并且备节点有VIP就报警,让人员介入检查是否裂脑。
在LB02备节点上开发脚本并执行:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | [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脚本执行情况:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 在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上脚本输出情况:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | [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 |
裂脑报警就恢复了。
******************************我也想难过的时候到海边走走,可是我的城市没有海。******************************
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY