Clark's Home page

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

Heartbeat Configurazione —

Heartbeat è un programma del progetto Linux-HA serve a monitorare il funzionamento dei nodi  di un cluster e “decidere” cosa fare nel caso del malfunzionamento di uno dei nodi.
Da notarsi che è o meglio “sarebbe” deprecato in favore di corosynk+pacemaker, ma vista sia la sua facilità di configurazione che la sua stabilità continuerò ad usarlo sino a quando sarà disponibile.

Al solito su ambo le macchine installiamo il pacchetto heartbeat che si tira dietro tutte le dipendenze necessarie, e quindi nella directory /etc/ha.d copiamo da /usr/share/doc/heartbeat  i files authkeys, ha.cf, haresources o se preferiamo scriviamoli da 0 che tanto e’ lo stesso per tanti versi.
I files sono al solito pieni e ben commentati e sono in sostanza:

authkeys il modo di autenticazione dei nodi e puo’ contenere due sole  righe come queste:
auth 2
2 sha1 unabellapasswordlungaecomplicata!
deve essere ovviamente uguale su entrambe le macchine e deve avere obbligatoriamente permessi 600.

Il file ha.cf  è l’unico che vista la scelta che ho operato per heartbeat deve essere differente sulle due macchine, l’unica differenza è l’incrocio degli up per ucast ma e’ fondamentale.

Percui avremo su sangiorgio un ha.cf fatto in questo modo:

#
#       File to write debug messages to
debugfile /var/log/ha-debug
#
#
#       File to write other messages to
#
logfile /var/log/ha-log
#
#
#       Facility to use for syslog()/logger
#
logfacility     local0
##       keepalive: how long between heartbeats?
#
keepalive 2
#
#       deadtime: how long-to-declare-host-dead?
#
#               If you set this too low you will get the problematic
#               split-brain (or cluster partition) problem.
#               See the FAQ for how to use warntime to tune deadtime.
#
deadtime 30
#
#       warntime: how long before issuing “late heartbeat” warning?
#       See the FAQ for how to use warntime to tune deadtime.
#
warntime 10
#
#
#       Very first dead time (initdead)
#
#       On some machines/OSes, etc. the network takes a while to come up
#       and start working right after you’ve been rebooted.  As a result
#       we have a separate dead time for when things first come up.
#       It should be at least twice the normal dead time.
#
initdead 60
#udpport 694
##
#
ucast eth1 192.168.2.240
ucast eth2 192.168.10.240
####N.B. SU SANGIORGIO VANNO INSERITI GLI IP DI PERSEO E SU PERSEO QUELLI DI SANGIORGIO
#
auto_failback on
#
node    sangiorgio perseo
#
debug 1
Da ultimo il file haresourc che in sostanza si occupa di montare il/i device drbd  di far partire i servizi e di generare l’IP virtuale a cui questi servizi fanno capo e puo’ contenere ad esempio giusto per testare

sangiorgio IPaddr::192.168.2.241/24/eth1 \
drbddisk::r0 Filesystem::/dev/drbd0::/jumper::ext4
dare /etc/init.d/heartbeat restart e a fine operazione con un ifconfig vedrete :

eth1:0    Link encap:Ethernet  HWaddr 00:15:17:4b:9b:b2
inet addr:192.168.2.241  Bcast:192.168.2.255  Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
Interrupt:16 Memory:efcc0000-efce0000

con un mount:

sangiorgio:/etc/ha.d# mount


/dev/drbd0 on /jumper type ext3 (rw)

in seguito su un altro articolo vedremo quali servizi inserire su sangiorgio e perseo per fare un proxy NTLM, anche questo file deve essere uguale su entrambe le macchine.

 


Categorised as: Cluster | Linux | Networking | Sistemi operativi

Comments are disabled on this post


Comments are closed.