Mise en grappe hautement disponible
Avec les instances Oracle Linux exécutées sur Oracle Cloud Infrastructure (OCI), vous pouvez créer des grappes haute disponibilité qui offrent un accès continu aux applications et services exécutés sur plusieurs noeuds. La mise en grappe haute disponibilité 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 haute disponibilité 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 le clustering HA et les technologies Pacemaker et Corosync, consultez les sources suivantes :
-
Configuration de la mise en grappe haute disponibilité pour Oracle Linux 10
-
Configuration de la mise en grappe haute disponibilité pour Oracle Linux 9
-
Configuration de la mise en grappe haute disponibilité pour Oracle Linux 8
Conditions requises :
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 l'escrime SBD de cluster. Pour plus d'informations sur la configuration d'un périphérique de stockage partagé, voir les sources suivantes :
Configuration de la mise en grappe à haute disponibilité avec des instances OCI
Pour configurer la mise en grappe à haute disponibilité avec des instances OCI :
Installation de Pacemaker
Pour créer une grappe à haute disponibilité 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 au moment du démarrage.
L'instance, le noeud et le noeud 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 souhaitée dans la grappe, ouvrez une fenêtre de terminal et connectez-vous à l'instance.
ssh :ssh instance-IP-addressL'ouverture d'une fenêtre de terminal pour chaque noeud évite d'avoir à se connecter et à quitter les noeuds de manière répétée 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 :
- Remplissez les conditions requises dans Grappe à haute disponibilité.
-
Activez le référentiel sur le serveur yum Oracle Linux où résident les ensembles Pacemaker et Corosync.
Oracle Linux 10 :sudo dnf config-manager --enable ol10_addonsOracle Linux 9 :
sudo dnf config-manager --enable ol9_addonsOracle Linux 8 :
sudo dnf config-manager --enable ol8_addons -
Sur chaque noeud, installez l'interpréteur de commandes Pacemaker
pcs, les ensembles logiciels et tous les agents de ressource et de limite disponibles :sudo dnf install pcs pacemaker resource-agents fence-agents-sbd -
Configurez le pare-feu afin que les composants de service puissent communiquer sur le réseau :
sudo firewall-cmd --permanent --add-service=high-availability sudo firewall-cmd --add-service=high-availability -
Sur chaque noeud, définissez un mot de passe pour l'utilisateur
hacluster:sudo passwd haclusterConseil
Définissez le même mot de passe sur chaque noeud pour éviter les problèmes d'autorisation lors de l'exécution des commandes
pcssur différents noeuds de la même grappe. -
Sur chaque noeud, définissez le service
pcsdpour qu'il s'exécute et démarre au démarrage :sudo systemctl enable --now pcsd.service -
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 :
- Installez les packages logiciels Pacemaker et Corosync sur chaque noeud du cluster. Voir Installation de Pacemaker.
-
À partir de l'un des noeuds, authentifiez l'outil de configuration de grappe
pcspour l'utilisateurhaclusterde chaque noeud de grappe.Par exemple, si vous voulez que deux noeuds constituent la grappe hautement disponible, exécutez la commande suivante à partir de l'un des noeuds de la grappe :
sudo pcs host auth node1 node2 -u haclusterRemplacez node1 et node2 par les noms d'hôte résolubles des noeuds qui doivent former la grappe.
Sinon, si les noms d'hôte ne peuvent pas être résolus, spécifiez l'adresse IP de chaque noeud comme indiqué dans l'exemple suivant :
sudo pcs host auth node1 addr=192.0.2.1 node2 addr=192.0.2.2 -u haclusterRemplacez 192.0.2.1 et 192.0.2.2 par l'adresse IP de chacun des hôtes respectifs de la grappe.
-
À l'invite, entrez le mot de passe que vous avez défini pour l'utilisateur
haclusterlorsque vous avez installé et configuré le logiciel Pacemaker sur chaque noeud. -
Créez la grappe hautement disponible à l'aide de la commande
pcs cluster setupet en spécifiant les éléments suivants :- Nom de la grappe
- Le nom d'hôte et l'adresse IP de chaque noeud à inclure dans la grappe
Par exemple, pour créer une grappe hautement disponible avec deux noeuds :
sudo pcs cluster setup cluster-name node1 addr=192.0.2.1 node2 addr=192.0.2.2Remplacez 192.0.2.1 et 192.0.2.2 par l'adresse IP de chacun des hôtes respectifs de la grappe.
-
A partir de l'un des noeuds, démarrez la grappe sur tous les noeuds :
sudo pcs cluster start --all -
Facultativement, vous pouvez activer ces services pour qu'ils démarrent au moment du démarrage de sorte qu'en cas de redémarrage d'un noeud, celui-ci rejoint automatiquement le cluster. Pour ce faire, exécutez la commande suivante sur l'un des noeuds :
sudo pcs cluster enable --allNote
Certains utilisateurs préfèrent ne pas activer ces services afin qu'une défaillance de noeud entraînant un redémarrage complet du système puisse être correctement déboguée avant qu'elle ne rejoigne le cluster.
- Configurez l'escrime SBD pour la grappe hautement disponible nouvellement créée. Voir Configuration de clôtures.
Configuration de l'escrime
L'escrime STONITH Block Device (SBD) fonctionne avec le logiciel Pacemaker pour protéger les données lorsqu'un noeud d'une grappe haute disponibilité ne répond plus. L'escrime empêche les nœuds actifs du cluster HA d'accéder aux données du nœud non réactif jusqu'à ce que le logiciel Pacemaker met ce nœud non réactif 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.
Pour créer des grappes haute disponibilité avec des instances OCI, vous devez utiliser uniquement le mécanisme d'escrime des grappes SBD. Les autres mécanismes d'escrime de grappe ne sont pas pris en charge actuellement dans cet environnement.
Configuration de l'escrime SBD pour une grappe hautement disponible
Pour configurer l'escrime SBD pour une grappe hautement disponible :
-
À partir de l'un des noeuds de la grappe, activez
stonith(Shoot The Other Node In The Head), une technique d'escrime utilisée dans le cadre de la stratégie d'escrime SBD.sudo pcs property set stonith-enabled=true -
À partir de l'un des noeuds, arrêtez la grappe :
sudo pcs cluster stop --all -
Sur chaque noeud, installez et configurez le démon SBD :
sudo dnf install sbd -
Sur chaque noeud, activez le service systemd
sbd:sudo systemctl enable sbdNote
Lorsque cette option est activée, le service systemdsbddé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 servicesbdde manière indépendante 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. -
Sur chaque noeud, modifiez le fichier
/etc/sysconfig/sbdet définissez le paramètreSBD_DEVICEpour identifier le périphérique de stockage partagé. Pour ce faire, utilisez un chemin de périphérique persistant, tel qu'un lien dans le système de répertoire/dev/disk/by-id/.Par exemple, si le périphérique de stockage partagé est disponible sur
/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90, assurez-vous que le fichier/etc/sysconfig/sbdsur chaque noeud contient la ligne suivante :SBD_DEVICE="/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90"Pour plus d'informations sur les périphériques de stockage partagés, consultez les liens fournis dans la section Préalables.
- Continuez à modifier le fichier
/etc/sysconfig/sbdsur chaque noeud en réglant l'appareil Watchdog à/dev/null:SBD_WATCHDOG_DEV=/dev/null -
À 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'il est en place.
Par exemple, pour configurer et vérifier la messagerie sur le périphérique de stockage partagé à l'adresse
/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90:sudo sbd -d /dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90 createsudo sbd -d /dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90 list -
À partir de l'un des noeuds, démarrez la grappe et configurez l'agent d'escrime
fence_sbdpour 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/disk/by-id/wwn-0XY3acy9d40afd88083ACR90:sudo pcs cluster start --allsudo pcs stonith create sbd_fencing fence_sbd devices=/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90 -
Pour vérifier que la configuration
stonitha été configurée correctement, exécutez les commandes suivantes :sudo pcs stonith config sudo pcs cluster verify --full -
Pour vérifier le statut de la configuration
stonith, exécutez la commande suivante :sudo pcs stonith -
Pour vérifier le statut de la grappe, exécutez la commande suivante :
sudo pcs status