Clusterisation haute disponibilité
Avec les instances Oracle Linux exécutées sur Oracle Cloud Infrastructure (OCI), vous pouvez créer des clusters haute disponibilité (HA) qui fournissent un accès continu aux applications et services exécutés sur plusieurs noeuds. La mise en cluster 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 clusters de haute disponibilité avec des instances OCI en installant et en utilisant Pacemaker, un gestionnaire de ressources de haute disponibilité open source, et Corosync, un moteur de cluster open source. Pour plus d'informations sur le clustering HA et les technologies Pacemaker et Corosync, consultez les sources suivantes :
-
Configuration du clustering haute disponibilité avec Oracle Linux 10
-
Configuration du clustering haute disponibilité avec Oracle Linux 9
-
Configuration du clustering haute disponibilité avec Oracle Linux 8
Prérequis
Avant de commencer, configurez un périphérique de stockage partagé pour qu'il soit accessible à partir de tous les noeuds du cluster de haute disponibilité. Un périphérique de stockage partagé est nécessaire pour le service de cluster et la messagerie d'application, 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 aux sources suivantes :
Configuration d'un clustering haute disponibilité avec des instances OCI
Pour configurer le clustering haute disponibilité avec des instances OCI, procédez comme suit :
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 de votre choix 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.
L'instance OCI, le noeud et le noeud de cluster sont utilisés de manière interchangeable avec la mise en cluster HA pour OCI.
Meilleures pratiques
Pour chaque instance OCI de votre choix dans le cluster, ouvrez une fenêtre de terminal et connectez-vous à l'instance.
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 plusieurs fois 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 :
- Effectuez le prérequis dans Mise en cluster haute disponibilité.
-
Activez le référentiel sur le serveur yum Oracle Linux sur lequel résident les packages Pacemaker et Corosync.
Oracle Linux 10 :sudo dnf config-manager --enable ol10_addons
Oracle Linux 9 :
sudo dnf config-manager --enable ol9_addons
Oracle Linux 8 :
sudo dnf config-manager --enable ol8_addons
-
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
-
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 sudo firewall-cmd --add-service=high-availability
-
Sur chaque noeud, définissez un mot de passe pour l'utilisateur
hacluster
:sudo passwd hacluster
Conseil
Définissez le même mot de passe sur chaque noeud pour éviter les problèmes d'autorisation lors de l'exécution de commandes
pcs
sur différents noeuds du même cluster. -
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
-
Créez un cluster HA à l'aide des noeuds que vous avez configurés. Reportez-vous à Création d'un cluster HA.
Création d'un cluster HA
Avec le logiciel 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 :
- Installez les packages logiciels Pacemaker et Corosync sur chaque noeud souhaité dans le cluster. Reportez-vous à Installation de Pacemaker.
-
A partir de l'un des noeuds, authentifiez l'outil de configuration de cluster
pcs
pour l'utilisateurhacluster
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 node2 -u hacluster
Remplacez node1 et node2 par les noms d'hôte pouvant être résolus des noeuds devant former le cluster.
Sinon, si les noms d'hôte ne peuvent pas être résolus, indiquez 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 hacluster
Remplacez 192.0.2.1 et 192.0.2.2 par l'adresse IP de chacun des hôtes respectifs du cluster.
-
Lorsque vous y êtes invité, entrez le mot de passe que vous avez défini pour l'utilisateur
hacluster
lorsque vous avez installé et configuré le logiciel Pacemaker sur chaque noeud. -
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 de chaque noeud de votre choix dans le cluster
Par exemple, pour créer un cluster HA avec deux noeuds :
sudo pcs cluster setup cluster-name node1 addr=192.0.2.1 node2 addr=192.0.2.2
Remplacez 192.0.2.1 et 192.0.2.2 par l'adresse IP de chacun des hôtes respectifs du cluster.
-
A partir de l'un des noeuds, démarrez le cluster sur tous les noeuds :
sudo pcs cluster start --all
-
Vous pouvez éventuellement activer ces services pour qu'ils démarrent au moment de l'initialisation afin que, si un noeud se réinitialise, il rejoigne automatiquement le cluster. Pour ce faire, exécutez la commande suivante sur l'un des noeuds :
sudo pcs cluster enable --all
Remarque
Certains utilisateurs préfèrent ne pas activer ces services afin qu'une défaillance de noeud entraînant une réinitialisation complète du système puisse être correctement déboguée avant de rejoindre le cluster.
- Configurez la séparation SBD pour le cluster HA nouvellement créé. Reportez-vous à Configuration de la séparation.
Configurer la séparation
L'escrime STONITH Block Device (SBD) fonctionne avec le logiciel Pacemaker pour protéger les données lorsqu'un nœud 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 jusqu'à ce que le logiciel Pacemaker déconnecte ce noeud qui ne répond pas.
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 à Création d'un cluster HA.
Pour créer des clusters HA avec des instances OCI, vous devez utiliser uniquement le mécanisme de séparation de cluster SBD. Les 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 :
-
A partir de l'un des noeuds du cluster, activez
stonith
(Shoot The Other Node In The Head), 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
-
A partir de l'un des noeuds, arrêtez le cluster :
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 sbd
Remarque
Lorsque cette option est activée, le service systemdsbd
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 servicesbd
de 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/sbd
et définissez le paramètreSBD_DEVICE
pour 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 d'annuaire/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/sbd
sur 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, reportez-vous aux liens fournis dans la section Prérequis.
- Continuez à modifier le fichier
/etc/sysconfig/sbd
sur chaque noeud en définissant le périphérique Watchdog sur/dev/null
:SBD_WATCHDOG_DEV=/dev/null
-
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/disk/by-id/wwn-0XY3acy9d40afd88083ACR90
:sudo sbd -d /dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90 create
sudo sbd -d /dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90 list
-
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'adresse
/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90
:sudo pcs cluster start --all
sudo pcs stonith create sbd_fencing fence_sbd devices=/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90
-
Pour vérifier que la configuration
stonith
a été correctement configurée, 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 d'un cluster, exécutez la commande suivante :
sudo pcs status