« LINUX:Loadbalancing - Router de répartition (masq) » : différence entre les versions
(Page créée avec « ---- ''→ retour aux Serveurs en Loadbalancing'' ---- =But= Ce router aura pour tâche de rediriger et de répartir les requêtes venant des clients en fonction des disponibilités des serveurs du cluster. =Prérequis= ==Routage== Nous sommes en présence de deux LANs interconnectés par un router. Pour mettre en oeuvre correctement les différents aspects du routage; voyez l'article sur le LINUX:Routage stat... ») |
Aucun résumé des modifications |
||
Ligne 4 : | Ligne 4 : | ||
=But= | =But= | ||
Ce router aura pour tâche de rediriger et de répartir les requêtes venant des clients en fonction des disponibilités des serveurs du cluster. | Ce router aura pour tâche de rediriger et de répartir les requêtes venant des clients en fonction des disponibilités des serveurs du cluster. | ||
Nous allons utiliser une fonctionnalité de Linux, le LVS ou Linux Virtual Server. l'outil Ldirectord va nous y aider. | |||
Ligne 20 : | Ligne 22 : | ||
On active cette configuration soit en redémarrant la machine, soit avec la commande suivante: | On active cette configuration soit en redémarrant la machine, soit avec la commande suivante: | ||
sysctl -p /etc/sysctl.d/router.conf | sysctl -p /etc/sysctl.d/router.conf | ||
=Installation= | |||
Nous allons utiliser l'outil Ldirectord qu'il faut installer: | |||
dnf install ldirectord | |||
Par la même occasion, il installe toute une série de modules Perl en tant que dépendances: | |||
dnf install perl-WWW-RobotRules | |||
dnf install perl-Try-Tiny | |||
dnf install perl-Tie | |||
dnf install perl-Text-Balanced | |||
dnf install perl-Parse-RecDescent | |||
dnf install perl-Net-IMAP-Simple | |||
dnf install perl-Net-IMAP-Simple-SSL | |||
dnf install perl-Socket6 | |||
dnf install perl-IO-Socket-INET6 | |||
dnf install perl-Net-SMTP-SSL | |||
dnf install perl-MailTools | |||
dnf install perl-Net-HTTP | |||
dnf install perl-HTTP-Negotiate | |||
dnf install perl-HTTP-Cookies | |||
dnf install perl-Digest-SHA | |||
dnf install perl-Digest-HMAC | |||
dnf install perl-NTLM | |||
dnf install perl-Data-Dump | |||
dnf install perl-libwww-perl | |||
dnf install perl-Socket-GetAddrInfo | |||
Il installe également le paquet suivant que nous utiliserons pour visualiser l'état du système: | |||
dnf install ipvsadm | |||
Par contre, tout un ensemble de paquets Perl ne sont pas installé mais sont nécessaires: | |||
dnf install perl-Sys-Hostname | |||
dnf install perl-Sys-Syslog | |||
dnf install perl-Net-Ping | |||
dnf install perl-LWP-Protocol-https | |||
dnf install perl-Mail-POP3Client | |||
dnf install perl-Mail-POP3Client | |||
dnf install perl-Mail-IMAPClient | |||
dnf install perl-Net-SMTP-SSL | |||
=Configuration en Failover= | |||
Nous allons utiliser cette machine de façon autonome mais il est très facile de l'utiliser dans une structure en Failover. | |||
Il suffit de reprendre la configuration de l'article sur les [[LINUX:Pacemaker - Routers inter LAN en Failover|Routers inter LAN en Failover]]. A la configuration de Pacemaker, on ajoute une ressource activant le service "ldirectord.service". | |||
pcs resource create ClusterLdirectord systemd:ldirectord op monitor interval=30s | |||
ou | |||
pcs resource create ClusterLdirectord ocf:heartbeat:ldirectord configfile=/etc/ha.d/ldirectord.cf ldirectord=/usr/sbin/ldirectord op monitor interval=30s | |||
et ensuite: | |||
pcs constraint colocation add ClusterLdirectord with ClusterIPint score=INFINITY | |||
pcs constraint order ClusterIPint then start ClusterLdirectord | |||
=Modification des sources= | |||
Le programme Ldirectord est installé dans le fichier "/usr/sbin/ldirectord". Il teste tout un ensemble de services. Les protocoles que l'on veut tester sur nos serveurs du cluster sont: HTTP, HTTPS, SMTP, SUBMISSION, SMTPS, POP, POPS, IMAP et IMAPS. Parmi ceux-ci, seul le protocole SMTPS n'est pas repris. Soit on crée un script externe qui fera ce travail, soit on ajoute au programme cette fonctionnalité. | |||
Nous avons choisi la seconde solution. | |||
Version du 21 février 2023 à 19:01
→ retour aux Serveurs en Loadbalancing
But
Ce router aura pour tâche de rediriger et de répartir les requêtes venant des clients en fonction des disponibilités des serveurs du cluster.
Nous allons utiliser une fonctionnalité de Linux, le LVS ou Linux Virtual Server. l'outil Ldirectord va nous y aider.
Prérequis
Routage
Nous sommes en présence de deux LANs interconnectés par un router. Pour mettre en oeuvre correctement les différents aspects du routage; voyez l'article sur le Routage statique et spécialement le chapitre sur le "Second réseau privé".
Activation du routage
Il faut activer le routage sur le router "cluster.home.dom" en ajoutant un fichier, par exemple "router.conf", dans le répertoire "/etc/sysctl.d". Ce fichier doit contenir la ligne:
net.ipv4.ip_forward = 1
On active cette configuration soit en redémarrant la machine, soit avec la commande suivante:
sysctl -p /etc/sysctl.d/router.conf
Installation
Nous allons utiliser l'outil Ldirectord qu'il faut installer:
dnf install ldirectord
Par la même occasion, il installe toute une série de modules Perl en tant que dépendances:
dnf install perl-WWW-RobotRules dnf install perl-Try-Tiny dnf install perl-Tie dnf install perl-Text-Balanced dnf install perl-Parse-RecDescent dnf install perl-Net-IMAP-Simple dnf install perl-Net-IMAP-Simple-SSL dnf install perl-Socket6 dnf install perl-IO-Socket-INET6 dnf install perl-Net-SMTP-SSL dnf install perl-MailTools dnf install perl-Net-HTTP dnf install perl-HTTP-Negotiate dnf install perl-HTTP-Cookies dnf install perl-Digest-SHA dnf install perl-Digest-HMAC dnf install perl-NTLM dnf install perl-Data-Dump dnf install perl-libwww-perl dnf install perl-Socket-GetAddrInfo
Il installe également le paquet suivant que nous utiliserons pour visualiser l'état du système:
dnf install ipvsadm
Par contre, tout un ensemble de paquets Perl ne sont pas installé mais sont nécessaires:
dnf install perl-Sys-Hostname dnf install perl-Sys-Syslog dnf install perl-Net-Ping dnf install perl-LWP-Protocol-https dnf install perl-Mail-POP3Client dnf install perl-Mail-POP3Client dnf install perl-Mail-IMAPClient dnf install perl-Net-SMTP-SSL
Configuration en Failover
Nous allons utiliser cette machine de façon autonome mais il est très facile de l'utiliser dans une structure en Failover.
Il suffit de reprendre la configuration de l'article sur les Routers inter LAN en Failover. A la configuration de Pacemaker, on ajoute une ressource activant le service "ldirectord.service".
pcs resource create ClusterLdirectord systemd:ldirectord op monitor interval=30s
ou
pcs resource create ClusterLdirectord ocf:heartbeat:ldirectord configfile=/etc/ha.d/ldirectord.cf ldirectord=/usr/sbin/ldirectord op monitor interval=30s
et ensuite:
pcs constraint colocation add ClusterLdirectord with ClusterIPint score=INFINITY pcs constraint order ClusterIPint then start ClusterLdirectord
Modification des sources
Le programme Ldirectord est installé dans le fichier "/usr/sbin/ldirectord". Il teste tout un ensemble de services. Les protocoles que l'on veut tester sur nos serveurs du cluster sont: HTTP, HTTPS, SMTP, SUBMISSION, SMTPS, POP, POPS, IMAP et IMAPS. Parmi ceux-ci, seul le protocole SMTPS n'est pas repris. Soit on crée un script externe qui fera ce travail, soit on ajoute au programme cette fonctionnalité.
Nous avons choisi la seconde solution.
→ retour aux Serveurs en Loadbalancing