LoadBalancing & HeartBeat


Installer Load Balancing et le configurer

Le Load Balancing c'est quoi ?

Le load balancing (ou équilibrage de charge) répartit le trafic entre plusieurs serveurs pour garantir disponibilité, performance et fiabilité.

Un load balancer agit comme intermédiaire : il reçoit les requêtes des utilisateurs et les redirige vers les serveurs disponibles en fonction de règles (par exemple, le moins chargé ou à tour de rôle).

Cela permet de :

On peut le faire via des solutions matérielles, logicielles ou cloud, comme HAProxy, Nginx, ou AWS Elastic Load Balancer.

Installation du LoadBalancing sur notre réseau

Dans notre cas nous allons suivre ce schema 

Pour commencer nous allons crée un serveur Maitre nomée " LoadBalancing " 

On fais un update des packets et nous installations ipvsadm 

apt update 
apt install ipvsadm

Puis on ajouter sur virtualbox ou autre virtualiseur 2 interfaces réseau 

image.png

En suite nous accédons a la configuration network du serveur LoadBalancing afin de configuré le réseau 

nano /etc/network/interfaces

Et on applique le réseau ci dessous 

image.png

Après nous allons configurer ipvsadm

Nous allons dans le fichier systctl.conf

nano /etc/sysctl.conf

et on active Net.ipv4.ip_forward=1

image.png

Et on vérifie que l'ip forward est bien activé cela doit vous afficher 1 ( si cela ne s'afficher pas relancé la VM ) 

cat /proc/sys/net/ipv4/ip_forward

Maintenant nous allons dans le fichiers ipvsadm et nous mettons la configuration ci dessous 

nano /etc/default/ipvsadm

image.png

NB : 

Puis nous allons dans le fichiers rules afin de mettre nos serveurs web 

nano /etc/ipvsadm.rules

et nous mettons la configuration suivante :

NB  Définition du service :

NB Membres du clusters :

On effectue la commande suivante pour vérifier que tout est correct 

ipvsadm -ln

On se connecte au serveur lb 192.168.56.10 est nous devons tombé sur la page Web1 & Web2 si on refresh constament

image.png

image.png

Maintenant nous allons ajouter un Web3 a notre serveur 

Pour cela on clone 1 des serveur Web on change l'ip de ce serveur avec la même interfaces réseau puis le text de la page apache 

image.png

Maintenant on va dans le fichiers rules sur le serveur LoadBalancing et on rajoute simplement le 3eme serveur 

nano /etc/ipvsadm.rules

image.png

Après avoir ajouté le 3éme serveur on reboot le serveur lb pour être sur et on vérifie qu'on tombe également sur la page apache de Web3

image.png

Installer HeartBeat et le configurer

Mise en place d'une infrastructure haute disponibilité

1. Introduction à la haute disponibilité

La haute disponibilité, également appelée High Availability (HA), constitue un pilier fondamental dans l’administration des systèmes informatiques. Elle vise à garantir l’accès continu aux services et aux applications, même en cas de défaillance matérielle ou durant des interventions de maintenance. Pour y parvenir, on met en place divers dispositifs tels que la duplication des composants, le basculement automatique en cas de panne, et un système de surveillance anticipée pour prévenir les incidents.

2. Heartbeat et la redondance de serveurs

Afin d’assurer la continuité du service, un outil de supervision appelé « heartbeat » est mis en place. Il contrôle en permanence l’état du serveur principal. Si celui-ci devient indisponible, un serveur de secours prend automatiquement le relais. L’ensemble des serveurs, appelés « nœuds », forme un cluster. Grâce à une adresse IP virtuelle partagée, les utilisateurs peuvent accéder au service sans se préoccuper de quel nœud est actif à un instant donné.

3. Étapes de mise en œuvre

La première étape consiste à installer Apache2 sur chacun des deux serveurs web. Ensuite, il faut attribuer un nom d’hôte et une adresse IP spécifique à chaque machine. Pour les différencier visuellement, il est recommandé de personnaliser la page d'accueil par défaut d’Apache avec un nom unique à chaque serveur.

Poursuivez en installant le paquet heartbeat sur les deux serveurs. Le bon fonctionnement du système repose sur trois fichiers de configuration essentiels : ha.cf, authkeys et haresources. Il est impératif de sécuriser le fichier contenant la clé partagée à l’aide de la commande suivante :


chmod 600 /etc/ha.d/authkeys

4. Paramétrage détaillé

Le fichier ha.cf permet de configurer les paramètres de surveillance, notamment l’intervalle entre deux signaux (keepalive) et le temps d’attente avant de considérer un nœud comme inactif (deadtime). Il doit également contenir la liste complète des nœuds du cluster. De son côté, le fichier haresources définit les services à maintenir disponibles ainsi que l’adresse IP virtuelle utilisée pour les connexions clients.

5. Test et validation

Il faut d’abord stopper le service Apache2 sur les deux serveurs, puis empêcher son démarrage automatique. Une fois cela fait, activez heartbeat afin qu’il prenne en charge la gestion du service. Vous pouvez ensuite vérifier le bon fonctionnement du mécanisme en simulant l’arrêt du serveur principal : le serveur secondaire doit automatiquement prendre le relais, assurant ainsi la continuité du service sans interruption visible.

6. Notions de répartition de charge

Le load balancing, ou répartition de charge, est une technique qui permet de distribuer les requêtes entrantes entre plusieurs serveurs. Cela optimise les performances globales du système et renforce sa résilience face aux pannes. Cette gestion est assurée par un serveur spécifique, appelé Load Balancer, qui oriente le trafic selon des règles précises, comme l’algorithme de rotation (round robin) ou une pondération définie.