giovedì , Marzo 28 2024
Ultime Notizie
Home / Linux / HA Failover Apache Debian 7

HA Failover Apache Debian 7

Ciao Ragazzi,

oggi parliamo di HA (High Availability) e di failover…in un’unica parola: CLUSTER!

Quello che vi mostro è un semplice cluster tra due server Debian 7, la verifica del funzionamento sarà fatta tramite Apache (con 2 pagine web che mi diranno su quale dei due server mi trovo)

Per prima cosa analizziamo lo scenario:

carp

Per realizzare il cluster di 2 Debian, ho deciso di utilizzare CARP che viene fornito in maniera nativa nei repository.

SERVER 1 (Master)

Per prima cosa installiamo carp:

razorblade@Server1:~$ apt-get install ucarp

Adesso editiamo il file delle interfacce ETH per aggiungere la VIP:

razorblade@Server1:~$ vi /etc/network/interfaces
# The primary network interface
auto eth0
iface eth0 inet static
address  192.168.1.200
netmask  255.255.255.0
gateway  192.168.1.1
  #######################
  # ucarp configuration
  #######################
  ucarp-vid      1
  ucarp-vip      192.168.1.250
  ucarp-password mypass32
  ucarp-advskew  1
  ucarp-advbase  1
  ucarp-master   yes
 
# The carp network interface, on top of eth0
iface eth0:ucarp inet static
        address 192.168.1.250
        netmask 255.255.255.0

Riavviamo il servizio di networking:

razorblade@Server1:~$ vi /etc/init.d/networking restart

SERVER 2 (Slave)

Per prima cosa installiamo carp:

razorblade@Server2:~$ apt-get install ucarp

Adesso editiamo il file delle interfacce ETH per aggiungere la VIP:

razorblade@Server2:~$ /etc/network/interfaces
# The primary network interface
auto eth0
iface eth0 inet static
address  192.168.1.201
netmask  255.255.255.0
gateway  192.168.1.1
  #######################
  # ucarp configuration
  #######################
  ucarp-vid      1
  ucarp-vip      192.168.1.250
  ucarp-password mypass32
  ucarp-advskew  1
  ucarp-advbase  1
  ucarp-master   no
 
# The carp network interface, on top of eth0
iface eth0:ucarp inet static
        address 192.168.1.250
        netmask 255.255.255.0

Riavviamo il servizio di networking:

razorblade@Server2:~$ /etc/init.d/networking restart

Fatto questo possiamo subito provare se funziona, effettuando un semplice ping all’indirizzo 192.168.1.250 da un PC presente sulla stessa sottorete.

Fatto questo creiamo due pagine di test su entrambi i server che ci fanno capire se siamo sul server1 o sul server2.

Raggiungendo l’indirizzo: http://192.168.1.250 il sistema ci mostra la pagina index del Server1 che abbiamo detto essere il master:

cluster-apache-1

 

Se adesso spengo il server1 simulando un crash/errore/power loss della macchina, il server web continua a funzionare perchè il server2 diventa in automatico il master:

cluster-apache-2

 

Semplice, veloce, ma davvero efficace!

E’ possibile personalizzare le operazioni da eseguire quando l’interfaccia eth del master/slave va giù/su tramite l’opzione da passare nel file etc/network/interfaces

ucarp-downscript  /usr/local/bin/vip-down
 ucarp-upscript    /usr/local/bin/vip-up

Enjoy!

 

Info Paolo Daniele

Ingegnere delle Telecomunicazioni, appassionato di informatica fin da piccolo ho trasformato la passione in lavoro. Con il PHP faccio tutto (o quasi...) ma non disprezzo altri linguaggi all'occorrenza. Se vi piace il mio sito, o vi è utile, o vi sto simpatico, offritemi una birra!

Ti potrebbe interessare

Configurazione SSL/HTTPS Wildfly Application Server

Ciao Ragazzi, ritorno per fare alcune considerazioni sull’installazione di un certificato SSL e quindi l’abilitazione …

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *