Clark's Home page

Tecnicismi vari di un Sysadmin Linux ma anche qualcosa della sua vita

check_connection per heartbeat —

Versione per heartbeat

Per avere la sicurezza che il nodo principale sia su e in caso contrario che il secondario si elegga si deve in qualche modo controllare che la connessione a internet esista.
Questo sicuramente non è il modo più pulito e migliore però ragionando è credo il più semplice e pratico, in effetti se non si può navigare è ragionevole presumere che la connessione sia interrotta, a questo punto si può far partire il nodo secondario che dirotterà tutto il traffico sulla linea di backup.
lo script di seguito si avvale di un plugin di nagios

#!/bin/bash -x
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/lib

### some variables
F_HOST=www.google.com
S_HOST=www.amazon.com
T_HOST=www.corriere.it
CHECK=”/usr/lib/nagios/plugins/check_http -w 5 -c 10″
HBPIDFILE=`ps -C heartbeat -O pid=`
HEART=’heartbeat’

hbalive=0
netalive=0

if [ -e $HBPIDFILE ]
then
# runpid=`cat $HBPIDFILE`
runpid= pgrep heartbeat
fi
if ps ax | grep -v grep | grep $HEART > /dev/null

then
echo “heartbeat gira”

hbalive=1
fi

$CHECK $F_HOST || $CHECK $S_HOST || $CHECK $T_HOST
if [ $? == 0 ]
then
netalive=1
fi
echo $hbalive $netalive

###se ( hbalive=1 && netalive=0) -> heartbeat stop
###se ( hbalive=0 && netalive=1) -> heartbeat start
### se ambedue sono a 0 (rete giu’ heatbeat giu’) o a 1 (rete su heartbeat su) non bisogna fare nulla
if [ $hbalive -eq $netalive ]
then
echo “tutto ok”
exit 0
fi
### se heartbeat e’ giu a seguito di normale down di rete allora deve ripartire se la rete e’ attiva
if [ $hbalive -lt $netalive ]
then
/etc/init.d/heartbeat start
fi
### se heartbeat e’ su e la rete e’ giu deve fermarsi per fare partire lo slave
if [ $hbalive -gt $netalive ]
then
/etc/init.d/heartbeat stop
exit 0
fi

Ripeto non sarà la cosa più pulita e stilisticamente perfetta della terra però il suo lavoro lo fa.


Categorised as: Cluster | Linux | Networking | Script | Sistemi operativi | Work

Comments are disabled on this post


Comments are closed.


Hide picture