[上下文环境]
比如这个 mysql_check.sh 的内容
#!/bin/bash
. /root/.bash_profile
count=1
while true
do
mysql -uroot -p123456 -e "show status;" > /dev/null 2>&1
i=$?
ps aux | grep mysqld | grep -v grep > /dev/null 2>&1
j=$?
if [ $i = 0 ] && [ $j = 0 ]
then
exit 0
else
if [ $i = 1 ] && [ $j = 0 ]
then
exit 0
else
if [ $count -gt 10 ]
then
break
fi
let count++
continue
fi
fi
done
systemctl stop keepalived
#pkill -9 keepalived
[问题]
- 如果 mysqld 因为一些原因, down 掉,然后起来了, 这个中间过程 keepalived 停止了, 那就相当于(逻辑上)这台 keepalived 的节点 down 了( 实际上节点运行正常), 后续也无法参与 VIP 的漂移了