Mise en grappe à haute disponibilité

Avec les instances Oracle Linux s'exécutant sur Oracle Cloud Infrastructure (OCI), vous pouvez créer des grappes hautement disponibles qui fournissent un accès continu aux applications et services s'exécutant sur plusieurs noeuds. La mise en grappe hautement disponible réduit les temps d'arrêt et fournit un service continu en cas de défaillance des composants système.

Vous pouvez créer des grappes hautement disponibles avec des instances OCI en installant et en utilisant Pacemaker, un gestionnaire de ressources à haute disponibilité à code source libre, et Corosync, un moteur de grappe à code source libre. Pour plus d'informations sur la mise en grappe haute disponibilité et les technologies Pacemaker et Corosync, voir Configuration de la mise en grappe à haute disponibilité par Oracle Linux 9 et Configuration de la mise en grappe à haute disponibilité par Oracle Linux 8.

Préalable :

Avant de commencer, configurez un périphérique de stockage partagé pour qu'il soit accessible à partir de tous les noeuds souhaités dans la grappe hautement disponible. Un périphérique de stockage partagé est nécessaire pour le service de cluster et la messagerie applicative, ainsi que pour la clôture SBD du cluster. Pour plus d'informations sur la configuration d'un appareil de stockage partagé, voir Oracle Linux 9 - Gestion des systèmes de fichiers partagés et Oracle Linux 8 - Gestion des systèmes de fichiers partagés.

Configuration de la mise en grappe à haute disponibilité avec des instances OCI

Pour configurer la mise en grappe à haute disponibilité avec les instances OCI :

  1. Installer le logiciel Pacemaker
  2. Créer une grappe hautement disponible
  3. Configurer l'escrime

Installation de Pacemaker

Pour créer une grappe hautement disponible avec des instances Oracle Cloud Infrastructure (OCI), vous devez d'abord installer les ensembles Pacemaker et Corosync sur chaque instance, ou noeud, que vous voulez dans la grappe. Vous pouvez ensuite configurer chaque noeud du cluster et vous assurer que le service Pacemaker démarre et s'exécute automatiquement sur chaque noeud lors du démarrage.

Note

Les noeuds d'instance, de noeud et de grappe OCI sont utilisés de manière interchangeable avec la mise en grappe hautement disponible pour OCI.

Meilleure pratique

Pour chaque instance OCI voulue dans la grappe, ouvrez une fenêtre de terminal et connectez-vous à l'instance.

Par exemple, si vous voulez que deux instances OCI soient des noeuds dans la grappe, ouvrez deux fenêtres de terminal et connectez-vous à chaque instance à l'aide de ssh :
ssh instance-IP-address

L'ouverture d'une fenêtre de terminal pour chaque noeud évite d'avoir à se connecter et à se déconnecter de façon répétée des noeuds lors de la configuration du cluster HA.

Installation de Pacemaker et Corosync

Pour installer les packages Pacemaker et Corosync et configurer les noeuds de cluster HA :

  1. Remplissez les conditions requises dans Grappe à haute disponibilité.
  2. Activez le référentiel sur le serveur yum Oracle Linux où résident les ensembles Pacemaker et Corosync.

    Oracle Linux pour enfants :

    sudo dnf config-manager --enable ol9_addons

    Oracle Linux :

    sudo dnf config-manager --enable ol8_addons
  3. Sur chaque noeud, installez l'interpréteur de commandes Pacemaker pcs, les ensembles de logiciels et tous les agents de clôture et de ressource disponibles :

    sudo dnf install pcs pacemaker resource-agents fence-agents-sbd
  4. Configurez le pare-feu de sorte que les composants de service puissent communiquer sur le réseau :

    sudo firewall-cmd --permanent --add-service=high-availability
  5. Sur chaque noeud, définissez un mot de passe pour l'utilisateur hacluster :

    sudo passwd hacluster
  6. Sur chaque noeud, définissez le service pcsd pour qu'il s'exécute et démarre au démarrage :

    sudo systemctl enable --now pcsd.service
  7. Créez une grappe hautement disponible à l'aide des noeuds que vous avez configurés. Voir Création d'une grappe hautement disponible.

Création d'une grappe hautement disponible

Avec le logiciel Pacemaker et Corosync, vous pouvez créer une grappe à haute disponibilité avec des instances Linux exécutées sur Oracle Cloud Infrastructure (OCI).

Pour créer une grappe hautement disponible :

  1. Installez les packages logiciels Pacemaker et Corosync sur chaque noeud du cluster. Voir Installation de Pacemaker.
  2. À partir d'un des noeuds, authentifiez l'outil de configuration de grappe pcs pour l'utilisateur hacluster de chaque noeud de grappe.

    Par exemple, si vous voulez que deux noeuds composent la grappe hautement disponible, exécutez la commande suivante à partir de l'un des noeuds de la grappe :

    sudo pcs host auth node1-resolvable-hostname node2-resolvable-hostname -u hacluster
  3. À l'invite, entrez le mot de passe que vous avez défini à l'étape 5 pour l'utilisateur hacluster sur chaque noeud.

  4. Créez la grappe hautement disponible à l'aide de la commande pcs cluster setup et en spécifiant les éléments suivants :

    • Nom de la grappe
    • Nom d'hôte et adresse IP résolvables de chaque noeud que vous voulez dans la grappe

    Par exemple, pour créer une grappe hautement disponible avec deux noeuds :

    sudo pcs cluster setup cluster-name node1-resolvable-hostname addr=node1-IP-address node2-resolvable-hostname addr=node2-IP-address
  5. À partir de l'un des noeuds, démarrez la grappe sur tous les noeuds :

    sudo pcs cluster start --all
  6. Configurez l'escrime SBD pour la grappe hautement disponible nouvellement créée. Voir Configuration de clôtures.

Configuration de l'escrime

La clôture STONITH Block Device (SBD) fonctionne avec le logiciel Pacemaker pour protéger les données lorsqu'un noeud d'un cluster haute disponibilité ne répond plus. L'isolement empêche les noeuds actifs du cluster HA d'accéder aux données sur le noeud qui ne répond pas jusqu'à ce que le logiciel Pacemaker mette ce noeud qui ne répond pas hors ligne.

La configuration d'escrime SBD est la dernière étape pour terminer la configuration d'une grappe hautement disponible avec des instances OCI. Pour plus d'informations sur la création d'une grappe hautement disponible, voir Création d'une grappe hautement disponible.

Note

Pour créer des grappes haute disponibilité avec des instances OCI, vous devez utiliser uniquement le mécanisme de clôture de grappe SBD. Les autres mécanismes d'isolement de grappe ne sont pas pris en charge actuellement dans cet environnement.

Configuration de la clôture SBD pour une grappe hautement disponible

Pour configurer la clôture SBD pour une grappe hautement disponible :

  1. À partir d'un des noeuds de la grappe, activez stonith (Tirer l'autre noeud dans la tête), une technique d'escrime utilisée dans le cadre de la stratégie d'escrime SBD.

    sudo pcs property set stonith-enabled=true
  2. A partir de l'un des noeuds, arrêtez le cluster :

    sudo pcs cluster stop --all
  3. Sur chaque noeud, installez et configurez le démon SBD :

    sudo dnf install sbd
  4. Sur chaque noeud, activez le service systemd sbd :

    sudo systemctl enable sbd
    Note

    Lorsque cette option est activée, le service systemd sbd démarre et s'arrête automatiquement en tant que dépendance du service Pacemaker. Cela signifie que vous n'avez pas besoin d'exécuter le service sbd de manière indépendante et que vous ne pouvez pas démarrer ou arrêter manuellement le service. Si vous tentez de le démarrer ou de l'arrêter manuellement, l'état du service reste le même et un message d'erreur s'affiche, indiquant que le service est un service dépendant.
  5. Sur chaque noeud, modifiez le fichier /etc/sysconfig/sbd et définissez le paramètre SBD_DEVICE pour identifier le périphérique de stockage partagé. Pour plus d'informations sur les appareils de stockage partagé, voir Oracle Linux 9 - Gestion des systèmes de fichiers partagés et Oracle Linux 8 - Gestion des systèmes de fichiers partagés.

    Par exemple, si le périphérique de stockage partagé est disponible sur /dev/sdc, assurez-vous que le fichier /etc/sysconfig/sbd sur chaque noeud contient la ligne suivante :

    SBD_DEVICE="/dev/sdc"
  6. Continuez à modifier le fichier /etc/sysconfig/sbd sur chaque noeud en réglant l'appareil Watchdog à /dev/null :
    SBD_WATCHDOG_DEV=/dev/null
  7. À partir de l'un des noeuds, créez la disposition de messagerie SBD sur le périphérique de stockage partagé et vérifiez qu'elle est en place.

    Par exemple, pour configurer et vérifier la messagerie sur le périphérique de stockage partagé à l'adresse /dev/sdc :

    sudo sbd -d /dev/sdc create 
    sudo sbd -d /dev/sdc list
  8. À partir d'un des noeuds, démarrez la grappe et configurez l'agent de clôture fence_sbd pour le périphérique de stockage partagé.

    Par exemple, pour démarrer la grappe et configurer le périphérique de stockage partagé à l'adresse /dev/sdc :

    sudo pcs cluster start --all 
    sudo pcs stonith create sbd_fencing fence_sbd devices=/dev/sdc