Maison > Opération et maintenance > exploitation et maintenance Linux > Comment configurer un système de fichiers de cluster hautement disponible sous Linux

Comment configurer un système de fichiers de cluster hautement disponible sous Linux

WBOY
Libérer: 2023-07-07 13:18:07
original
1757 Les gens l'ont consulté

Comment configurer un système de fichiers de cluster hautement disponible sous Linux

Introduction :
Dans le domaine informatique, la haute disponibilité (haute disponibilité) est une technologie qui vise à améliorer la fiabilité et la disponibilité du système. Dans un environnement de cluster, un système de fichiers hautement disponible est l'un des composants importants pour garantir le fonctionnement continu du système. Cet article explique comment configurer un système de fichiers de cluster hautement disponible sous Linux et donne des exemples de code correspondants.

  1. Installer les packages
    Tout d'abord, assurez-vous que les packages nécessaires sont installés sur votre système. Dans la plupart des distributions Linux, ces packages peuvent être installés à l'aide d'outils de gestion de packages. Les logiciels suivants sont courants :
  • Pacemaker : un outil de gestion de cluster pour gérer l'état et les ressources du système de fichiers.
  • Corosync : Outil de communication pour la création et la maintenance d'environnements de cluster.
  • DRBD : périphérique de bloc répliqué distribué, utilisé pour implémenter la mise en miroir de disque.
  • GFS2 ou OCFS2 : utilisé pour fournir un système de fichiers de cluster hautement disponible.

Sur Ubuntu, vous pouvez utiliser la commande suivante pour installer le package :

sudo apt-get install pacemaker corosync drbd8-utils gfs2-utils
Copier après la connexion
  1. Configurer l'environnement du cluster
    Tout d'abord, vous devez configurer l'environnement du cluster, y compris la communication entre les nœuds et la gestion des ressources. Ce qui suit est un exemple de configuration simple avec deux nœuds (nœud1 et nœud2) :
  • Modifiez le fichier /etc/hosts et ajoutez l'adresse IP et le nom d'hôte du nœud afin que les nœuds puissent accéder les uns aux autres.
sudo nano /etc/hosts
Copier après la connexion

Ajoutez ce qui suit :

192.168.1.100    node1
192.168.1.101    node2
Copier après la connexion
  • Configurez la communication Corosync.

Créez le fichier de configuration Corosync.

sudo nano /etc/corosync/corosync.conf
Copier après la connexion

Ajoutez ce qui suit :

totem {
    version: 2
    secauth: off
    cluster_name: mycluster
    transport: udpu
}

nodelist {
    node {
        ring0_addr: node1
        nodeid: 1
    }
    node {
        ring0_addr: node2
        nodeid: 2
    }
}

quorum {
    provider: corosync_votequorum
}

logging {
    to_syslog: yes
    to_logfile: yes
    logfile: /var/log/corosync.log
    debug: off
    timestamp: on
}
Copier après la connexion
  • Activez les services Corosync et Pacemaker.
sudo systemctl enable corosync
sudo systemctl enable pacemaker
Copier après la connexion

Démarrez le service.

sudo systemctl start corosync
sudo systemctl start pacemaker
Copier après la connexion
  1. Configuration de DRBD
    DRBD est un périphérique de bloc répliqué distribué, utilisé pour implémenter la mise en miroir de disque entre plusieurs nœuds. Ce qui suit est un exemple de configuration de DRBD avec deux nœuds (node1 et node2) et utilisant /dev/sdb comme périphérique de bloc partagé :
  • Configuration de DRBD.

Créez le fichier de configuration DRBD.

sudo nano /etc/drbd.d/myresource.res
Copier après la connexion

Ajoutez ce qui suit :

resource myresource {
    protocol C;

    on node1 {
        device /dev/drbd0;
        disk   /dev/sdb;
        address 192.168.1.100:7789;
        meta-disk internal;
    }

    on node2 {
        device /dev/drbd0;
        disk   /dev/sdb;
        address 192.168.1.101:7789;
        meta-disk internal;
    }

    net {
        allow-two-primaries;
    }

    startup {
        wfc-timeout     15;
        degr-wfc-timeout 60;
    }

    syncer {
        rate    100M;
        al-extents 257;
    }

    on-node-upgraded {
        # promote node1 to primary after a successful upgrade
        if [ "$(cat /proc/sys/kernel/osrelease)" != "$TW_AFTER_MAJOR.$TW_AFTER_MINOR.$TW_AFTER_UP" ] && 
           [ "$(cat /proc/mounts | grep $DRBD_DEVICE)" = "" ] ; then
            /usr/bin/logger "DRBD on-node-upgraded handler: Promoting to primary after upgrade.";
            /usr/sbin/drbdsetup $DRBD_DEVICE primary;
        fi;
    }
}
Copier après la connexion
  • Initialisez DRBD.
sudo drbdadm create-md myresource
Copier après la connexion

Démarrez DRBD.

sudo systemctl start drbd
Copier après la connexion
  1. Configurer le système de fichiers de cluster
    Vous avez le choix entre plusieurs systèmes de fichiers de cluster, tels que GFS2 et OCFS2. Ce qui suit est un exemple de configuration utilisant GFS2 comme exemple.
  • Créer un système de fichiers.
sudo mkfs.gfs2 -p lock_gulmd -t mycluster:myresource /dev/drbd0
Copier après la connexion
  • Montez le système de fichiers.
sudo mkdir /mnt/mycluster
sudo mount -t gfs2 /dev/drbd0 /mnt/mycluster
Copier après la connexion
  • Ajoutez des ressources du système de fichiers.
sudo pcs resource create myresource Filesystem device="/dev/drbd0" directory="/mnt/mycluster" fstype="gfs2"  op start  timeout="60s"  op stop  timeout="60s"  op monitor interval="10s"  op monitor timeout="20s"  op monitor start-delay="5s"  op monitor stop-delay="0s"
Copier après la connexion
  • Activer et démarrer les ressources.
sudo pcs constraint order myresource-clone then start myresource
sudo pcs constraint colocation add myresource with myresource-clone
Copier après la connexion
  1. Test haute disponibilité
    Après avoir terminé la configuration ci-dessus, vous pouvez tester la haute disponibilité. Voici les étapes de test :
  • Arrêtez le nœud maître.
sudo pcs cluster stop node1
Copier après la connexion
  • Vérifiez si le système de fichiers fonctionne correctement sur le nœud de veille.
sudo mount | grep "/mnt/mycluster"
Copier après la connexion
Copier après la connexion

La sortie doit être l'adresse et le point de montage du nœud de secours.

  • Restaurez le nœud maître.
sudo pcs cluster start node1
Copier après la connexion
  • Vérifiez si le système de fichiers est restauré sur le nœud maître.
sudo mount | grep "/mnt/mycluster"
Copier après la connexion
Copier après la connexion

La sortie doit être l'adresse et le point de montage du nœud maître.

Conclusion : 
La configuration d'un système de fichiers de cluster hautement disponible peut améliorer la fiabilité et la disponibilité du système. Cet article décrit comment configurer un système de fichiers de cluster hautement disponible sous Linux et fournit des exemples de code correspondants. Les lecteurs peuvent configurer et ajuster de manière appropriée en fonction de leurs propres besoins pour obtenir une plus grande disponibilité.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal