Passer au contenu principal

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 :

  • Éviter les surcharges des serveurs.
  • Assurer la continuité du service, même en cas de panne.
  • Optimiser les performances en répartissant le travail équitablement.

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 

  • Public ( Réseau privé hôte ) 
  • Privée ( R200 )

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 : 

  • Ligne 1 : Chargement de l'application et des règles au démarrage 
  • Ligne 2 : " Maitre " par défaut puisqu'il est le seul load balancer
  • Ligne 3 : C'est par cette interface qu'arrivent les requêtes vers la grappe de serveurs Web

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 :

  • -A ajoute un service, les éléments imporatns sont définis après. à savoir Protocol + @IP:PORT + Algorithme 
  • -t Protocol TCP
  • -s Algorithme de Répartition Round Robin

NB Membres du clusters :

  • -a ajoute un noeud à un service 
  • -t:IP Service concerné 
  • -r:IP Adresse et port du noeud participant au cluster

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