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 )
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
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
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
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
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
Maintenant on va dans le fichiers rules sur le serveur LoadBalancing et on rajoute simplement le 3eme serveur
nano /etc/ipvsadm.rules
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
Pas de commentaires