Configuration des serveurs Web Équilibrage du chargement à l'aide de 'Pound' sur RHEL / CENTOS

Configuration des serveurs Web Équilibrage du chargement à l'aide de 'Pound' sur RHEL / CENTOS

BROYER est un programme d'équilibrage de charge développé par ItSecurity Company. Il s'agit d'un outil de proxy inversé open source léger qui peut être utilisé comme équilibreur de charge du serveur Web pour distribuer la charge entre plusieurs serveurs. Il y a plusieurs avantages que Pound donne à l'utilisateur final qui sont très pratiques et fait le bon travail.

  1. Prend en charge les hôtes virtuels.
  2. Configurable.
  3. Lorsqu'un serveur backend est échoué ou récupéré d'une panne, il le détecte automatiquement et fonde ses décisions d'équilibrage de charge selon cela.
  4. Il rejette des demandes incorrectes.
  5. Pas de navigateur ou de serveurs Web spécifiés.

Jetons un coup d'œil à comment faire ce hack.

Tout d'abord, vous aurez besoin d'un scénario pour mieux comprendre. J'utiliserai donc un scénario où il y a deux serveurs Web et un serveur de passerelle qui doit équilibrer les demandes viennent sur Gateway Server vers les serveurs Web.

Pound Gateway Server : 172.16.1.222 Serveur Web 01 : 172.16.1.204 Serveur Web 02 : 192.168.1.161 
Balancer de chargement du serveur Web Pound

Étape 1: Installez l'équilibreur Pound Load sur Gateway Server

1. Le moyen le plus simple d'installer Broyer utilise des packages RPM pré-compilés, vous pouvez trouver des RPM pour les distributions basées sur Redhat à:

  1. http: // www.inviter.ch / pub / packages / livre /

Alternativement, la livre peut être facilement installée à partir du référentiel EPEL comme indiqué ci-dessous.

# yum install epel-release # yum install lound 

Après l'installation de la livre, vous pouvez vérifier s'il est installé en émettant cette commande.

# RPM -QA | Grep Pound 
Installer Balancer Load Balancer

2. Deuxièmement, vous avez besoin Deux serveurs Web Pour équilibrer la charge et assurer que vous avez des identifiants clairs afin de tester la configuration de la livre fonctionne bien.

Ici, j'ai deux serveurs portant des adresses IP 172.16.1.204 et 192.168.1.161.

Pour plus de facilité d'utilisation, j'ai créé Python SimpleHTTPSServer pour créer un serveur Web instantané sur les deux serveurs. Lire sur Python SimplehttpServer

Dans mon scénario, j'ai mon Webserver01 courir sur 172.16.1.204 à travers le port 8888 et webServer02 courir sur 192.168.1.161 à travers le port 5555.

Pound webserver 1 Pound webserver 2

Étape 2: Configurer l'équilibreur de charge de livre

3. Il est maintenant temps de faire les configurations. Une fois que vous avez installé la livre avec succès, il crée le fichier de configuration de la livre dans /etc, à savoir broyer.CFG.

Nous devons modifier le serveur et les détails du backend afin d'équilibrer la charge parmi les serveurs Web. Aller à /etc et ouvert broyer.CFG dossier de modification.

# vi / etc / livre.CFG 

Apporter les modifications comme suggéré ci-dessous.

Adresse à écouterhttp 172.16.1.222 Port 80 End écouter les Adresses 172.16.1.222 Port 443 Cert "/ etc / pki / tls / certs / livre.Adresse backend du service de fin PEM " 172.16.1.204 Port 8888 Adresse du backend final 192.168.1.161 Port 5555 Fin 

C'est ainsi que mon broyer.CFG Le fichier ressemble à.

Configurer l'équilibreur de charge

Sous le "Écouterhttp" et "Écouterhttps»Tags, vous devez entrer le adresse IP du serveur que vous avez installé livre.

Par défaut, un serveur gère les demandes HTTP par le port 80 et les demandes HTTPS via le port 443. Sous le "Service"Tag, vous pouvez ajouter n'importe quelle quantité de sous-balises appelée"Backend". Les balises backend portent les adresses IP et les numéros de port sur lesquels les serveurs Web exécutent.

Enregistrez maintenant le fichier après l'avoir modifié correctement et redémarrez le BROYER Service en émettant l'une des commandes ci-dessous.

# / etc / init.D / livre redémarrer ou # service Pound Redémarrer ou # SystemCTL Restart Pound.service 
Démarrer l'équilibreur de chargement Pound

4. Maintenant, il est temps de vérifier. Ouvrez deux navigateurs Web pour vérifier si nos configurations fonctionnent bien. Dans la barre d'adresse, tapez votre BROYER Adresse IP de Gateway et voir ce qui apparaît.

La première demande devrait charger le premier Webserver01 et la deuxième demande de l'autre navigateur Web devrait charger le second webServer02.

Vérifier l'équilibrage de la charge

De plus, pensez à un scénario comme si vous avez deux serveurs Web Pour l'équilibre des charges et l'une des performances du serveur est bonne et les performances des autres ne sont pas si bonnes.

Ainsi, lorsque la charge équilibre entre eux, vous devrez considérer pour quel serveur vous devez mettre plus de poids. De toute évidence pour le serveur avec de bonnes spécifications de performance.

Pour équilibrer la charge comme ça, il vous suffit d'ajouter un seul paramètre à l'intérieur du broyer.CFG déposer. Jetons un coup d'œil.

Serveur de réflexion 192.168.1.161: 5555 est le meilleur serveur. Ensuite, vous devez mettre plus de demandes à ce serveur. Sous le "Backend”Tag qui est configuré pour 192.168.1.161 serveur, ajoutez le paramètre "Priorité"Avant la balise de fin.

Regardez l'exemple ci-dessous.

Priorité d'équilibrage de la charge

La gamme que nous pouvons utiliser pour le «Priorité»Le paramètre est entre 1-9. Si nous ne le définissons pas, la valeur par défaut de 5 sera affecté.

Alors la charge sera équilibrée également. Si nous définissons le numéro de priorité, BROYER Chargera le serveur avec un numéro de priorité plus élevé plus souvent. Donc dans ce cas, 192.168.1.161: 5555 sera chargé plus souvent que le serveur 172.16.1.204: 8888.

Étape 3: Planification des pannes d'urgence

Étiquette d'urgence: Cette balise est utilisée pour charger un serveur dans le cas où tous les serveurs arrière sont morts. Vous pouvez l'ajouter avant la dernière étiquette de fin de broyer.CFG comme suit.

«Adresse d'urgence 192.168.5.10 Port 8080 Fin » 

6. La livre gardez toujours une trace des serveurs backend en vie et qui ne sont pas. Nous pouvons définir après combien de secondes livre devrait vérifier les serveurs backend en ajoutant «Vivant»Paramètre dans broyer.CFG.

Vous pouvez utiliser le paramètre comme «Vivant 30"Pour le régler sur 30 secondes. Pound désactivera temporairement les serveurs backend qui ne répondent pas. Lorsque nous disons que ne pas répondre au serveur peut être mort ou ne peut pas établir de connexion à ce moment-là.

Pound vérifiera le serveur backend handicapé chaque fois à chaque période que vous avez définie dans le broyer.CFG Fichier au cas où le serveur pouvait établir une connexion, la livre peut revenir au travail avec le serveur.

7. Le démon de livre sera manipulé par PoundCtl commande. En ayant cela, nous n'avons pas besoin de modifier le broyer.CFG dossier et nous pouvons émettre Serveur listner, Backend serveurs et séances, etc. via une seule commande.

Syntaxe: POURDCTL -C / PATH / TO / SOCKET [-L / -L] [-S / -S] [-B / -B] [-N / -N] [-H] [-X] 
  1. -c Définit le chemin de votre prise.
  2. -L / / -l définit l'auditeur de votre architecture.
  3. -S / / -s définit le service.
  4. -B / / -b définit les serveurs backend.

Voir PoundCtl pages d'homme pour plus d'informations.

J'espère que vous apprécierez ce hack et découvrez plus d'options à ce sujet. N'hésitez pas à commenter ci-dessous pour toutes les suggestions et idées. Restez connecté avec Tecmint pour les commentaires pratiques et les plus récents.

Lire aussi: Installation de l'équilibreur de chargement de carrefour XR pour les serveurs Web