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:
-
Configuración de clusters de alta disponibilidad de Oracle Linux 10
-
Configuración de clusters de alta disponibilidad de Oracle Linux 9
-
Configuración de clusters de alta disponibilidad de Oracle Linux 8
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:
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.
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.
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:
- Complete el requisito en Clustering de Alta Disponibilidad.
-
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
-
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
-
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
-
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. -
En cada nodo, configure el servicio
pcsd
para que se ejecute y se inicie en el inicio:sudo systemctl enable --now pcsd.service
-
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:
- Instale los paquetes de software Pacemaker y Corosync en cada nodo que desee en el cluster. Consulte Installing Pacemaker.
-
Desde uno de los nodos, autentique la herramienta de configuración de cluster
pcs
para el usuariohacluster
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.
-
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. -
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.
-
Desde uno de los nodos, inicie el cluster en todos los nodos:
sudo pcs cluster start --all
-
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.
- 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.
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:
-
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
-
Desde uno de los nodos, pare el cluster:
sudo pcs cluster stop --all
-
En cada nodo, instale y configure el daemon SBD:
sudo dnf install sbd
-
En cada nodo, active el servicio systemd
sbd
:sudo systemctl enable sbd
Nota
Cuando está activado, el servicio systemdsbd
se inicia y detiene automáticamente como dependencia del servicio de marcapasos. Esto significa que no necesita ejecutar el serviciosbd
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. -
En cada nodo, edite el archivo
/etc/sysconfig/sbd
y defina el parámetroSBD_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.
- Siga editando el archivo
/etc/sysconfig/sbd
en cada nodo definiendo el dispositivo de vigilancia en/dev/null
:SBD_WATCHDOG_DEV=/dev/null
-
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
-
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
-
Para comprobar que la configuración
stonith
se ha configurado correctamente, ejecute los siguientes comandos:sudo pcs stonith config sudo pcs cluster verify --full
-
Para comprobar el estado de la configuración
stonith
, ejecute el siguiente comando:sudo pcs stonith
-
Para comprobar el estado del cluster, ejecute el siguiente comando:
sudo pcs status