Maison Opération et maintenance exploitation et maintenance Linux Comment déployer une architecture haute disponibilité sous Linux

Comment déployer une architecture haute disponibilité sous Linux

Jun 18, 2023 pm 12:21 PM
linux 架构 高可用

Avec l'avènement de l'ère du big data, de plus en plus d'entreprises et d'organisations commencent à utiliser les systèmes d'exploitation Linux comme plates-formes de serveurs. Afin de garantir la disponibilité et la stabilité des applications, l'architecture haute disponibilité est devenue un élément indispensable des serveurs Linux. Cet article explique comment déployer une architecture haute disponibilité sous Linux.

Qu'est-ce que l'architecture haute disponibilité ?

La haute disponibilité (HA) fait référence à une architecture système qui peut continuer à fournir des services en cas de panne du système. La haute disponibilité peut être mise en œuvre via diverses technologies, telles que l'équilibrage de charge, la sauvegarde redondante, le basculement, etc. Pour les applications d'entreprise, le maintien d'une haute disponibilité est essentiel car il garantit que l'application peut continuer à fonctionner normalement en cas de circonstances inattendues.

Étapes pour déployer une architecture à haute disponibilité sous Linux

  1. Planification du réseau

Tout d'abord, vous devez planifier le réseau. Pour garantir une haute disponibilité, chaque nœud du cluster doit se voir attribuer une adresse IP indépendante et combiné en une adresse IP virtuelle. De plus, le stockage réseau doit être configuré pour que le cluster puisse partager des données entre les nœuds.

  1. Installer le logiciel

Avant d'installer le logiciel, installez les packages logiciels nécessaires sur chaque nœud, tels que : les packages heartbeat, corosync et pcs. Il peut être installé sur CentOS à l'aide de la commande suivante :

sudo yum install corosync pcs pacemaker resource-agents
Copier après la connexion
  1. Configurer Corosync et Heartbeat

Ensuite, Corosync et Heartbeat doivent être configurés pour activer la communication entre les deux nœuds. C’est l’une des étapes clés pour garantir une haute disponibilité. Définissez l'adresse IP du nœud, le nom du canal et le port du canal dans le fichier de configuration. Au cours de ce processus de configuration, veuillez vous assurer de la configuration des informations suivantes :

  • bindnetaddr : utilisé pour spécifier l'adresse de l'interface réseau pour la communication entre les nœuds.
  • mcastaddr : utilisé pour spécifier l'adresse multicast.
  • mcastport : utilisé pour spécifier le numéro de port du canal multicast.
totem {
        version: 2
        secauth: off
        interface {
                ringnumber: 0
                bindnetaddr: 192.168.50.0
                mcastaddr: 226.94.1.1
                mcastport: 5405
        }
        transport: udpu
}

logging {
        to_logfile: yes
        logfile: /var/log/corosync/corosync.log
        to_syslog: yes
}
Copier après la connexion

Dans le fichier de configuration Heartbeat, vous devez définir l'adresse IP et l'adresse IP virtuelle du nœud. Assurez-vous que l'application servant l'adresse IP virtuelle est installée.

#设定hacluster集群名称
cluster hacluster
#设定故障探测时间间隔 必须<ping的-send值
keepalive 2
#每次探测(waitting)会加入2秒
deadtime 10
#装备ping用的参数,每次等待10秒
warntime 10
initdead 20
udpport 694
#主服务节点IP,可多行填写
node node1.example.com
node node2.example.com
#关联的主节点为node1,次节点为node2
crm respawn
#virtual_ip是虚拟IP
#Ethernet Bridge 和IP假设设为192.168.0.1/24
primitive virtual_ip ocf:heartbeat:IPaddr2 
        params ip="192.168.0.5" cidr_netmask="24" 
        op monitor interval="10s"
#IP暂停服务后强制迁移
location virtual_ip-primary virtual_ip 
        rule $id="virtual_ip-rule" inf: virtual_ip
Copier après la connexion
  1. Configurer les outils de gestion de cluster

Installez l'outil pcs, qui est un outil de ligne de commande pour configurer le logiciel de gestion de cluster Pacemaker. Il peut être installé à l'aide de la commande suivante :

sudo yum install pcs
sudo systemctl enable pcsd.service && sudo systemctl start pcsd.service
Copier après la connexion

Configurez le pare-feu, en vous assurant que le pare-feu de n'importe quel nœud autorise la communication. Sur CentOS7, vous pouvez utiliser la commande suivante :

sudo firewall-cmd --add-service=high-availability --permanent
sudo firewall-cmd --reload
Copier après la connexion

Sur chaque nœud, créez l'utilisateur hacluster et ajoutez-le au groupe pcsd pour la gestion future du cluster Pacemaker :

sudo useradd hacluster
sudo passwd hacluster
sudo usermod -aG pcsd hacluster
Copier après la connexion

Pour activer le service pcsd, utilisez la commande suivante :

sudo systemctl enable pcsd
sudo systemctl start pcsd
Copier après la connexion

Configurez la clé d'authentification sur Pacemaker à l'aide de la commande suivante, copiez la clé d'authentification sur tous les autres nœuds en utilisant les mêmes options :

sudo pcs cluster auth <node1.example.com> <node2.example.com> -u hacluster -p <password> --force
Copier après la connexion
  1. Configurez l'équilibrage de charge

Installez et configurez HAproxy, un serveur haut débit basé sur des applications TCP et HTTP Outil d'équilibrage de charge de disponibilité. Vous pouvez utiliser la commande suivante pour l'installer sur CentOS :

sudo yum -y install haproxy
sudo systemctl enable haproxy
Copier après la connexion

Dans le fichier de configuration haproxy, vous devez définir l'algorithme d'équilibrage de charge, l'adresse IP et le numéro de port du serveur backend.

global
    log         127.0.0.1 local2
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon      # Enables HAProxy in daemon mode

defaults
    log         global
    mode        http
    option      httplog
    option      dontlognull
    retries     3
    option      redispatch
    maxconn     2000
    contimeout  5000
    clitimeout  50000
    srvtimeout  50000

frontend web
    bind *:80
    mode http
    default_backend web-backend

backend web-backend
    mode http
    balance roundrobin
    option httpchk HEAD / HTTP/1.1
Host:localhost
    server node1 10.0.0.2:80 check
    server node2 10.0.0.3:80 check
Copier après la connexion
  1. Testez l'architecture haute disponibilité

Enfin, testez la haute disponibilité. Déconnectez l'un des nœuds et assurez-vous que l'adresse IP virtuelle est automatiquement transférée vers l'autre nœud. Confirmez que les applications sur les autres nœuds s'exécutent normalement sous l'adresse IP virtuelle pour garantir une haute disponibilité.

Conclusion

Le déploiement d'une architecture haute disponibilité sous Linux peut garantir la stabilité et la disponibilité des applications d'entreprise face à des pannes inattendues. Grâce à l'architecture HA basée sur Corosync et Heartbeat, les applications peuvent être distribuées sur différents nœuds de serveur via des adresses IP virtuelles et des algorithmes d'équilibrage de charge pour garantir leur haute disponibilité et leurs performances.

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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 Docker Desktop Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Comment afficher le processus Docker Comment afficher le processus Docker Apr 15, 2025 am 11:48 AM

Méthode de visualisation du processus docker: 1. Commande Docker CLI: Docker PS; 2. Commande CLI Systemd: Docker d'état SystemCTL; 3. Docker Compose CLI Commande: Docker-Compose PS; 4. Process Explorer (Windows); 5. / Répertoire proc (Linux).

Que faire si l'image Docker échoue Que faire si l'image Docker échoue Apr 15, 2025 am 11:21 AM

Dépannage des étapes pour la construction d'image Docker échouée: cochez la syntaxe Dockerfile et la version de dépendance. Vérifiez si le contexte de construction contient le code source et les dépendances requis. Affichez le journal de construction pour les détails d'erreur. Utilisez l'option - cibler pour créer une phase hiérarchique pour identifier les points de défaillance. Assurez-vous d'utiliser la dernière version de Docker Engine. Créez l'image avec --t [Image-Name]: Debug Mode pour déboguer le problème. Vérifiez l'espace disque et assurez-vous qu'il est suffisant. Désactivez SELINUX pour éviter les interférences avec le processus de construction. Demandez de l'aide aux plateformes communautaires, fournissez Dockerfiles et créez des descriptions de journaux pour des suggestions plus spécifiques.

Quelle configuration de l'ordinateur est requise pour VScode Quelle configuration de l'ordinateur est requise pour VScode Apr 15, 2025 pm 09:48 PM

Vs Code Système Exigences: Système d'exploitation: Windows 10 et supérieur, MacOS 10.12 et supérieur, processeur de distribution Linux: minimum 1,6 GHz, recommandé 2,0 GHz et au-dessus de la mémoire: minimum 512 Mo, recommandée 4 Go et plus d'espace de stockage: Minimum 250 Mo, recommandée 1 Go et plus d'autres exigences: connexion du réseau stable, xorg / wayland (Linux) recommandé et recommandée et plus

VScode ne peut pas installer l'extension VScode ne peut pas installer l'extension Apr 15, 2025 pm 07:18 PM

Les raisons de l'installation des extensions de code vs peuvent être: l'instabilité du réseau, les autorisations insuffisantes, les problèmes de compatibilité système, la version de code vs est trop ancienne, un logiciel antivirus ou des interférences de pare-feu. En vérifiant les connexions réseau, les autorisations, les fichiers journaux, la mise à jour vs du code, la désactivation des logiciels de sécurité et le redémarrage du code ou des ordinateurs, vous pouvez progressivement dépanner et résoudre les problèmes.

Peut-on utiliser pour mac Peut-on utiliser pour mac Apr 15, 2025 pm 07:36 PM

VS Code est disponible sur Mac. Il a des extensions puissantes, l'intégration GIT, le terminal et le débogueur, et offre également une multitude d'options de configuration. Cependant, pour des projets particulièrement importants ou un développement hautement professionnel, le code vs peut avoir des performances ou des limitations fonctionnelles.

Qu'est-ce que VScode pour quoi est VScode? Qu'est-ce que VScode pour quoi est VScode? Apr 15, 2025 pm 06:45 PM

VS Code est le code Visual Studio Nom complet, qui est un éditeur de code multiplateforme gratuit et open source et un environnement de développement développé par Microsoft. Il prend en charge un large éventail de langages de programmation et fournit une mise en surbrillance de syntaxe, une complétion automatique du code, des extraits de code et des invites intelligentes pour améliorer l'efficacité de développement. Grâce à un écosystème d'extension riche, les utilisateurs peuvent ajouter des extensions à des besoins et des langues spécifiques, tels que les débogueurs, les outils de mise en forme de code et les intégrations GIT. VS Code comprend également un débogueur intuitif qui aide à trouver et à résoudre rapidement les bogues dans votre code.

Quel est le but principal de Linux? Quel est le but principal de Linux? Apr 16, 2025 am 12:19 AM

Les principales utilisations de Linux comprennent: 1. Système d'exploitation du serveur, 2. Système intégré, 3. Système d'exploitation de bureau, 4. Environnement de développement et de test. Linux excelle dans ces domaines, offrant des outils de stabilité, de sécurité et de développement efficaces.

See all articles