IBM Cloud Docs
Mise en œuvre de la clôture antipoison SBD dans un cluster Red Hat Enterprise Linux High Availability Add-On

Mise en œuvre de la clôture antipoison SBD dans un cluster Red Hat Enterprise Linux High Availability Add-On

Ce guide décrit comment mettre en œuvre la clôture antipoison SBD (Storage-Based Death) dans un cluster Red Hat Enterprise Linux High Availability Add-On sur Power Virtual Server.

Il couvre l'installation des serveurs cibles iSCSI, la configuration du stockage partagé et la configuration des ressources du cluster.

La clôture des clusters est essentielle pour les clusters afin d'assurer la protection des cerveaux divisés et le basculement automatisé dans les clusters HA.

La clôture SBD nécessite des disques partagés et un dispositif de surveillance.

  • Les disques partagés sont provisionnés en tant que périphériques de bloc à partir des serveurs cibles iSCSI dans IBM VPC.
  • Le pilote Watchdog de la plate-forme Power Architecture pseries-wdt est utilisé comme chien de garde matériel. Ce pilote est disponible sur les serveurs IBM Power10 et ultérieurs.

iSCSI est une technologie ouverte, basée sur des normes, définie dans le RFC 3720. Il permet le déploiement d'un réseau de stockage sur un réseau IP. Une cible logicielle iSCSI permet de partager un espace de stockage local sur un réseau. iSCSI situés dans des zones ou des systèmes différents peuvent accéder au stockage partagé sur des réseaux IP en utilisant le protocole iSCSI. Ce protocole encapsule les commandes SCSI dans des paquets TCP/IP, ce qui permet le transfert de données sur des réseaux Ethernet standard sans nécessiter d'infrastructure SAN dédiée.

Diagramme architectural
Diagramme architectural pour l'accès aux cibles iSCSI dans IBM VPC à partir de IBM Power Virtual Server instances.

Avant de commencer

Passez en revue les exigences générales, la documentation produit, les articles de support et les notes SAP répertoriées dans la section Mise en œuvre de la haute disponibilité pour les applications SAP à l'adresse IBM Power Virtual Server Références.

Provisionnement des serveurs cibles iSCSI dans les zones de disponibilité

Pour créer un VPC IBM qui s'étend sur trois zones de disponibilité, commencez par Démarrer avec un nuage privé virtuel(VPC). Ensuite, suivez les instructions de la section Créer des instances de serveur virtuel pour provisionner trois instances de serveur cible iSCSI- une dans chaque zone.

Chaque serveur cible iSCSI peut être utilisé pour plusieurs clusters à haute disponibilité, ce qui permet un partage efficace des ressources.

Création d'un VPC IBM

  1. Naviguez jusqu'au nuage privé virtuel et cliquez sur Créer.
  2. Sélectionnez l'emplacement où vous souhaitez créer votre nuage privé virtuel.
  3. Sélectionnez la géographie et la région.
  4. Dans la section Détails, entrez iscsi-tgt-vpc dans le champ Nom.
  5. Sélectionnez le groupe de ressources.
  6. Dans la section Sous-réseaux, modifiez le nom de chaque sous-réseau de la liste.
    • Cliquez sur l'icône du crayon pour le sous-réseau de la première zone.
    • Modifiez le nom en iscsi-tgt-zone-1-sn et cliquez sur Enregistrer.
  7. Répétez cette étape pour les autres zones et changez les noms en iscsi-tgt-zone-2-sn et iscsi-tgt-zone-3-sn.
  8. Cliquez sur Nouveau cloud privé virtuel.

Modifier le groupe de sécurité par défaut pour le VPC IBM

Ajouter le port iSCSI aux règles de réception du groupe de sécurité par défaut.

  1. Naviguez jusqu'à Groupes de sécurité pour VPC et cliquez sur le groupe de sécurité dans la liste.
  2. Cliquez sur Gérer les règles dans la section Règles.
  3. Cliquez sur Créer sous Règles de réception pour créer une nouvelle règle de réception.
  4. Sélectionnez le protocole TCP et indiquez le port iSCSI 3260 dans les champs Port min et Port max. Laissez les paramètres Source Type et Destination Type sur Any.
  5. Cliquez sur Créer.

Attacher le VPC au Transit Gateway

Utilisez un site IBM Transit Gateway pour connecter votre infrastructure Virtual Private Cloud (VPC) et vos espaces de travail Power Virtual Server.

  1. Naviguer jusqu'à Transit Gateway.
  2. Sélectionnez la passerelle de transit locale dans la liste et cliquez sur Ajouter une connexion.
  3. Sélectionnez VPC dans la liste des connexions réseau et sélectionnez la région.
  4. Cliquez sur Ajouter.

Création d'instances de serveurs virtuels pour le cluster

Dans cet exemple, trois serveurs cibles iSCSI sont provisionnés. Chaque serveur cible fournit un LUN iSCSI dédié auquel tous les nœuds du cluster accèdent en tant que disque partagé.

Pour configurer les instances de serveurs virtuels en tant que cibles iSCSI, procédez comme suit. Déployer des machines virtuelles qui utilisent une version prise en charge du système d'exploitation Red Hat Enterprise Linux.

Un petit profil d'instance VM tel que cx3d-2x5 ou bx3d-2x10 est suffisant. Lorsque vous créez une instance de serveur virtuel, vous devez sélectionner une clé SSH. Pour générer une clé SSH, reportez-vous à la section Premiers pas avec les clés SSH.

  1. Naviguez jusqu'à Instances de serveurs virtuels pour VPC et cliquez sur Créer.
  2. Sélectionnez la géographie, la région et la zone
  3. Dans la section Détails, entrez le nom de la VSI.
  4. Sélectionnez le groupe de ressources.
  5. Dans la section Configuration du serveur, cliquez sur Modifier l'image.
  6. Sélectionnez une image Red Hat Enterprise Linux ( 9.x- minimal Install) et cliquez sur Save.
  7. Sélectionnez une petite surface pour le profil, par exemple bx2-2x8.
  8. Sélectionnez une clé SSH.
  9. Dans la section Volumes de données, cliquez sur Créer et provisionnez un volume de 10 Go destiné à héberger les LUN iSCSI.
    • Saisissez un nom pour le volume de données.
    • Entrez 10 pour la taille de stockage (GB).
    • Cliquez sur Créer.
  10. Dans la section Réseau, sélectionnez le VPC que vous avez créé précédemment.
  11. Cliquez sur Créer un serveur virtuel.

Le déploiement des instances de serveurs virtuels commence. Répétez le processus pour créer les deuxième et troisième instances de serveurs virtuels dans une zone de disponibilité différente, en veillant à ce qu'elles soient déployées dans des emplacements physiques distincts.

Préparation du système d'exploitation

Connectez-vous en tant qu'utilisateur root à toutes les machines virtuelles cibles iSCSI.

  1. Mettre à jour le système d'exploitation.

    dnf -y update
    

    Un redémarrage du nœud peut être nécessaire pour appliquer les modifications.

    shutdown -r now
    
  2. Identifiez le nom du périphérique du volume de disque que vous avez provisionné pour le backstore.

    lsblk | grep 10G
    

    Dans cet exemple, le dispositif est identifié comme /dev/vdb

    Exemple de sortie :

    vdb    252:16   0   10G  0 disk
    
  3. Créez un système de fichiers xfs avec une taille de bloc de 512 octets.

    # mkfs.xfs -m crc=0 -b size=512 /dev/vdb
    
    1. Créez le point de montage, ajoutez l'entrée du système de fichiers au fichier /etc/fstab et montez le système de fichiers.

    Exemple de sortie :

    # mkdir /sbd
    # echo "/dev/vdb    /sbd    xfs    defaults    0    0" >> /etc/fstab
    # systemctl daemon-reload
    # mount /sbd
    
  4. Installez le logiciel cible iSCSI.

    dnf -y install targetcli
    
  5. Démarrez la cible iSCSI et activez-la pour qu'elle démarre automatiquement au moment du démarrage.

    systemctl enable --now target
    

    Exemple de sortie :

    # systemctl enable --now target
    Created symlink /etc/systemd/system/multi-user.target.wants/target.service → /usr/lib/systemd/system/target.service.
    

Création de périphériques iSCSI sur les serveurs cibles iSCSI

En tant qu'utilisateur root, exécutez les commandes suivantes sur chaque instance virtuelle cible iSCSI afin de créer les disques iSCSI pour les périphériques SBD.

Cet exemple utilise les noms suivants.

  • cluster1 est le nom du cluster HA.
  • cl1n1 et cl1n2 sont les noms d'hôtes des nœuds de cluster pour cluster1.

Adaptez les commandes des instructions suivantes à la configuration de votre environnement.

  1. Préparer les LUN pour le SBD pour le cluster de haute disponibilité cluster1.

    • Créez un backstore fileio pour le SBD LUN. Attribuez la valeur false au paramètre write_back pour désactiver la mise en cache du système de fichiers.

      targetcli backstores/fileio create cluster1_sbd /sbd/cluster1_sbd 50M write_back=false
      

      Exemple de sortie :

      # targetcli backstores/fileio create cluster1_sbd /sbd/cluster1_sbd 50M write_back=false
      Created fileio cluster1_sbd with size 52428800
      
    • Créer la définition de la cible iSCSI.

      targetcli iscsi/ create iqn.2006-04.cluster1.local:cluster1
      

      Exemple de sortie :

      # targetcli iscsi/ create iqn.2006-04.cluster1.local:cluster1
      Created target iqn.2006-04.cluster1.local:cluster1.
      Created TPG 1.
      Global pref auto_add_default_portal=true
      Created default portal listening on all IPs (0.0.0.0), port 3260.
      
    • Créez le LUN iSCSI.

      targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/luns/ create /backstores/fileio/cluster1_sbd
      

      Exemple de sortie :

      # targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/luns/ create /backstores/fileio/cluster1_sbd
      Created LUN 0.
      
    • Créez les ACL iSCSI.

      targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/acls/ create iqn.2006-04.cl1n1.local:cl1n1
      

      Exemple de sortie :

      # targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/acls/ create iqn.2006-04.cl1n1.local:cl1n1
      Created Node ACL for iqn.2006-04.cl1n1.local:cl1n1
      Created mapped LUN 0.
      
      targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/acls/ create iqn.2006-04.cl1n2.local:cl1n2
      

      Exemple de sortie :

      # targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/acls/ create iqn.2006-04.cl1n2.local:cl1n2
      Created Node ACL for iqn.2006-04.cl1n2.local:cl1n2
      Created mapped LUN 0.
      
      • Sauvegarder la configuration de targetcli.
      targetcli saveconfig
      

      Exemple de sortie :

      # targetcli saveconfig
      Configuration saved to /etc/target/saveconfig.json
      
  2. Vérifier la configuration.

    targetcli ls
    

    Exemple de sortie :

    # targetcli ls
    o- / ......................................................................................................................... [...]
      o- backstores .............................................................................................................. [...]
      | o- block .................................................................................................. [Storage Objects: 0]
      | o- fileio ................................................................................................. [Storage Objects: 1]
      | | o- cluster1_sbd ........................................................... [/sbd/cluster1_sbd (50.0MiB) write-thru activated]
      | |   o- alua ................................................................................................... [ALUA Groups: 1]
      | |     o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
      | o- pscsi .................................................................................................. [Storage Objects: 0]
      | o- ramdisk ................................................................................................ [Storage Objects: 0]
      o- iscsi ............................................................................................................ [Targets: 1]
      | o- iqn.2006-04.cluster1.local:cluster1 ............................................................................... [TPGs: 1]
      |   o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
      |     o- acls .......................................................................................................... [ACLs: 2]
      |     | o- iqn.2006-04.cl1n1.local:cl1n1 ........................................................................ [Mapped LUNs: 1]
      |     | | o- mapped_lun0 ......................................................................... [lun0 fileio/cluster1_sbd (rw)]
      |     | o- iqn.2006-04.cl1n2.local:cl1n2 ........................................................................ [Mapped LUNs: 1]
      |     |   o- mapped_lun0 ......................................................................... [lun0 fileio/cluster1_sbd (rw)]
      |     o- luns .......................................................................................................... [LUNs: 1]
      |     | o- lun0 ..................................................... [fileio/cluster1_sbd (/sbd/cluster1_sbd) (default_tg_pt_gp)]
      |     o- portals .................................................................................................... [Portals: 1]
      |       o- 0.0.0.0:3260 ..................................................................................................... [OK]
      o- loopback ......................................................................................................... [Targets: 0]
    

Création du dispositif SBD sur les nœuds du cluster

Sur les nœuds du cluster, découvrez et connectez les périphériques iSCSI que vous avez créés précédemment. Exécutez les commandes suivantes sur les deux nœuds du cluster.

Accès aux dispositifs iSCSI sur les nœuds de la grappe

Configuration de l'initiateur iSCSI

  1. Sur les deux nœuds du cluster, exécutez les commandes suivantes pour installer ou mettre à jour les utilitaires de l'initiateur iSCSI.

    dnf install -y iscsi-initiator-utils
    
  2. Sur les deux nœuds du cluster, exécutez la commande suivante pour installer les paquets HA Add-On requis.

    dnf install -y pcs pacemaker sbd fence-agents-sbd
    

    Pour installer le paquet fence-agents-sbd, assurez-vous d'utiliser la version 4.10.0 avec la version 62.el9_4.15 ou une version plus récente.

  3. Chaque initiateur iSCSI doit avoir un IQN ( iSCSI Qualified Name) unique, qui est utilisé pour contrôler l'accès aux cibles iSCSI. Un IQN généré de manière aléatoire est attribué lors de l'installation, mais il peut être remplacé par un nom plus descriptif. L'IQN doit correspondre au nom figurant dans les listes de contrôle d'accès (ACL) que vous avez créées pour le périphérique iSCSI sur le serveur cible iSCSI.

    • Sur NODE1, exécutez la commande suivante pour modifier l'IQN.

      echo "InitiatorName=iqn.2006-04.cl1n1.local:cl1n1" > /etc/iscsi/initiatorname.iscsi
      
    • Sur NODE2, exécutez la commande suivante pour modifier l'IQN.

      echo "InitiatorName=iqn.2006-04.cl1n2.local:cl1n2" > /etc/iscsi/initiatorname.iscsi
      
  4. Sur les deux nœuds du cluster, exécutez la commande suivante pour activer les services iSCSI.

    systemctl enable iscsid iscsi
    
  5. Sur les deux nœuds du cluster, exécutez les commandes suivantes pour redémarrer les services iSCSI.

    systemctl restart iscsid
    
    systemctl restart iscsi
    

Découverte des LUN iSCSI

  1. Sur les deux nœuds du cluster, exécutez les commandes suivantes pour connecter les périphériques iSCSI.

    Dans l'exemple suivant, les serveurs cibles iSCSI sont accessibles via les adresses IP des serveurs virtuels cibles iSCSI et le port iSCSI 3260.

    Les adresses IP fournies dans l'exemple ne le sont qu'à titre d'illustration. Veillez à les remplacer par des valeurs correspondant à la configuration de votre sous-réseau VPC.

    Adresses IP des cibles iSCSI utilisées dans cet exemple de configuration.
    Nom de l'ISV Adresse IP:Port
    iscsi-vm-001 10.20.30.4:3260
    iscsi-vm-002 10.20.30.69:3260
    iscsi-vm-003 10.20.30.132:3260

    Pour simplifier l'installation, créez des variables d'environnement pour les détails de communication des serveurs cibles iSCSI.

    export ISCSI_TGT_1="10.20.30.4:3260"                         # IP address and port of the first virtual server (first iSCSI target)
    export ISCSI_TGT_2="10.20.30.69:3260"                        # IP address and port of the second virtual server (second iSCSI target)
    export ISCSI_TGT_3="10.20.30.132:3260"                       # IP address and port of the third virtual server (third iSCSI target)
    export ISCSI_TGT_NAME="iqn.2006-04.cluster1.local:cluster1"  # iSCSI target name
    

    Exécutez la commande iscsiadm discovery et vérifiez que le nom de la cible est correct. Répétez la procédure pour les deuxième et troisième serveurs cibles iSCSI.

    iscsiadm -m discovery --type=st --portal=${ISCSI_TGT_1}
    

    Exemple de sortie :

    # iscsiadm -m discovery --type=st --portal=${ISCSI_TGT_1}
    10.20.30.4:3260,1 iqn.2006-04.cluster1.local:cluster1
    # iscsiadm -m discovery --type=st --portal=${ISCSI_TGT_2}
    10.20.30.69:3260,1 iqn.2006-04.cluster1.local:cluster1
    # iscsiadm -m discovery --type=st --portal=${ISCSI_TGT_3}
    10.20.30.132:3260,1 iqn.2006-04.cluster1.local:cluster1
    

    Dans la sortie de la commande iscsiadm -m discovery, notez le nom de la cible iSCSI et affectez-le à la variable d'environnement ISCSI_TGT_NAME.

  2. Connectez-vous à l'appareil cible iSCSI.

    iscsiadm -m node -T ${ISCSI_TGT_NAME} --login --portal=${ISCSI_TGT_1}
    

    Exemple de sortie :

    # iscsiadm -m node -T ${ISCSI_TGT_NAME} --login --portal=${ISCSI_TGT_1}
    Logging in to [iface: default, target: iqn.2006-04.cluster1.local:cluster1, portal: 10.20.30.4,3260]
    Login to [iface: default, target: iqn.2006-04.cluster1.local:cluster1, portal: 10.20.30.4,3260] successful.
    

    Répétez l'étape en utilisant ${ISCSI_TGT_2} et ${ISCSI_TGT_3} comme valeurs pour l'argument --portal.

  3. Activer la connexion automatique à l'appareil iSCSI.

    iscsiadm -m node -p ${ISCSI_TGT_1} -T ${ISCSI_TGT_NAME} --op=update --name=node.startup --value=automatic
    

    Répétez l'étape en utilisant ${ISCSI_TGT_2} et ${ISCSI_TGT_3} comme valeurs pour l'argument -p.

  4. Sur les deux nœuds du cluster, exécutez les commandes suivantes.

    Vérifiez que les périphériques iSCSI sont disponibles et notez leurs noms pour référence ultérieure.

    lsscsi -i | grep "LIO-ORG"
    

    Exemple de sortie :

    [5:0:0:0]    disk    LIO-ORG  cluster1_sbd     4.0   /dev/sdck  3600140500874d3cfa724e728b77046a3
    [6:0:0:0]    disk    LIO-ORG  cluster1_sbd     4.0   /dev/sdcl  3600140517566c8197884fb9b643b470a
    [7:0:0:0]    disk    LIO-ORG  cluster1_sbd     4.0   /dev/sdcm  36001405c2ed12b15b0a4c7f8d311ab49
    

Récupérez les identifiants des périphériques iSCSI en utilisant la sortie de la commande lsscsi.

L'exemple awk fourni extrait les identifiants des périphériques, complète les noms des périphériques et prépare les définitions des variables d'environnement en vue d'une utilisation ultérieure.

lsscsi -i | awk '$3 == "LIO-ORG" { count++; print "export SBD_DEV_" count "=/dev/disk/by-id/scsi-" $7}'

Exemple de sortie :

lsscsi -i | awk '$3 == "LIO-ORG" { count++; print "export SBD_DEV_" count "=/dev/disk/by-id/scsi-" $7}'
export SBD_DEV_1=/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3
export SBD_DEV_2=/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a
export SBD_DEV_3=/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49

Examinez les entrées de périphériques dans la sortie, puis utilisez la commande eval pour exporter les variables d'environnement.

eval $(lsscsi -i | awk '$3 == "LIO-ORG" { count++; print "export SBD_DEV_" count "=/dev/disk/by-id/scsi-" $7}')

Vérifier les variables exportées.

echo $SBD_DEV_1 $SBD_DEV_2 $SBD_DEV_3

Exemple de sortie :

echo $SBD_DEV_1 $SBD_DEV_2 $SBD_DEV_3
/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3 /dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a /dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49

Ces variables d'environnement sont nécessaires pour créer le dispositif SBD.

Configuration de la clôture antipoison des SBD dans le cluster

La clôture de la pilule empoisonnée par le biais d'un dispositif de bloc nécessite à la fois un dispositif de minuterie de surveillance et un stockage partagé pour transmettre les messages de la pilule empoisonnée. Pour activer la clôture, configurez le cluster, activez les périphériques SBD sur le stockage partagé et configurez la clôture du cluster.

Configuration du chien de garde sur les nœuds de la grappe

Le chien de garde de l'hyperviseur pseries_wdt Power est le chien de garde préféré et est disponible sur les serveurs IBM Power10 et ultérieurs.

Si vous déployez des instances de serveurs virtuels avec un profil Power9, le chien de garde de l'hyperviseur Power n'est pas disponible. Il est également possible d'utiliser le chien de garde logiciel softdog, bien que son support soit limité.

Pour configurer un chien de garde, suivez les étapes décrites dans l'une des sections suivantes, en fonction de votre environnement.

Configuration du chien de garde matériel pseries_wdt ( IBM Power10 et suivants)

Sur les deux nœuds du cluster, exécutez les commandes suivantes pour vérifier que le pilote de chien de garde de l'hyperviseur est chargé.

lsmod | grep pseries_wdt
# lsmod | grep pseries_wdt
pseries_wdt           262144  0

Vous pouvez également utiliser la commande suivante pour vérifier que le pilote du chien de garde est chargé.

wdctl

Exemple de sortie :

wdctl
Device:        /dev/watchdog0
Identity:      pseries-wdt [version 0]
Timeout:       15 seconds
Pre-timeout:    0 seconds

Configuration du chien de garde du logiciel softdog ( IBM Power9 )

L'utilisation du logiciel de surveillance softdog sur un serveur IBM Power9 est une alternative, mais elle présente des limitations en matière de prise en charge.

Exécutez les commandes suivantes sur les deux nœuds du cluster pour mettre en œuvre le chien de garde logiciel.

  1. Chargez le module softdog.

    modprobe softdog
    
  2. Assurez-vous que softdog est automatiquement chargé après le redémarrage d'un nœud.

    echo softdog > /etc/modules-load.d/watchdog.conf
    
  3. Redémarrez les modules systemd.

    systemctl restart systemd-modules-load
    

Activation des dispositifs sbd

  1. Utilisez les étapes de configuration de base du cluster, telles que pcs host auth et pcs cluster setup. Ensuite, démarrez le cluster sur les deux nœuds.

  2. Sur n'importe quel nœud du cluster, exécutez les commandes suivantes pour configurer et activer les dispositifs SBD. Utilisez les identifiants de périphérique iSCSI que vous avez enregistrés précédemment pour créer les nouveaux périphériques SBD.

    pcs stonith sbd device setup \
        device=${SBD_DEV_1} \
        device=${SBD_DEV_2} \
        device=${SBD_DEV_3} \
        watchdog-timeout=30 \
        msgwait-timeout=60
    

    Entrez yes pour confirmer l'initialisation de l'appareil.

    Exemple de sortie :

    # pcs stonith sbd device setup \
         device=/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3 \
         device=/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a \
         device=/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49 \
         watchdog-timeout=30 \
         msgwait-timeout=60
    
       WARNING: All current content on device(s) '/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3', '/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a', '/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49' will be overwritten
       Type 'yes' or 'y' to proceed, anything else to cancel: yes
       Initializing devices '/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3', '/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a', '/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49'...
       Devices initialized successfully
    

    Vérifiez le statut.

    pcs stonith sbd status
    

    Exemple de sortie :

    # pcs stonith sbd status
    SBD STATUS
    <node name>: <installed> | <enabled> | <running>
    cl1n1: YES |  NO |  NO
    cl1n2: YES |  NO |  NO
    

    Activer les dispositifs SBD.

    pcs stonith sbd enable \
        device=${SBD_DEV_1} \
        device=${SBD_DEV_2} \
        device=${SBD_DEV_3} \
        SBD_WATCHDOG_TIMEOUT=60 \
        SBD_STARTMODE=always \
        SBD_DELAY_START=yes
    

    Exemple de sortie :

    # pcs stonith sbd enable \
        device=/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3 \
        device=/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a \
        device=/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49 \
        SBD_WATCHDOG_TIMEOUT=60 \
        SBD_STARTMODE=clean \
        SBD_DELAY_START=yes
    Running SBD pre-enabling checks...
    cl1n2: SBD pre-enabling checks done
    cl1n1: SBD pre-enabling checks done
    Distributing SBD config...
    cl1n1: SBD config saved
    cl1n2: SBD config saved
    Enabling sbd...
    cl1n2: sbd enabled
    cl1n1: sbd enabled
    Warning: Cluster restart is required in order to apply these changes.
    

    Redémarrez le cluster pour activer les modifications.

    • Arrêter le cluster.

      Sur n'importe quel nœud du cluster, exécutez la commande suivante.

      pcs cluster stop --all
      
    • Démarrez le cluster.

      Sur chaque nœud du cluster, exécutez la commande suivante.

      pcs cluster start
      

      L'exécution de pcs cluster start --all sur un seul nœud de cluster peut entraîner un dépassement de délai.

    • Vérifiez l'état des dispositifs sbd.

      pcs stonith sbd status
      

      Exemple de sortie :

      # pcs stonith sbd status
      SBD STATUS
      <node name>: <installed> | <enabled> | <running>
      cl1n2: YES | YES |  NO
      cl1n1: YES | YES | YES
      Messages list on device '/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3':
      0       cl1n1        clear
      1       cl1n2        clear
      Messages list on device '/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a':
      0       cl1n2        clear
      1       cl1n1        clear
      Messages list on device '/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49':
      0       cl1n2        clear
      1       cl1n1        clear
      

Configuration du dispositif de clôture du cluster

Sur n'importe quel nœud du cluster, exécutez la commande pcs stonith create pour créer le périphérique STONITH. Le paramètre pcmk_reboot_timeout permet d'augmenter la valeur du délai d'attente pour l'action de redémarrage.

pcs stonith create res_fence_sbd fence_sbd \
   devices="${SBD_DEV_1},${SBD_DEV_2},${SBD_DEV_3}" \
   pcmk_reboot_timeout=90

Tester la clôture du cluster. Procédez ensuite à toutes les autres étapes de la configuration du cluster.