Table des matières
!/bin/bash
Maison Opération et maintenance exploitation et maintenance Linux Comment utiliser Linux pour l'équilibrage de charge réseau

Comment utiliser Linux pour l'équilibrage de charge réseau

Jun 18, 2023 pm 06:45 PM
linux负载均衡 网络负载均衡配置 ipvs负载均衡

L'équilibrage de charge réseau est une méthode permettant de répartir uniformément le trafic réseau entre différents serveurs, améliorant ainsi la disponibilité et les performances de l'ensemble du système. Le système Linux est livré avec certains outils qui peuvent nous aider à réaliser l'équilibrage de la charge réseau. Cet article explique comment utiliser Linux pour l'équilibrage de la charge réseau.

1. Le principe de base de l'équilibrage de charge réseau Linux

Le principe de base de l'équilibrage de charge réseau est de distribuer le trafic réseau sur plusieurs serveurs. Il existe de nombreuses méthodes de distribution, notamment la méthode d'interrogation, la méthode d'interrogation pondérée, la méthode de hachage IP, la méthode du nombre minimum de connexions, etc.

Sous Linux, nous pouvons utiliser la technologie LVS (Linux Virtual Server) pour l'équilibrage de la charge réseau. LVS est une technologie qui distribue le trafic réseau sur plusieurs serveurs. Il se compose d'un planificateur (également appelé équilibreur de charge) et de plusieurs serveurs backend.

2. Installez et configurez LVS

  1. Installez LVS

Avant de configurer LVS, nous devons installer les packages logiciels nécessaires, notamment ipvsadm et keepalived. Ces packages logiciels peuvent être installés via la commande yum.

① Installez ipvsadm

Utilisez la commande suivante pour installer le package ipvsadm :

sudo yum install ipvsadm -y

② Installez keepalived

Utilisez la commande suivante pour installer le package keepalived :

sudo yum install keepalived -y

  1. Configuration LVS

Avant de configurer LVS, nous devons comprendre quelques concepts de base :

  • Scheduler (équilibreur de charge) : utilisé pour recevoir les requêtes réseau des clients et transmettre les requêtes au serveur backend.
  • Adresse IP d'écoute : l'adresse IP consultée par le client.
  • Vrai serveur (serveur backend) : gère les requêtes réseau des clients.

Ce qui suit est un exemple de configuration de LVS, en supposant que l'adresse IP de notre planificateur est 192.168.1.1 et que les adresses IP du serveur principal sont 192.168.1.2 et 192.168.1.3.

① Configurez le planificateur

Tout d'abord, installez et configurez le service keepalived sur le planificateur. Modifiez le fichier /etc/keepalived/keepalived.conf et ajoutez la configuration suivante :

 ! Fichier de configuration pour keepalived

global_defs {
router_id LB_Test
}

vrrp_script chk_http_port {
script "/etc/keepalived/check.sh"
intervalle 2
}

vrrp_instance VI_1 {
état MASTER
interface eth0
virtual_router_id 50
priorité 101
authentification {

   auth_type PASS
   auth_pass 1111
Copier après la connexion

}
virtual_ipaddress {

   192.168.1.100
Copier après la connexion

}
track_script {

   chk_http_port
Copier après la connexion

}
}

Parmi eux, vrrp_instance est utilisé pour définir les paramètres du routeur virtuel. virtual_router_id est utilisé pour définir l'ID du routeur virtuel, virtual_ipaddress est utilisé pour définir l'adresse IP virtuelle et la priorité est utilisée pour définir la relation actif-veille. plus la priorité est élevée.

Ensuite, créez un fichier de script nommé check.sh pour vérifier si le serveur backend est actif. Enregistrez le contenu du script suivant dans le fichier check.sh :

!/bin/bash

A=ipvsadm -ln | grep -c "Server"
if [ $A -eq 0 ]; then
echo "failed"
killall keepalived
fi

Description : Quand Lorsque le serveur backend est indisponible, le script met fin au service keepalived.

Exécutez la commande suivante pour que le fichier de configuration prenne effet :

sudo systemctl restart keepalived

À ce stade, la configuration du planificateur est terminée.

② Configurez le serveur backend

Configurez le serveur réel de LVS sur le serveur backend.

Utilisez la commande suivante pour ajouter la configuration du Real Server :

sudo ipvsadm -A -t 192.168.1.100:80 -s rr

Parmi eux, l'option -A est utilisée pour ajouter des règles, -t est utilisée pour définir le l'adresse IP et le port d'écoute, -s est utilisé pour définir les règles de planification et la méthode d'interrogation est utilisée ici.

Ajoutez Real Server aux règles à l'aide des commandes suivantes :

sudo ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2 -g
sudo ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.3 -g

Parmi eux, l'option -a est utilisée pour ajouter Real Server à la règle, -r est utilisée pour définir l'adresse IP du serveur backend et -g est utilisée pour définir le mode passerelle du serveur backend.

À ce stade, la configuration de LVS est terminée.

3. Testez l'équilibrage de charge réseau

Après avoir terminé la configuration de LVS, nous pouvons tester la fonction d'équilibrage de charge réseau en suivant les étapes suivantes :

  1. Accédez à l'adresse IP virtuelle via la commande curl sur le client :

curl 192.168.1.100

  1. Après avoir été traitée par le planificateur, la requête est envoyée à l'un des serveurs backend.
  2. Démarrez un simple service HTTP sur l'un des serveurs backend :

python -m SimpleHTTPServer 80

  1. Accédez ensuite à l'adresse IP du serveur réel :

curl 192.168.1.2

  1. à nouveau à l'adresse IP virtuelle Envoyer la requête, qui doit être envoyée à un autre serveur réel.

Après le test ci-dessus, si lors de l'accès au serveur backend, les requêtes peuvent être réparties uniformément sur différents serveurs backend, alors l'équilibrage de la charge réseau peut être considéré comme réussi.

4.Résumé

Cet article explique comment utiliser Linux pour l'équilibrage de charge réseau. Nous installons les progiciels ipvsadm et keepalived, configurons l'adresse IP, le port et les règles de planification du planificateur et du serveur back-end, et enfin testons la fonction d'équilibrage de charge réseau. L'équilibrage de la charge réseau peut améliorer la disponibilité et les performances de l'ensemble du système et aider à gérer les requêtes réseau dans des environnements à haute concurrence, améliorant ainsi l'expérience utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser des expressions régulières (regex) dans Linux pour la correspondance de motifs? Comment utiliser des expressions régulières (regex) dans Linux pour la correspondance de motifs? Mar 17, 2025 pm 05:25 PM

L'article explique comment utiliser des expressions régulières (regex) dans Linux pour la correspondance de motifs, la recherche de fichiers et la manipulation du texte, la syntaxe détaillant, les commandes et les outils comme Grep, SED et AWK.

Comment surveiller les performances du système dans Linux à l'aide d'outils comme TOP, HTOP et VMSTAT? Comment surveiller les performances du système dans Linux à l'aide d'outils comme TOP, HTOP et VMSTAT? Mar 17, 2025 pm 05:28 PM

L'article discute de l'utilisation de TOP, HTOP et VMSTAT pour surveiller les performances du système Linux, détaillant leurs fonctionnalités uniques et leurs options de personnalisation pour une gestion efficace du système.

Comment implémenter l'authentification à deux facteurs (2FA) pour SSH dans Linux? Comment implémenter l'authentification à deux facteurs (2FA) pour SSH dans Linux? Mar 17, 2025 pm 05:31 PM

L'article fournit un guide sur la configuration de l'authentification à deux facteurs (2FA) pour SSH sur Linux à l'aide de Google Authenticator, détaillant l'installation, la configuration et les étapes de dépannage. Il met en évidence les avantages de sécurité du 2FA, comme SEC amélioré

Comment utiliser Sudo pour accorder des privilèges élevés aux utilisateurs de Linux? Comment utiliser Sudo pour accorder des privilèges élevés aux utilisateurs de Linux? Mar 17, 2025 pm 05:32 PM

L'article explique comment gérer les privilèges sudo à Linux, y compris l'octroi, la révocation et les meilleures pratiques de sécurité. L'accent est mis sur l'édition / etc.

Comment gérer les packages logiciels dans Linux à l'aide de gestionnaires de packages (APT, YUM, DNF)? Comment gérer les packages logiciels dans Linux à l'aide de gestionnaires de packages (APT, YUM, DNF)? Mar 17, 2025 pm 05:26 PM

L'article discute de la gestion des packages de logiciels dans Linux à l'aide d'APT, YUM et DNF, couvrant l'installation, les mises à jour et les déménagements. Il compare leurs fonctionnalités et leur pertinence pour différentes distributions.

Comment construire et personnaliser une distribution Linux? Comment construire et personnaliser une distribution Linux? Mar 14, 2025 pm 04:45 PM

L'article détaille le processus de construction et de personnalisation d'une distribution Linux, couvrant le choix d'un système de base, en utilisant des outils de construction comme LFS et des systèmes basés sur Debian, personnaliser des packages et modifier le noyau. Il discute également de la gestion des softwar

Comment configurer la mise en réseau dans Linux (IP statique, DHCP, DNS)? Comment configurer la mise en réseau dans Linux (IP statique, DHCP, DNS)? Mar 14, 2025 pm 04:55 PM

L'article fournit un guide sur la configuration de la mise en réseau Linux, en se concentrant sur la configuration des configurations statiques IP, DHCP et DNS. Il détaille les étapes pour modifier les fichiers de configuration et redémarrer les services réseau pour appliquer les modifications.

Quelles sont les distributions Linux les plus populaires (Ubuntu, Debian, Fedora, Centos)? Quelles sont les distributions Linux les plus populaires (Ubuntu, Debian, Fedora, Centos)? Mar 14, 2025 pm 04:50 PM

L'article traite des distributions populaires Linux: Ubuntu, Debian, Fedora et Centos, en se concentrant sur leurs fonctionnalités uniques et leur pertinence pour différents utilisateurs. Il compare les cycles de sortie d'Ubuntu et Debian, la disponibilité des logiciels et le support, et élevé

See all articles