Cluster de alta disponibilidad

Con las instancias de Oracle Linux que se ejecutan en Oracle Cloud Infrastructure (OCI), puede crear clusters de alta disponibilidad (HA) que ofrecen acceso continuo a aplicaciones y servicios que se ejecutan en varios nodos. La agrupación en clusters de alta disponibilidad minimiza el tiempo de inactividad y proporciona un servicio continuo si los componentes del sistema fallan y cuando lo hacen.

Puede crear clusters de alta disponibilidad con instancias de OCI mediante la instalación y el uso de Pacemaker, un gestor de recursos de alta disponibilidad de código abierto y Corosync, un motor de cluster de código abierto. Para obtener más información sobre la agrupación en clusters de alta disponibilidad y las tecnologías de marcapasos y Corosync, consulte las siguientes fuentes:

Requisito

Antes de comenzar, configure un dispositivo de almacenamiento compartido al que se pueda acceder desde todos los nodos que desee en el cluster de HA. Se necesita un dispositivo de almacenamiento compartido para el servicio de cluster y los mensajes de aplicación, y para el aislamiento SBD de cluster. Para obtener más información sobre la configuración de un dispositivo de almacenamiento compartido, consulte los siguientes orígenes:

Configuración de clusters de alta disponibilidad con instancias de OCI

Para configurar clusters de alta disponibilidad con instancias de OCI:

  1. Instalación del software de marcapasos
  2. Creación de un cluster de HA
  3. Configurar aislamiento

Instalación de marcapasos

Para crear un cluster de alta disponibilidad (HA) con instancias de Oracle Cloud Infrastructure (OCI), primero debe instalar los paquetes de Pacemaker y Corosync en cada instancia o nodo que desee en el cluster. A continuación, puede configurar cada nodo del cluster y asegurarse de que el servicio de marcapasos se inicie y ejecute automáticamente en cada nodo en el momento del inicio.

Nota

La instancia, el nodo y el nodo de cluster de OCI se utilizan indistintamente con la agrupación en clusters de alta disponibilidad para OCI.

Mejores prácticas

Para cada instancia de OCI que desee en el cluster, abra una ventana de terminal y conéctese a la instancia.

Por ejemplo, si desea que dos instancias de OCI sean nodos en el cluster, abra dos ventanas de terminal y conéctese a cada instancia mediante ssh:
ssh instance-IP-address

Si se abre una ventana de terminal para cada nodo, se evita la necesidad de iniciar y cerrar sesión repetidamente en los nodos al configurar el cluster de HA.

Instalación de Pacemaker y Corosync

Para instalar los paquetes Pacemaker y Corosync y configurar los nodos del cluster de HA:

  1. Complete el requisito en Clustering de Alta Disponibilidad.
  2. Active el repositorio en el servidor yum de Oracle Linux donde residen los paquetes Marcapasos y 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
  3. En cada nodo, instale el shell del comando pcs del marcapasos, los paquetes de software y todos los agentes de valla y recursos disponibles:

    sudo dnf install pcs pacemaker resource-agents fence-agents-sbd
  4. Configure el firewall para que los componentes de servicio se puedan comunicar a través de la red:

    sudo firewall-cmd --permanent --add-service=high-availability
    sudo firewall-cmd --add-service=high-availability
  5. En cada nodo, defina una contraseña para el usuario hacluster:

    sudo passwd hacluster
    Consejo

    Defina la misma contraseña en cada nodo para evitar problemas de autorización al ejecutar comandos pcs en nodos diferentes dentro del mismo cluster.

  6. En cada nodo, configure el servicio pcsd para que se ejecute y se inicie en el inicio:

    sudo systemctl enable --now pcsd.service
  7. Cree un cluster de HA mediante los nodos que haya configurado. Consulte Creating an HA Cluster.

Creación de un cluster de alta disponibilidad

Con el software Pacemaker y Corosync, puede crear un cluster de alta disponibilidad (HA) con instancias de Linux que se ejecutan en Oracle Cloud Infrastructure (OCI).

Para crear un cluster de alta disponibilidad:

  1. Instale los paquetes de software Pacemaker y Corosync en cada nodo que desee en el cluster. Consulte Installing Pacemaker.
  2. Desde uno de los nodos, autentique la herramienta de configuración de cluster pcs para el usuario hacluster de cada nodo de cluster.

    Por ejemplo, si desea que dos nodos formen el cluster de HA, ejecute el siguiente comando desde uno de los nodos del cluster:

    sudo pcs host auth node1 node2 -u hacluster

    Sustituya node1 y node2 por los nombres de host que se pueden resolver de los nodos que van a formar el cluster.

    De manera alternativa, si los nombres de host no se pueden resolver, especifique la dirección IP para cada nodo como se muestra en el siguiente ejemplo:

    sudo pcs host auth node1 addr=192.0.2.1 node2 addr=192.0.2.2 -u hacluster

    Sustituya 192.0.2.1 y 192.0.2.2 por la dirección IP de cada uno de los hosts respectivos del cluster.

  3. Cuando se le solicite, introduzca la contraseña que definió para el usuario hacluster al instalar y configurar el software de marcapasos en cada nodo.

  4. Cree el cluster de HA con el comando pcs cluster setup y especifique lo siguiente:

    • Nombre del cluster.
    • Nombre de host y dirección IP de cada nodo que desea en el cluster

    Por ejemplo, para crear un cluster de HA con dos nodos:

    sudo pcs cluster setup cluster-name node1 addr=192.0.2.1 node2 addr=192.0.2.2

    Sustituya 192.0.2.1 y 192.0.2.2 por la dirección IP de cada uno de los hosts respectivos del cluster.

  5. Desde uno de los nodos, inicie el cluster en todos los nodos:

    sudo pcs cluster start --all
  6. De manera opcional, puede activar estos servicios para que se inicien en el momento del inicio, de modo que si un nodo se reinicia, se vuelva a unir automáticamente al cluster. Para ello, ejecute el siguiente comando en uno de los nodos:

    sudo pcs cluster enable --all
    Nota

    Algunos usuarios prefieren no activar estos servicios para que un fallo de nodo que resulte en un reinicio completo del sistema se pueda depurar correctamente antes de que se vuelva a unir al cluster.

  7. Configure el aislamiento SBD para el cluster de alta disponibilidad recién creado. Consulte Configuring Fencing.

Configuración de aislamiento

El aislamiento de dispositivos de bloque STONITH (SBD) funciona con el software de marcapasos para proteger los datos cuando un nodo de un cluster de alta disponibilidad (HA) deja de responder. El aislamiento impide que los nodos activos del cluster de HA accedan a los datos del nodo que no responde hasta que el software de marcapasos desconecte ese nodo que no responde.

La configuración de aislamiento SBD es el último paso para completar la configuración de un cluster de alta disponibilidad con instancias de OCI. Para obtener información sobre la creación de un cluster de alta disponibilidad, consulte Creating an HA Cluster.

Nota

Para crear clusters de alta disponibilidad con instancias de OCI, solo debe utilizar el mecanismo de aislamiento de cluster de SBD. En este entorno no se admiten actualmente otros mecanismos de aislamiento de cluster.

Configuración de aislamiento de SBD para un cluster de HA

Para configurar el aislamiento de SBD para un cluster de HA:

  1. Desde uno de los nodos del cluster, active stonith (Disparar el otro nodo en la cabeza), una técnica de aislamiento que se utiliza como parte de la estrategia de aislamiento SBD.

    sudo pcs property set stonith-enabled=true
  2. Desde uno de los nodos, pare el cluster:

    sudo pcs cluster stop --all
  3. En cada nodo, instale y configure el daemon SBD:

    sudo dnf install sbd
  4. En cada nodo, active el servicio systemd sbd:

    sudo systemctl enable sbd
    Nota

    Cuando está activado, el servicio systemd sbd se inicia y detiene automáticamente como dependencia del servicio de marcapasos. Esto significa que no necesita ejecutar el servicio sbd de forma independiente y no puede iniciar ni parar manualmente el servicio. Si intenta iniciarlo o detenerlo manualmente, el estado del servicio sigue siendo el mismo y se muestra un mensaje de error que indica que el servicio es un servicio dependiente.
  5. En cada nodo, edite el archivo /etc/sysconfig/sbd y defina el parámetro SBD_DEVICE para identificar el dispositivo de almacenamiento compartido. Para ello, utilice una ruta de dispositivo persistente, como un enlace dentro del sistema de directorios /dev/disk/by-id/.

    Por ejemplo, si el dispositivo de almacenamiento compartido está disponible en /dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90, asegúrese de que el archivo /etc/sysconfig/sbd de cada nodo contenga la siguiente línea:

    SBD_DEVICE="/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90"

    Para obtener información sobre los dispositivos de almacenamiento compartido, consulte los enlaces proporcionados en la sección Prerequisite.

  6. Siga editando el archivo /etc/sysconfig/sbd en cada nodo definiendo el dispositivo de vigilancia en /dev/null:
    SBD_WATCHDOG_DEV=/dev/null
  7. Desde uno de los nodos, cree el diseño de mensajería SBD en el dispositivo de almacenamiento compartido y confirme que esté en su lugar.

    Por ejemplo, para configurar y verificar los mensajes en el dispositivo de almacenamiento compartido en /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
  8. Desde uno de los nodos, inicie el cluster y configure el agente de aislamiento fence_sbd para el dispositivo de almacenamiento compartido.

    Por ejemplo, para iniciar el cluster y configurar el dispositivo de almacenamiento compartido en /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
  9. Para comprobar que la configuración stonith se ha configurado correctamente, ejecute los siguientes comandos:

    sudo pcs stonith config
    sudo pcs cluster verify --full
  10. Para comprobar el estado de la configuración stonith, ejecute el siguiente comando:

    sudo pcs stonith
  11. Para comprobar el estado del cluster, ejecute el siguiente comando:

    sudo pcs status