Recherche de site Web

Configuration de l'équilibreur de charge « XR » (Crossroads) pour les serveurs Web sur RHEL/CentOS


Crossroads est un utilitaire open source d'équilibrage de charge et de basculement indépendant des services pour les services basés sur Linux et TCP. Il peut être utilisé pour HTTP, HTTPS, SSH, SMTP et DNS, etc. C'est également un utilitaire multithread qui ne consomme qu'un seul espace mémoire, ce qui conduit à augmenter les performances lors de l'équilibrage de la charge.

Voyons comment fonctionne XR. Nous pouvons localiser XR entre les clients du réseau et un nid de serveurs qui répartit les requêtes des clients vers les serveurs équilibrant la charge.

Si un serveur est en panne, XR transmet la demande suivante du client au prochain serveur en ligne, afin que le client ne ressente aucun temps d'arrêt. Jetez un œil au diagramme ci-dessous pour comprendre quel type de situation nous allons gérer avec XR.

Il existe deux serveurs Web, un serveur de passerelle que nous installons et configurons XR pour recevoir les demandes des clients et les distribuer entre les serveurs.

XR Crossroads Gateway Server : 172.16.1.204
Web Server 01 : 172.16.1.222
Web Server 02 : 192.168.1.161

Dans le scénario ci-dessus, mon serveur de passerelle (c'est-à-dire XR Crossroads) porte l'adresse IP 172.16.1.222, le webserver01 est 172.16.1.222 et il écoute via le port 8888 et le webserver02 est 192.168.1.161 et il écoute via le port 5555.

Il ne me reste plus qu'à équilibrer la charge de toutes les requêtes reçues par la passerelle XR depuis Internet et à les répartir entre deux serveurs Web en équilibrant la charge.

Étape 1 : Installez XR Crossroads Load Balancer sur le serveur de passerelle

1. Malheureusement, aucun package RPM binaire n'est disponible pour crosscroads, le seul moyen d'installer XR crossroads à partir de l'archive tar source.

Pour compiler XR, vous devez disposer d'un compilateur C++ et des utilitaires Gnu make installés sur le système afin de poursuivre l'installation sans erreur.

yum install gcc gcc-c++ make

Ensuite, téléchargez l'archive tar source en accédant à leur site officiel (https://crossroads.e-tunity.com) et récupérez le package archivé (c'est-à-dire crossroads-stable.tar.gz).

Alternativement, vous pouvez utiliser l'utilitaire wget suivant pour télécharger le package et l'extraire n'importe où (par exemple : /usr/src/), accéder au répertoire décompressé et émettre « < commandemake install ».

wget https://crossroads.e-tunity.com/downloads/crossroads-stable.tar.gz
tar -xvf crossroads-stable.tar.gz
cd crossroads-2.74/
make install

Une fois l'installation terminée, les fichiers binaires sont créés sous /usr/sbin/ et la configuration XR dans /etc à savoir « xrctl.xml ».

2. Comme dernière condition préalable, vous avez besoin de deux serveurs Web. Pour faciliter l'utilisation, j'ai créé deux instances python SimpleHTTPServer sur un seul serveur.

Pour voir comment configurer un SimpleHTTPServer python, lisez notre article sur Créer facilement deux serveurs Web à l'aide de SimpleHTTPServer.

Comme je l'ai dit, nous utilisons deux serveurs Web, et ils sont webserver01 fonctionnant sur 172.16.1.222 via les ports 8888 et webserver02 s'exécutant sur 192.168.1.161 via le port 5555.

Étape 2 : Configurer l’équilibreur de charge XR Crossroads

3. Toutes les conditions requises sont remplies. Il ne nous reste plus qu'à configurer le fichier xrctl.xml pour répartir la charge entre les serveurs Web qui reçoit le serveur XR d'Internet.

Ouvrez maintenant le fichier xrctl.xml avec l'éditeur vi/vim.

vim /etc/xrctl.xml

et apportez les modifications suggérées ci-dessous.

<?xml version=<94>1.0<94> encoding=<94>UTF-8<94>?>
<configuration>
<system>
<uselogger>true</uselogger>
<logdir>/tmp</logdir>
</system>
<service>
<name>Tecmint</name>
<server>
<address>172.16.1.204:8080</address>
<type>tcp</type>
<webinterface>0:8010</webinterface>
<verbose>yes</verbose>
<clientreadtimeout>0</clientreadtimeout>
<clientwritetimout>0</clientwritetimeout>
<backendreadtimeout>0</backendreadtimeout>
<backendwritetimeout>0</backendwritetimeout>
</server>
<backend>
<address>172.16.1.222:8888</address>
</backend>
<backend>
<address>192.168.1.161:5555</address>
</backend>
</service>
</configuration>

Ici, vous pouvez voir une configuration XR très basique réalisée dans xrctl.xml. J'ai défini ce qu'est le serveur XR, quels sont les serveurs back-end et leurs ports et port d'interface Web pour le XR.

4. Vous devez maintenant démarrer le démon XR en exécutant les commandes ci-dessous.

xrctl start
xrctl status

5. Très bien. Il est maintenant temps de vérifier si les configurations fonctionnent correctement. Ouvrez deux navigateurs Web et entrez l'adresse IP du serveur XR avec le port et voyez le résultat.

Fantastique. Ça fonctionne bien. il est maintenant temps de jouer avec XR.

6. Il est maintenant temps de vous connecter au tableau de bord XR Crossroads et de voir le port que nous avons configuré pour l'interface Web. Saisissez l'adresse IP de votre serveur XR avec le numéro de port de l'interface Web que vous avez configuré dans xrctl.xml.

http://172.16.1.204:8010

Voilà à quoi cela ressemble. Il est facile à comprendre, convivial et facile à utiliser. Il indique le nombre de connexions reçues par chaque serveur principal dans le coin supérieur droit, ainsi que des détails supplémentaires concernant les demandes reçues. Vous pouvez même définir le poids de charge que chaque serveur doit supporter, le nombre maximum de connexions et la charge moyenne, etc.

Le meilleur, c'est que vous pouvez le faire même sans configurer xrctl.xml. La seule chose que vous avez à faire est d’émettre la commande avec la syntaxe suivante et elle fera le travail.

xr --verbose --server tcp:172.16.1.204:8080 --backend 172.16.1.222:8888 --backend 192.168.1.161:5555

Explication détaillée de la syntaxe ci-dessus :

  1. –verbose montrera ce qui se passe une fois la commande exécutée.
  2. –server définit le serveur XR sur lequel vous avez installé le package.
  3. –backend définit les serveurs Web vers lesquels vous devez équilibrer le trafic.
  4. Tcp définit qu'il utilise les services TCP.

Pour plus de détails sur les documentations et la configuration de CROSSROADS, veuillez visiter leur site officiel à l'adresse : https://crossroads.e-tunity.com/.

XR Corssroads offre de nombreuses façons d'améliorer les performances de votre serveur, de protéger les temps d'arrêt et de rendre vos tâches administratives plus faciles et plus pratiques. J'espère que vous avez apprécié le guide et n'hésitez pas à commenter ci-dessous pour les suggestions et les clarifications. Restez en contact avec Tecmint pour obtenir des instructions pratiques.

Lire aussi : Installation de Pound Load Balancer pour contrôler la charge du serveur Web