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:
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 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
-
En cada nodo, defina una contraseña para el usuario
hacluster
:sudo passwd hacluster
-
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-resolvable-hostname node2-resolvable-hostname -u hacluster
-
Cuando se le solicite, introduzca la contraseña definida en el paso 5 para el usuario
hacluster
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 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
-
Desde uno de los nodos, inicie el cluster en todos los nodos:
sudo pcs cluster start --all
- 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 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"
- 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/sdc
:sudo sbd -d /dev/sdc create
sudo sbd -d /dev/sdc 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/sdc
:sudo pcs cluster start --all
sudo pcs stonith create sbd_fencing fence_sbd devices=/dev/sdc