Skip to main content

Redondance de serveurs WEB avec HAProxy

Mise en place du HAP

Activer le routage du serveur web afin de permettre de ping l’extérieur et de faire des MAJ.

HAP1.png

Ajout de la configuration du front end et du back end check

sudo nano etc/haproxy/haproxy.cfg

HAP2.png

Vient alors un problème : si le HAP tombe, plus aucun serveur n'est accessible. Solution : mise en place d'un heartbeat grâce à keepalived entre 2 HAP

aller sur le HAP et installer keepalived 

apt-get installed keepalived

Il faut modifier les fichiers de configuration

nano /etc/sysctl.conf

au dessus de la ligne précédemment décommentée, on ajoute ceci

net.ipv4.ip_nonlocal_bind=1
net.ipv4.conf.all.arp_announce=1
net.ipv4.conf.all.arp_ignore=1

HAP3.jpg

Faire une vérification

sysctl -p /etc/sysctl.conf

la commande doit retourner les 4 lignes que l’on vient de saisir

on récupère l’ip de notre machine qui deviendra l’adresse virtuelle commune à nos 2 HAP 

ip c -linkshow

Lui donner .10 (.20 sera configuré sur la seconde machine)

Rendre le changement effectif : 

service networking restart

Modifier le fichier de conf de keepalived

nano /etc/keepalived/keepalived.conf

Y saisir ceci : 

vrrp_instance VI_1 {
virtual_router_id 100
state MASTER
priority 100
#contrôle du balancer inter-load toutes les 1 secondes
advert_int 1
interface ens18 #ici l'ID est propre à chaque machine, que l'on peut voir en faisant ip a

#authentification mutuelle entre les LB, identiques sur les deux membres
authentication {
auth_type PASS
auth_pass secret #le mot de passe voulu
     }
     # Interface réseau commune aux deux LB
   virtual_ipaddress {
10.0.0.80/32 brd 10.0.0.255 scope global
     }
}

Sauvegarder et appliquer

service keepalived restart

Vérifier que tout soit ok

service keepalived status

En listant à nouveau la configuration réseau de la machine ip a les nouvelles adresses doivent apparaître

HAP4.png

on peut maintenant créer le second serveur web et lui attribuer 10.0.0.20

En cas de clonage de VM, il faudra modifier l'adresse de la seconde carte réseau également et redémarrer le service pour rendre le changement effectif (à l'aide deavec service networking restart) 

Modifier le fichier de conf de keepalived

nano /etc/keepalived/keepalived.conf

MASTER devient BACKUP (slave ne rentre pas dans la terminologie de conf)
100 devient 90 

on a donc : 

 

vrrp_instance VI_1 {
virtual_router_id 100
state BACKUP
priority 90
#contrôle du balancer inter-load toutes les 1 secondes
advert_int 1
interface ens18 #ici l'ID est propre à chaque machine, que l'on peut voir en faisant ip a

#authentification mutuelle entre les LB, identiques sur les deux membres
authentication {
auth_type PASS
auth_pass secret #le mot de passe voulu
     }
     # Interface réseau commune aux deux LB
   virtual_ipaddress {
10.0.0.80/32 brd 10.0.0.255 scope global
     }
}