Mise en cluster haute disponibilité

Avec les instances Oracle Linux exécutées sur Oracle Cloud Infrastructure (OCI), vous pouvez créer des clusters haute disponibilité qui fournissent un accès continu aux applications et aux services exécutés sur plusieurs noeuds. Le clustering haute disponibilité réduit les temps d'arrêt et assure un service continu en cas de panne des composants système.

Vous pouvez créer des clusters de haute disponibilité avec des instances OCI en installant et en utilisant Pacemaker, un gestionnaire de ressources open source haute disponibilité, et Corosync, un moteur de cluster open source. Pour plus d'informations sur le clustering haute disponibilité et les technologies Pacemaker et Corosync, reportez-vous à Oracle Linux 9 Setting Up High Availability Clustering et à Oracle Linux 8 Setting Up High Availability Clustering.

Prérequis

Avant de commencer, configurez un périphérique de stockage partagé pour qu'il soit accessible à partir de tous les noeuds souhaités dans le cluster HA. Un périphérique de stockage partagé est nécessaire pour le service de cluster et la messagerie applicative, ainsi que pour la séparation SBD de cluster. Pour plus d'informations sur la configuration d'un périphérique de stockage partagé, reportez-vous à Oracle Linux 9 Managing Shared File Systems et à Oracle Linux 8 Managing Shared File Systems.

Configuration d'un clustering haute disponibilité avec des instances OCI

Pour configurer le clustering haute disponibilité avec des instances OCI, procédez comme suit :

  1. Installation du logiciel Pacemaker
  2. Créer un cluster HA
  3. Configurer la séparation

Installation de Pacemaker

Pour créer un cluster haute disponibilité avec des instances Oracle Cloud Infrastructure (OCI), vous devez d'abord installer les packages Pacemaker et Corosync sur chaque instance ou noeud souhaité dans le cluster. 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 au moment de l'initialisation.

Remarque

L'instance OCI, le noeud et le noeud de cluster sont utilisés de manière interchangeable avec le clustering HA pour OCI.

Meilleure pratique

Pour chaque instance OCI à inclure dans le cluster, ouvrez une fenêtre de terminal et connectez-vous à l'instance.

Par exemple, si vous voulez que deux instances OCI soient des noeuds dans le cluster, 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 manière 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. Effectuez le prérequis dans Clustering haute disponibilité.
  2. Activez le référentiel sur le serveur yum Oracle Linux sur lequel résident les packages Pacemaker et Corosync.

    Oracle Linux 9 :

    sudo dnf config-manager --enable ol9_addons

    Oracle Linux 8 :

    sudo dnf config-manager --enable ol8_addons
  3. Sur chaque noeud, installez le shell de commande Pacemaker pcs, les packages logiciels et tous les agents de ressource et de barrière 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 à l'initialisation :

    sudo systemctl enable --now pcsd.service
  7. Créez un cluster HA à l'aide des noeuds que vous avez configurés. Reportez-vous à la section Creating an HA Cluster.

Création d'un cluster HA

Avec les logiciels Pacemaker et Corosync, vous pouvez créer un cluster haute disponibilité avec des instances Linux exécutées sur Oracle Cloud Infrastructure (OCI).

Pour créer un cluster HA :

  1. Installez les packages logiciels Pacemaker et Corosync sur chaque noeud du cluster. Reportez-vous à la section Installing Pacemaker.
  2. A partir de l'un des noeuds, authentifiez l'outil de configuration de cluster pcs pour l'utilisateur hacluster de chaque noeud de cluster.

    Par exemple, si vous souhaitez que deux noeuds constituent le cluster HA, exécutez la commande suivante à partir de l'un des noeuds du cluster :

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

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

    • Nom du cluster
    • Nom d'hôte et adresse IP résolvables de chaque noeud que vous souhaitez dans le cluster

    Par exemple, pour créer un cluster HA avec deux noeuds :

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

    sudo pcs cluster start --all
  6. Configurez la séparation SBD pour le cluster HA nouvellement créé. Reportez-vous à Configuration de la séparation.

Configurer la séparation

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

La configuration de séparation SBD est la dernière étape de la configuration d'un cluster HA avec des instances OCI. Pour plus d'informations sur la création d'un cluster HA, reportez-vous à la section Creating an HA Cluster.

Remarque

Pour créer des clusters de haute disponibilité avec des instances OCI, vous devez utiliser uniquement le mécanisme de séparation de cluster SBD. D'autres mécanismes de séparation de cluster ne sont actuellement pas pris en charge dans cet environnement.

Configuration de la séparation SBD pour un cluster HA

Pour configurer la séparation SBD pour un cluster HA :

  1. A partir de l'un des noeuds de cluster, activez stonith (Tirez sur l'autre noeud dans la tête), une technique de séparation utilisée dans le cadre de la stratégie de séparation 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
    Remarque

    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 indépendamment et que vous ne pouvez pas démarrer ou arrêter manuellement le service. Si vous essayez 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 périphériques de stockage partagés, reportez-vous à Oracle Linux 9 Managing Shared File Systems et à Oracle Linux 8 Managing Shared File Systems.

    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 définissant le périphérique de chien de garde sur /dev/null :
    SBD_WATCHDOG_DEV=/dev/null
  7. A partir de l'un des noeuds, créez la disposition de messagerie SBD sur le périphérique de stockage partagé et confirmez 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. A partir de l'un des noeuds, démarrez le cluster et configurez l'agent de séparation fence_sbd pour le périphérique de stockage partagé.

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

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