keepalive脑裂的处理,从节点发现访问的虚拟IP就报警,同时尝试发送内容到主节点服务器关闭keepalive和nginx,或者关机
检测思路:正常情况下keepalived的VIP地址是在主节点上的,如果在从节点发现了VIP,就设置报警信息
脚本如下:
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
28
29
|
#!/bin/bash # 检查脑裂的脚本,在备节点上进行部署 LB01_VIP=10.10.10.229 LB01_IP=10.10.10.129 LB02_IP=10.10.10.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 执行结果如下: [root@mysql-master mysqlbackup] # bash check_split_brain.sh ha is ok ha is ok ha is ok ha is ok 当发现异常时候的执行结果: |
时来天地皆同力,运去英雄不自由