Clark's Home page

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

/etc/init.d/ucarp —

Master

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin://usr/local/sbin:/usr/local/bin
#set to -P if you want this to be the preferred master
PREEMPT=-P
#Log to /var/log/messages
LOG=syslog
FAILOVER_ID=10
SHARED_SECRET=passwordsupersecret
VIRTUAL_IP=192.168.2.241
REAL_IP=192.168.2.240
INTERFACE=eth1
VIP_UP_SCRIPT=/etc/ucarp/ucarp-up.sh
VIP_DOWN_SCRIPT=/etc/ucarp/ucarp-down.sh
UCARP_PIDFILE=/var/run/ucarp.pid

OPTIONS=”-B -v $FAILOVER_ID -p $SHARED_SECRET -a $VIRTUAL_IP -s $REAL_IP -i $INTERFACE \
-u $VIP_UP_SCRIPT -d $VIP_DOWN_SCRIPT $PREEMPT -k 0 -b 1 -z -f $LOG”

test -x /usr/sbin/ucarp || exit 0

case “$1” in
start)

if [ ! -x /usr/sbin/ucarp ]; then
echo “ucarp binary missing – not starting”
exit 1
fi
if ( ! pgrep -f /usr/sbin/ucarp )
then
echo -n “Starting ucarp service: ucarp”
start-stop-daemon –start –make-pidfile –pidfile                             ${UCARP_PIDFILE} –quiet –exec /usr/sbin/ucarp \
— $OPTIONS
else
echo “ucarp is running, not starting”
fi
echo “.”
;;

stop)
echo -n “Stopping ucarp service: ucarp”
rm -f /var/run/ukarp.pid && killall ucarp
echo “.”
;;

restart|force-reload)
$0 stop
sleep 2
$0 start
;;

*)
echo “Usage: /etc/init.d/ucarp {start|stop|restart|force-reload}” >&2
exit 1
;;
esac

exit 0

La linea importante è quella OPTIONS che analizziamo a fondo
l’opzione -B è quella che demonizza ucarp cioè in parole povere lo fa girare in background.
L’opzione -v definisce la virtual id ed è un valore numerico compreso tra tra 1 e 255 deve essere uguale su entrambe le macchine ci possono essere più virtual id.
L’opzione -p definisce la password sharata che deve ovviamente essere identica su ambo le macchine eche non viene trasmessa in chiaro.
L’opzione -a  definisce l’Ip virtuale.
L’opzione -s definisce l’IP reale della scheda su cui si genera il virtual IP.
L’opzione -i definisce l’interfaccia su cui si opera.
L’opzione -u definisce l’up script che vedremo in dettaglio dopo.
L’opzione -d definisce il down script che vedremo in dettaglio dopo.
L’opzione -P definisce il Preempt cioè porta la macchiana a fare il take per diventare master,
L’opzione -k 0 definisce l’Advertisement skew cioè, la “diciamo” priorità con cui la macchina viene eletta master  a valori bassi di k corrisponde alta probabilità che la macchina faccia il take come master il valore e è compreso 0 e 255 il default è 0 è sicuramente meglio mettercelo lo 0 semplifica non di poco la vita.
L’opzione -z è il compendio dell’opzione -d
L’opzione -f definisce la facilitazione per il syslog.
Qui i parametri -k 0 e -b 1 forzano la macchina a Master

slave

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
#set to -P if you want this to be the preferred master
PREEMPT=-P
#Log to /var/log/messages
LOG=syslog
FAILOVER_ID=10
SHARED_SECRET=passwordsupersecret
VIRTUAL_IP=192.168.2.241
REAL_IP=192.168.2.5
INTERFACE=eth1
VIP_UP_SCRIPT=/etc/ucarp/ucarp-up.sh
VIP_DOWN_SCRIPT=/etc/ucarp/ucarp-down.sh
UCARP_PIDFILE=/var/run/ucarp.pid
OPTIONS=”-B -v $FAILOVER_ID -p $SHARED_SECRET -a $VIRTUAL_IP -s $REAL_IP -i $INTERFACE \
-u $VIP_UP_SCRIPT -d $VIP_DOWN_SCRIPT $PREEMPT -k 200 -b 5 -z -f $LOG”

test -x /usr/sbin/ucarp || exit 0

case “$1” in
start)

if [ ! -x /usr/sbin/ucarp ]; then
echo “ucarp binary missing – not starting”
exit 1
fi
if ( ! pgrep -f /usr/sbin/ucarp )
then
echo -n “Starting ucarp service: ucarp”
start-stop-daemon –start –make-pidfile –pidfile                             ${UCARP_PIDFILE} –quiet –exec /usr/sbin/ucarp \
— $OPTIONS
else
echo “ucarp is running, not starting”
fi
echo “.”
;;

stop)
echo -n “Stopping ucarp service: ucarp”
rm -f /var/run/ucarp.pid && killall ucarp
echo “.”
;;

restart|force-reload)
$0 stop
sleep 2
$0 start
;;

*)
echo “Usage: /etc/init.d/ucarp {start|stop|restart|force-reload}” >&2
exit 1
;;
esac

exit 0

La linea importante è quella OPTIONS che analizziamo a fondo
l’opzione -B è quella che demonizza ucarp cioè in parole povere lo fa girare in background.
L’opzione -v definisce la virtual id ed è un valore numerico compreso tra tra 1 e 255 deve essere uguale su entrambe le macchine ci possono essere più virtual id.
L’opzione -p definisce la password sharata che deve ovviamente essere identica su ambo le macchine eche non viene trasmessa in chiaro.
L’opzione -a  definisce l’Ip virtuale.
L’opzione -s definisce l’IP reale della scheda su cui si genera il virtual IP.
L’opzione -i definisce l’interfaccia su cui si opera.
L’opzione -u definisce l’up script che vedremo in dettaglio dopo.
L’opzione -d definisce il down script che vedremo in dettaglio dopo.
L’opzione -P definisce il Preemt cioè porta la macchiana a fare il take per diventare master,
commento personale poichè questo è lo slave non dovrebbe essere necessario stando alla letteratura in materia, però dopo lunghi test e parecchi insuccessi nonostante l’evidente controsenso del ” tu sei master ma sei meno master dell’altra macchina(vedi opzione -k)” questo modo si è rivelato l’unico per fare funzionare le cose a dovere.
L’opzione -k 200 definisce l’Advertisement skew cioè, la “diciamo” priorità con cui la macchina viene eletta master  a valori bassi di k corrisponde alta probabilità che la macchina faccia il take come master il valore e è compreso 0 e 255 il default è 0
L’opzione -z è il compendio dell’opzione -d
L’opzione -f definisce la facilitazione per il syslog.
Qui i parametri -k 200 e -b 5 forzano la macchina a slave

 


Categorised as: Cluster | Linux | Sistemi operativi | Work

Comments are disabled on this post


Comments are closed.


Hide picture