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 Pacemaker y Corosync, consulte Oracle Linux 9 Setting Up High Availability Clustering y Oracle Linux 8 Setting Up High Availability Clustering.

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 Oracle Linux 9 Managing Shared File Systems y Oracle Linux 8 Managing Shared File Systems.

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 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
  5. En cada nodo, defina una contraseña para el usuario hacluster:

    sudo passwd hacluster
  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-resolvable-hostname node2-resolvable-hostname -u hacluster
  3. Cuando se le solicite, introduzca la contraseña definida en el paso 5 para el usuario hacluster 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 resueltos de cada nodo que desee en el cluster

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

    sudo pcs cluster setup cluster-name node1-resolvable-hostname addr=node1-IP-address node2-resolvable-hostname addr=node2-IP-address
  5. Desde uno de los nodos, inicie el cluster en todos los nodos:

    sudo pcs cluster start --all
  6. 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 obtener información sobre los dispositivos de almacenamiento compartido, consulte Oracle Linux 9 Managing Shared File Systems y Oracle Linux 8 Managing Shared File Systems.

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

    SBD_DEVICE="/dev/sdc"
  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/sdc:

    sudo sbd -d /dev/sdc create 
    sudo sbd -d /dev/sdc 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/sdc:

    sudo pcs cluster start --all 
    sudo pcs stonith create sbd_fencing fence_sbd devices=/dev/sdc