认识DRDB并应用-4:openfiler基于corosync集群当脑裂时自动停止服务

操作:模拟心跳down机实验以及恢复在主节点主机上面建立crontab任务
问题:drbd脑裂问题,当心跳线断掉的时候,两个节点同时可以对外提供服务,通过corosync管理服务机制出现问题,双方都对外提供服务,会导致最终数据产生不一致。
按照上面实验filer01作为主机对外提供服务,在filer01上面添加crontab任务,当检测到自己网卡down掉,或者是心跳线出现问题,在验证属于自己问题后,将集群服务停掉,自动退出集群节点。

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@openfiler01 ~]# cat drbd.sh
\#!/bin/bash
\#env > /root/bbb
/sbin/ifconfig | grepeth1
if [ $? = 0 ]
then
echo " $(date +%F/%H:%M) : eth1 OK"
else
echo "$(date +%F/%H:%M): eth1 down ,stop service" >> /root/fail.txt
pkill corosync
fi
ping -c110.10.5.156 &> /dev/null
if [ $? = 0 ]
then
echo " $(date +%F/%H:%M) : ping OK"
else
ping -c1 192.168.11.1 &> /dev/null
if [ $? = 0 ]
then
echo "$(date +%F/%H:%M) : ping 11.1OK 223 failed" >> /root/alter.txt
else
echo"$(date +%F/%H:%M): ping failed , stop service " >> /root/fail.txt
pkillcorosync
fi
fi

添加到crontab,时时检测问题。

1
2
[root@filer91 ~]#crontab -l
\* * * * * sh/root/drbd.sh &

认识DRDB并应用-4:openfiler基于corosync集群当脑裂时自动停止服务
http://anximin.github.io/2021/08/05/Linux_drbd_corosync_cluster/
作者
Sylar
发布于
2021年8月5日
许可协议