Clusters 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 proporcionen 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 cuándo fallan.
Puede crear clusters de alta disponibilidad con instancias de OCI instalando y utilizando 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 para que se pueda acceder a él 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 del marcapasos
Para crear un cluster de alta disponibilidad (HA) con instancias de Oracle Cloud Infrastructure (OCI), primero debe instalar los paquetes 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 se 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 clusters de HA 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
Tener una ventana de terminal abierta para cada nodo evita la necesidad de iniciar y cerrar sesión repetidamente en los nodos al configurar el cluster de HA.
Instalación de marcapasos y Corosync
Para instalar los paquetes Pacemaker y Corosync y configurar los nodos de cluster de HA:
- Complete el requisito en Cluster de alta disponibilidad.
-
Active el repositorio en el servidor yum de Oracle Linux donde residen los paquetes Pacemaker 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 Pacemaker
pcs
, los paquetes de software y todos los agentes de recursos y valla 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, defina el servicio
pcsd
para que se ejecute e inicie al iniciar:sudo systemctl enable --now pcsd.service
-
Cree un cluster de alta disponibilidad 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 ejecuten en Oracle Cloud Infrastructure (OCI).
Para crear un cluster de HA:
- 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 mediante el comando
pcs cluster setup
y especifique lo siguiente:- Nombre del cluster.
- Nombre de host solucionable y dirección IP de cada nodo que desee en el cluster
Por ejemplo, para crear un cluster de alta disponibilidad 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 HA recién creado. Consulte Configuración de aislamiento.
Configuración de aislamiento
El aislamiento de dispositivos de bloques STONITH (SBD) funciona con el software Pacemaker para proteger los datos cuando un nodo de un cluster de alta disponibilidad (HA) no responde. El aislamiento evita que los nodos activos del cluster HA accedan a los datos del nodo que no responde hasta que el software Pacemaker desconecta ese nodo que no responde.
La configuración de aislamiento de SBD es el último paso para completar la configuración de un cluster de HA 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. Actualmente no se admiten otros mecanismos de aislamiento de cluster en este entorno.
Configuración de aislamiento SBD para un cluster de alta disponibilidad
Para configurar el aislamiento SBD para un cluster de alta disponibilidad:
-
Desde uno de los nodos del cluster, active
stonith
(Disparar el otro nodo en la cabecera), una técnica de aislamiento que se utiliza como parte de la estrategia de aislamiento de SBD.sudo pcs property set stonith-enabled=true
-
En 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 se detiene automáticamente como dependencia del servicio Pacemaker. Esto significa que no necesita ejecutar el serviciosbd
de forma independiente y no puede iniciar o parar el servicio manualmente. 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 estableciendo 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 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