IBM Cloud Docs
Implantación de vallas SBD poison-pill en un clúster Red Hat Enterprise Linux High Availability Add-On

Implantación de vallas SBD poison-pill en un clúster Red Hat Enterprise Linux High Availability Add-On

Esta guía describe cómo implementar el cercado de píldoras venenosas SBD (Storage-Based Death) en un clúster Red Hat Enterprise Linux High Availability Add-On en Power Virtual Server.

Cubre la configuración de los servidores de destino iSCSI, la configuración del almacenamiento compartido y la configuración de los recursos del clúster.

El vallado de clústeres es fundamental para que los clústeres garanticen la protección de los cerebros divididos y la conmutación por error automatizada en clústeres de HA.

SBD fencing requiere discos compartidos y un dispositivo de vigilancia.

  • Los discos compartidos se aprovisionan como dispositivos de bloque desde servidores de destino iSCSI en IBM VPC.
  • El controlador Watchdog de la Plataforma de Arquitectura de Potencia pseries-wdt se utiliza como el hardware watchdog. Este controlador está disponible en los servidores IBM Power10 y posteriores.

iSCSI es una tecnología abierta basada en estándares que se define en el RFC 3720. Permite el despliegue de redes de área de almacenamiento a través de una red IP. Un objetivo de software iSCSI permite compartir almacenamiento local a través de una red. iSCSI los iniciadores ubicados en diferentes zonas o sistemas pueden acceder al almacenamiento compartido a través de redes IP utilizando el protocolo iSCSI. Este protocolo encapsula comandos SCSI en paquetes TCP/IP, lo que permite la transferencia de datos a través de redes Ethernet estándar sin necesidad de una infraestructura SAN dedicada.

Diagrama de arquitectura
Diagrama de arquitectura para acceder a iSCSI objetivos en IBM VPC desde IBM Power Virtual Server instancias.

Antes de empezar

Revise los requisitos generales, la documentación del producto, los artículos de soporte y las notas de SAP que aparecen en Implementación de alta disponibilidad para aplicaciones SAP en IBM Power Virtual Server Referencias.

Aprovisionamiento de servidores de destino iSCSI en zonas de disponibilidad

Para crear una VPC en IBM que abarque tres zonas de disponibilidad, comience con Introducción a Virtual Private Cloud(VPC). A continuación, siga las instrucciones de Crear instancias de servidor virtual para aprovisionar tres instancias de servidor de destino iSCSI, una en cada zona.

Cada servidor de destino de iSCSI puede utilizarse para varios clústeres de alta disponibilidad, lo que permite compartir recursos de forma eficaz.

Creación de una VPC en IBM

  1. Vaya a Nube privada virtual y haga clic en Crear.
  2. Seleccione la Ubicación donde desea crear su nube privada virtual.
  3. Seleccione la Geografía y la Región.
  4. En la sección Detalles, introduzca iscsi-tgt-vpc en el campo Nombre.
  5. Seleccione el grupo de recursos.
  6. En la sección Subredes, modifique el Nombre de cada subred de la lista.
    • Haga clic en el icono Lápiz de la subred de la primera zona.
    • Cambie el Nombre a iscsi-tgt-zone-1-sn, y haga clic en Guardar.
  7. Repita este paso para las demás zonas y cambie los nombres a iscsi-tgt-zone-2-sn y iscsi-tgt-zone-3-sn.
  8. Pulse Crear nube privada virtual.

Modificación del grupo de seguridad predeterminado para la VPC IBM

Añada el puerto iSCSI a las reglas de entrada del grupo de seguridad por defecto.

  1. Vaya a Grupos de seguridad para VPC y haga clic en el grupo de seguridad de la lista.
  2. Haga clic en Gestionar reglas en la sección Reglas.
  3. Haga clic en Crear en Reglas de entrada para crear una nueva regla de entrada.
  4. Seleccione Protocolo TCP, y especifique el puerto iSCSI 3260 para los campos Puerto min y Puerto max. Deje Tipo de origen y Tipo de destino en Any.
  5. Pulse Crear.

Adjuntar la VPC a la Transit Gateway

Utilice IBM Transit Gateway para conectar su infraestructura de nube privada virtual (VPC) y los espacios de trabajo de Power Virtual Server.

  1. Ir a Transit Gateway.
  2. Seleccione la pasarela de tránsito local en la lista y haga clic en Añadir conexión.
  3. Seleccione VPC en la lista Conexión de red y seleccione la Región.
  4. Pulse Añadir.

Creación de instancias de servidor virtual para el clúster

En este ejemplo, se aprovisionan tres servidores de destino iSCSI. Cada servidor de destino proporciona un LUN iSCSI dedicado al que todos los nodos del clúster acceden como disco compartido.

Para configurar instancias de servidor virtual como destinos de iSCSI, siga los pasos que se indican a continuación. Despliegue máquinas virtuales que ejecuten una versión compatible del sistema operativo Red Hat Enterprise Linux.

Un perfil de instancia VM pequeño como cx3d-2x5 o bx3d-2x10 es suficiente. Al crear una instancia de servidor virtual, debe seleccionar una clave SSH. Consulte Introducción a las claves SSH para generar una clave SSH.

  1. Vaya a Instancias de servidor virtual para VPC y haga clic en Crear.
  2. Seleccione la geografía, la región y la zona
  3. En la sección Detalles, introduzca el Nombre de la VSI.
  4. Seleccione el grupo de recursos.
  5. En la sección Configuración del servidor, haga clic en Cambiar imagen.
  6. Seleccione una imagen de Red Hat Enterprise Linux ( 9.x- Instalación mínima) y haga clic en Guardar.
  7. Seleccione una huella pequeña para el Perfil, por ejemplo bx2-2x8.
  8. Seleccione una clave SSH.
  9. En la sección Volúmenes de datos, haga clic en Crear y aprovisione un volumen de 10 GB designado para alojar los LUN de iSCSI.
    • Introduzca un Nombre para el volumen de datos.
    • Introduzca 10 para el Tamaño de almacenamiento (GB).
    • Pulse Crear.
  10. En la sección Redes, seleccione la VPC que creó anteriormente.
  11. Haga clic en Crear servidor virtual.

Se inicia el despliegue de las instancias del servidor virtual. Repita el proceso para crear la segunda y tercera instancias de servidor virtual en una zona de disponibilidad diferente, asegurándose de que se despliegan en ubicaciones físicas separadas.

Preparación del sistema operativo

Inicie sesión como usuario root en todas las máquinas virtuales de destino iSCSI.

  1. Actualiza el sistema operativo.

    dnf -y update
    

    Es posible que sea necesario reiniciar el nodo para aplicar los cambios.

    shutdown -r now
    
  2. Identifique el nombre de dispositivo del volumen de disco que aprovisionó para el backstore.

    lsblk | grep 10G
    

    En este ejemplo, el dispositivo se identifica como /dev/vdb

    Salida de ejemplo:

    vdb    252:16   0   10G  0 disk
    
  3. Cree un sistema de archivos xfs con un tamaño de bloque de 512 bytes.

    # mkfs.xfs -m crc=0 -b size=512 /dev/vdb
    
    1. Cree el punto de montaje, añada la entrada del sistema de archivos al archivo /etc/fstab y monte el sistema de archivos.

    Salida de ejemplo:

    # mkdir /sbd
    # echo "/dev/vdb    /sbd    xfs    defaults    0    0" >> /etc/fstab
    # systemctl daemon-reload
    # mount /sbd
    
  4. Instale el paquete de software de destino iSCSI.

    dnf -y install targetcli
    
  5. Inicie el destino iSCSI y habilítelo para que se inicie automáticamente al arrancar.

    systemctl enable --now target
    

    Salida de ejemplo:

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

Creación de dispositivos iSCSI en los servidores de destino iSCSI

Como usuario de root, ejecute los siguientes comandos en cada instancia virtual de destino iSCSI para crear los discos iSCSI para los dispositivos SBD.

Este ejemplo utiliza los siguientes nombres.

  • cluster1 es el nombre del clúster de HA.
  • cl1n1 y cl1n2 son los nombres de host de los nodos del clúster para cluster1.

Adapte los comandos de las siguientes instrucciones a la configuración específica de su entorno.

  1. Prepare los LUNs para SBD para el cluster de alta disponibilidad cluster1.

    • Cree un backstore fileio para el LUN SBD. Establezca el parámetro write_back en false para desactivar el almacenamiento en caché del sistema de archivos.

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

      Salida de ejemplo:

      # targetcli backstores/fileio create cluster1_sbd /sbd/cluster1_sbd 50M write_back=false
      Created fileio cluster1_sbd with size 52428800
      
    • Cree la definición de destino iSCSI.

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

      Salida de ejemplo:

      # 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.
      
    • Cree el LUN iSCSI.

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

      Salida de ejemplo:

      # targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/luns/ create /backstores/fileio/cluster1_sbd
      Created LUN 0.
      
    • Cree las ACL de iSCSI.

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

      Salida de ejemplo:

      # 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
      

      Salida de ejemplo:

      # 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.
      
      • Guarde la configuración de targetcli.
      targetcli saveconfig
      

      Salida de ejemplo:

      # targetcli saveconfig
      Configuration saved to /etc/target/saveconfig.json
      
  2. Comprueba la configuración.

    targetcli ls
    

    Salida de ejemplo:

    # 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]
    

Creación del dispositivo SBD en los nodos del clúster

En los nodos del clúster, descubra y conecte los dispositivos iSCSI que creó anteriormente. Ejecute los siguientes comandos en ambos nodos del clúster.

Acceso a los dispositivos iSCSI en los nodos del cluster

Configuración del iniciador iSCSI

  1. En ambos nodos del clúster, ejecute los siguientes comandos para instalar o actualizar las utilidades del iniciador iSCSI.

    dnf install -y iscsi-initiator-utils
    
  2. En ambos nodos del clúster, ejecute el siguiente comando para instalar los paquetes HA Add-On necesarios.

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

    Para instalar el paquete fence-agents-sbd, asegúrese de utilizar la versión 4.10.0 con la versión 62.el9_4.15 o una más reciente.

  3. Cada iniciador de iSCSI debe tener un IQN único ( iSCSI Qualified Name), que se utiliza para controlar el acceso a los objetivos de iSCSI. Durante la instalación se asigna un IQN generado aleatoriamente, pero puede sustituirse por un nombre más descriptivo. El IQN debe coincidir con el nombre de las listas de control de acceso (ACL) que creó para el dispositivo iSCSI en el servidor de destino iSCSI.

    • En NODE1, ejecute el siguiente comando para cambiar el IQN.

      echo "InitiatorName=iqn.2006-04.cl1n1.local:cl1n1" > /etc/iscsi/initiatorname.iscsi
      
    • En NODE2, ejecute el siguiente comando para cambiar el IQN.

      echo "InitiatorName=iqn.2006-04.cl1n2.local:cl1n2" > /etc/iscsi/initiatorname.iscsi
      
  4. En ambos nodos del clúster, ejecute el siguiente comando para habilitar los servicios de iSCSI.

    systemctl enable iscsid iscsi
    
  5. En ambos nodos del clúster, ejecute los siguientes comandos para reiniciar los servicios de iSCSI.

    systemctl restart iscsid
    
    systemctl restart iscsi
    

Descubriendo los LUNs iSCSI

  1. En ambos nodos del clúster, ejecute los siguientes comandos para conectar los dispositivos iSCSI.

    En el siguiente ejemplo, se accede a los servidores de destino iSCSI a través de las direcciones IP de los servidores virtuales de destino iSCSI y del puerto iSCSI 3260.

    Las direcciones IP facilitadas en el ejemplo son meramente ilustrativas. Asegúrese de sustituirlos por valores que coincidan con la configuración específica de su subred VPC.

    Direcciones IP de los objetivos iSCSI utilizados en este ejemplo de configuración.
    Nombre VSI Dirección IP:Puerto
    iscsi-vm-001 10.20.30.4:3260
    iscsi-vm-002 10.20.30.69:3260
    iscsi-vm-003 10.20.30.132:3260

    Para simplificar la configuración, cree variables de entorno para los detalles de comunicación de los servidores de destino 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
    

    Ejecute el comando iscsiadm discovery y compruebe que el nombre del destino es correcto. Repita el procedimiento para el segundo y el tercer servidor de destino iSCSI.

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

    Salida de ejemplo:

    # 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
    

    En la salida del comando iscsiadm -m discovery, anote el nombre del destino iSCSI y asígnelo a la variable de entorno ISCSI_TGT_NAME.

  2. Inicie sesión en el dispositivo de destino iSCSI.

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

    Salida de ejemplo:

    # 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.
    

    Repita el paso utilizando ${ISCSI_TGT_2} y ${ISCSI_TGT_3} como valores para el argumento --portal.

  3. Active el inicio de sesión automático en el dispositivo iSCSI.

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

    Repita el paso utilizando ${ISCSI_TGT_2} y ${ISCSI_TGT_3} como valores para el argumento -p.

  4. En ambos nodos del clúster, ejecute los siguientes comandos.

    Compruebe que los dispositivos iSCSI están disponibles y anote sus nombres para consultarlos más adelante.

    lsscsi -i | grep "LIO-ORG"
    

    Salida de ejemplo:

    [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
    

Recupere los ID de dispositivo iSCSI utilizando la salida del comando lsscsi.

El ejemplo awk proporcionado extrae los IDs de los dispositivos, completa los nombres de los dispositivos y prepara las definiciones de las variables de entorno para su uso posterior.

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

Salida de ejemplo:

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

Revise las entradas de dispositivos en la salida y, a continuación, utilice el comando eval para exportar las variables de entorno.

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

Verifique las variables exportadas.

echo $SBD_DEV_1 $SBD_DEV_2 $SBD_DEV_3

Salida de ejemplo:

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

Estas variables de entorno son necesarias para crear el dispositivo SBD.

Configuración de la valla de envenenamiento SBD en el clúster

El cercado de píldora venenosa SBD sobre un dispositivo de bloque requiere tanto un dispositivo de temporizador de vigilancia como un almacenamiento compartido para transmitir mensajes de píldora venenosa. Para activar el cercado, configure el clúster, active los dispositivos SBD en el almacenamiento compartido y configure el cercado del clúster.

Configuración del watchdog en los nodos del cluster

El hypervisor watchdog de pseries_wdt Power es el preferido y está disponible en los servidores IBM Power10 y posteriores.

Si despliega instancias de servidor virtual con un perfil Power9, el hipervisor Power watchdog no está disponible. Como alternativa, se puede utilizar el software watchdog softdog, aunque su soporte es limitado.

Para configurar un watchdog, siga los pasos descritos en una de las siguientes secciones, dependiendo de su entorno.

Configuración del hardware watchdog pseries_wdt ( IBM Power10 y posteriores)

En ambos nodos del clúster, ejecute los siguientes comandos para verificar que el controlador watchdog del hipervisor está cargado.

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

También puede utilizar el siguiente comando para verificar que el controlador watchdog está cargado.

wdctl

Salida de ejemplo:

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

Configuración del perro guardián del software softdog ( IBM Power9 )

El uso del software softdog watchdog en un servidor IBM Power9 es una alternativa, pero tiene limitaciones de soporte.

Ejecute los siguientes comandos en ambos nodos del cluster para implementar el software watchdog.

  1. Cargue el módulo softdog.

    modprobe softdog
    
  2. Asegúrese de que softdog se carga automáticamente tras el reinicio de un nodo.

    echo softdog > /etc/modules-load.d/watchdog.conf
    
  3. Reinicie los módulos systemd.

    systemctl restart systemd-modules-load
    

Habilitación de los dispositivos sbd

  1. Utilice los pasos básicos de configuración del clúster, como pcs host auth y pcs cluster setup. A continuación, inicie el clúster en ambos nodos.

  2. En cualquier nodo del clúster, ejecute los siguientes comandos para configurar y habilitar los dispositivos SBD. Utilice los ID de dispositivo de iSCSI que registró anteriormente para crear los nuevos dispositivos SBD.

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

    Introduzca yes para confirmar la inicialización del dispositivo.

    Salida de ejemplo:

    # 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
    

    Compruebe el estado.

    pcs stonith sbd status
    

    Salida de ejemplo:

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

    Habilitar los dispositivos 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
    

    Salida de ejemplo:

    # 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.
    

    Reinicie el clúster para activar los cambios.

    • Detener el clúster.

      En cualquier nodo del clúster, ejecute el siguiente comando.

      pcs cluster stop --all
      
    • Inicie el clúster.

      En cada nodo del clúster, ejecute el siguiente comando.

      pcs cluster start
      

      La ejecución de pcs cluster start --all en un único nodo del cluster puede provocar un timeout.

    • Compruebe el estado de los dispositivos sbd.

      pcs stonith sbd status
      

      Salida de ejemplo:

      # 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
      

Configuración del dispositivo de vallado del clúster

En cualquier nodo del clúster, ejecute el comando pcs stonith create para crear el dispositivo STONITH. Ajuste el parámetro pcmk_reboot_timeout para aumentar el valor del tiempo de espera para la acción de reinicio.

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

Pruebe el vallado del clúster. A continuación, proceda con todos los demás pasos de configuración del clúster.