Introducción a SUSE Linux Enterprise High Availability
- DESCRIPCIÓN
Este artículo explica las capacidades, la arquitectura, los conceptos básicos y las ventajas de SUSE Linux Enterprise High Availability.
- INTENCIÓN
Obtener información sobre SUSE Linux Enterprise High Availability para ayudarle a decidir si desea usarlo antes de configurar un clúster por primera vez.
- ESFUERZO
Se tardan aproximadamente 20 minutos en leer el artículo.
1 Qué es SUSE Linux Enterprise High Availability #
SUSE® Linux Enterprise High Availability es un paquete integrado de tecnologías de agrupación en clúster de código abierto. Un clúster de alta disponibilidad es un grupo de servidores (nodos) que trabajan juntos para asegurar la mayor disponibilidad posible de datos, aplicaciones y servicios. Si un nodo falla, los recursos que se estaban ejecutando en él se mueven a otro nodo con poco o ningún tiempo de inactividad. También puede mover recursos manualmente entre nodos para equilibrar la carga o para realizar tareas de mantenimiento con un tiempo de inactividad mínimo. Los recursos del clúster pueden ser sitios Web, servidores de correo electrónico, bases de datos, sistemas de archivos, máquinas virtuales y cualquier otra aplicación o servicio basado en servidor que desee que esté disponible para los usuarios en todo momento.
1.1 Disponibilidad del producto #
SUSE Linux Enterprise High Availability está disponible con los siguientes productos:
- SUSE Linux Enterprise Server
High Availability está disponible como extensión. Requiere un código de registro adicional.
- SUSE Linux Enterprise Server for SAP applications
High Availability se incluye como módulo. No se requiere código de registro adicional.
1.2 Funciones y ventajas #
SUSE Linux Enterprise High Availability elimina puntos únicos de fallo para mejorar la disponibilidad y la capacidad de gestión de los recursos críticos. Así, podrá mantener la continuidad del negocio, proteger la integridad de los datos y minimizar los tiempos de inactividad no programados para las cargas de trabajo críticas.
- Diversas opciones de agrupación en clústeres
SUSE Linux Enterprise High Availability se puede configurar de distintas formas:
Clústeres locales: un único clúster en una ubicación (por ejemplo, todos los nodos se encuentran en un centro de datos). La latencia de red es mínima. Normalmente, todos los nodos acceden al almacenamiento de forma sincrónica.
Clústeres metro (clústeres “extendidos”): un único clúster que puede estar distribuido por varios edificios o centros de datos, con todos los sitios conectados mediante Fibre Channel. La latencia de red suele ser baja. El almacenamiento se replica con frecuencia mediante la duplicación o la réplica sincrónica.
Clústeres híbridos: los servidores virtuales se pueden agrupar junto con servidores físicos. Esto mejora la disponibilidad del servicio y el uso de los recursos.
Importante: no se admiten arquitecturas mixtasNo se admiten clústeres con distintas arquitecturas. Todos los nodos del mismo clúster deben tener la misma plataforma de procesador: AMD64/Intel 64, IBM Z o POWER.
- Gestión de recursos flexible y escalable
SUSE Linux Enterprise High Availability admite clústeres de hasta 32 nodos. Los recursos se pueden mover automáticamente a otro nodo si el actual falla, o se pueden mover manualmente para solucionar problemas de hardware o equilibrar la carga de trabajo. Los recursos también se pueden configurar para que vuelvan a los nodos reparados en un momento específico. El clúster puede detener e iniciar recursos basándose en reglas configurables.
- Amplia gama de agentes de recursos
El clúster gestiona los recursos a través de agentes de recursos (RA). SUSE Linux Enterprise High Availability admite muchos agentes de recursos diferentes que están diseñados para gestionar tipos específicos de aplicaciones o servicios, incluidos Apache, IPv4, IPv6, NFS y muchos más. También incluye agentes de recursos para aplicaciones de terceros como IBM WebSphere Application Server.
- Almacenamiento y réplica de datos
SUSE Linux Enterprise High Availability admite redes de área de almacenamiento (SAN) Fibre Channel o iSCSI, lo que permite asignar y reasignar dinámicamente el almacenamiento del servidor según sea necesario. También incluye GFS2 y el gestor de volúmenes lógico del clúster (LVM del clúster). Para la réplica de datos, utilice DRBD* para duplicar los datos de un recurso desde el nodo activo a un nodo en espera.
- Compatibilidad con entornos virtualizados
SUSE Linux Enterprise High Availability admite la agrupación mixta en clústeres de servidores Linux físicos y virtuales. El clúster puede reconocer y gestionar recursos que se ejecutan en servidores virtuales y en servidores físicos, y también puede gestionar máquinas virtuales KVM como recursos.
- Recuperación tras desastre
SUSE Linux Enterprise High Availability incluye Relax-and-Recover (ReaR), un marco de recuperación tras desastres que ayuda a hacer copias de seguridad y restaurar los sistemas.
- Herramientas de administración fáciles de usar
SUSE Linux Enterprise High Availability incluye herramientas para la configuración y la gestión:
La shell CRM (
crmsh) es una interfaz de línea de comandos para instalar y configurar clústeres de alta disponibilidad, configurar recursos y realizar tareas de supervisión y administración.Hawk es una interfaz gráfica basada en Web para la supervisión y administración de clústeres de alta disponibilidad. Se puede acceder a Hawk con un navegador Web desde cualquier equipo Linux o no Linux que pueda conectarse a los nodos del clúster.
1.3 Cómo funciona la alta disponibilidad #
En la ilustración siguiente se muestra un clúster de tres nodos. Cada uno de ellos tiene un servidor web instalado y aloja dos sitios Web. Todos los datos, gráficos y contenido de las páginas Web de cada sitio Web se almacenan en un subsistema de discos compartidos conectado a todos los nodos.
Durante el funcionamiento normal del clúster, cada nodo está en constante comunicación con los demás nodos del clúster y comprueba periódicamente los recursos para detectar fallos.
La siguiente ilustración muestra cómo mueve recursos el clúster cuando falla el servidor Web 1 debido a problemas de hardware o software.
El sitio Web A se mueve al servidor Web 2 y el sitio Web B se mueve al servidor Web 3. Los sitios Web siguen estando disponibles y se distribuyen uniformemente entre los nodos restantes del clúster.
Cuando el servidor Web 1 falló, el software de alta disponibilidad realizó las siguientes tareas:
Detectó un fallo y verificó que el servidor Web 1 estaba realmente caído.
Volvió a montar los directorios de datos compartidos que estaban montados en el servidor Web 1 en los servidores Web 2 y 3.
Reinició las aplicaciones que se estaban ejecutando en el servidor Web 1 en los servidores Web 2 y 3.
Transfirió los certificados y las direcciones IP a los servidores Web 2 y 3.
En este ejemplo, el failover se produjo rápidamente y los usuarios recuperaron el acceso a los sitios Web en segundos, generalmente sin necesidad de iniciar sesión de nuevo.
Cuando el servidor Web 1 vuelva a un estado operativo normal, el sitio Web A y el sitio Web B podrán volver (“failback”) al servidor Web 1 automáticamente. Esto produciría cierto tiempo de inactividad, por lo que, como alternativa, puede configurar los recursos para que solo realicen el failback a una hora concreta que cause una interrupción mínima del servicio.
2 Conceptos básicos #
En esta sección se explican los conceptos básicos de SUSE Linux Enterprise High Availability.
2.1 Clústeres y nodos #
Un clúster de alta disponibilidad es un grupo de servidores que trabajan juntos para garantizar la disponibilidad de aplicaciones o servicios. Los servidores que se configuran como miembros del clúster se denominan nodos. Si un nodo falla, los recursos que se ejecutan en él pueden moverse a otro nodo del clúster. SUSE Linux Enterprise High Availability admite clústeres de hasta 32 nodos. Sin embargo, los clústeres generalmente se dividen en dos categorías: clústeres de dos nodos o clústeres con un número impar de nodos (normalmente tres o cinco).
2.2 Canales de comunicación #
La comunicación interna del clúster se gestiona mediante Corosync. Corosync Cluster Engine es un sistema de comunicación grupal que proporciona mensajería, pertenencia a grupos e información sobre el quórum del clúster. En SUSE Linux Enterprise High Availability 16, Corosync usa kronosnet (knet) como protocolo de transporte por defecto.
Se recomienda encarecidamente configurar al menos dos canales de comunicación para el clúster. El método preferido es utilizar la vinculación de dispositivos de red. Si no puede utilizar una vinculación de red, puede configurar un canal de comunicación redundante en Corosync (también conocido como segundo “anillo”).
2.3 Gestión de recursos #
En un clúster de alta disponibilidad, las aplicaciones y servicios que necesitan estar altamente disponibles se denominan recursos. Los recursos del clúster pueden ser sitios Web, servidores de correo electrónico, bases de datos, sistemas de archivos, máquinas virtuales y cualquier otra aplicación o servicio basado en servidor que deba estar disponible para los usuarios en todo momento. Puede iniciar, detener, supervisar y mover recursos según sea necesario. También puede especificar si algunos recursos específicos deben ejecutarse juntos en el mismo nodo o iniciarse y detenerse en orden secuencial. Si un nodo del clúster falla, los recursos que se ejecutan en él se mueven (se produce un failover) a otro nodo en lugar de perderse.
En SUSE Linux Enterprise High Availability, el gestor de recursos del clúster (CRM) es Pacemaker, que gestiona y coordina todos los servicios del clúster. Pacemaker utiliza agentes de recursos (RA) para iniciar, detener y supervisar los recursos. Un agente de recursos abstrae el recurso que gestiona y presenta su estado al clúster. SUSE Linux Enterprise High Availability admite muchos agentes de recursos diferentes que están diseñados para gestionar tipos específicos de aplicaciones o servicios.
2.4 Fencing de nodos #
En una situación de nodos malinformados, los nodos del clúster se dividen en dos o más grupos (o particiones) que no se reconocen entre sí. Esto podría deberse a un fallo de hardware o de software, o a que falle una conexión de red, por ejemplo. Estos escenarios se pueden resolver mediante fencing, o perimetraje, restableciendo o apagando uno o varios nodos. El fencing de nivel de nodos evita que un nodo fallido acceda a los recursos compartidos, y evita que los recursos del clúster se ejecuten en un nodo con un estado incierto.
SUSE Linux Enterprise High Availability utiliza STONITH como mecanismo de fencing de nodos. Para que sean compatibles, todos los clústeres de SUSE Linux Enterprise High Availability deben tener al menos un dispositivo STONITH. Para cargas de trabajo críticas, se recomienda usar dos o tres dispositivos STONITH. Puede ser un dispositivo físico (un conmutador de alimentación) o un mecanismo de software (como un SBD en combinación con un vigilante, o watchdog).
2.5 Determinación del quórum #
Cuando se produce un error en la comunicación entre uno o varios nodos y el resto del clúster (una situación de nodos malinformados), se produce una partición del clúster. Los nodos solo pueden comunicarse con otros nodos de la misma partición y no reconocen los nodos de otras particiones. Una partición tiene “quórum” si tiene la mayoría de los nodos (o “votos”). Esto se determina mediante el cálculo del quórum. Para permitir la aplicación de fencing a los nodos que no tienen quórum, debe calcularse el quórum.
Corosync calcula el quórum basándose en la siguiente fórmula:
N ≥ C/2 + 1 N = minimum number of operational nodes C = number of cluster nodes
Por ejemplo, un clúster de cinco nodos necesita un mínimo de tres nodos operativos para mantener el quórum.
Los clústeres con un número par de nodos, especialmente los clústeres de dos nodos, podrían tener el mismo número de nodos en cada partición y, por lo tanto, no tener mayoría. Para evitar esta situación, puede configurar el clúster para que use QDevice en combinación con QNetd. QNetd es un árbitro que se ejecuta fuera del clúster. Se comunica con el daemon QDevice que se ejecuta en los nodos del clúster para proporcionar un número configurable de votos para el cálculo del quórum. Esto permite que los clústeres soporten más errores de nodo de los que permiten las reglas de quórum estándar.
2.6 Almacenamiento y réplica de datos #
Los clústeres de alta disponibilidad pueden incluir un subsistema de disco compartido conectado mediante Fibre Channel o iSCSI. Si un nodo falla, otro nodo del clúster monta automáticamente los directorios del disco compartido que estaban montados en el nodo que ha fallado. De esta forma, se proporciona a los usuarios un acceso continuo a los directorios del subsistema de discos compartidos. El contenido almacenado en el disco compartido puede incluir datos, aplicaciones y servicios.
En la siguiente ilustración se muestra una configuración típica de clúster con Fibre Channel. Las líneas verdes representan las conexiones a un conmutador de alimentación Ethernet, que puede reiniciar un nodo si falla una petición de ping.
En la siguiente ilustración se muestra una configuración típica de clúster con iSCSI.
Aunque la mayoría de los clústeres incluyen un subsistema de disco compartido, también puede crear un clúster sin él. La siguiente ilustración muestra cómo podría ser un clúster sin un subsistema de disco compartido.
3 Vista general de la arquitectura #
En esta sección se explica la arquitectura de un clúster de SUSE Linux Enterprise High Availability y cómo interoperan los diferentes componentes.
3.1 Capas de arquitectura #
SUSE Linux Enterprise High Availability tiene una arquitectura en capas. La siguiente ilustración muestra las diferentes capas y sus componentes asociados.
- Pertenencia a grupos y mensajería (Corosync)
Corosync Cluster Engine es un sistema de comunicación grupal que proporciona mensajería, pertenencia a grupos e información sobre el quórum del clúster.
- Gestor de recursos del clúster (Pacemaker)
Pacemaker es el gestor de recursos del clúster que reacciona a los eventos que ocurren en el clúster. Los eventos pueden ser nodos que se unen o abandonan el clúster, fallos de recursos o actividades programadas como el mantenimiento, por ejemplo. El daemon
pacemakerdinicia y supervisa todos los demás daemons relacionados.Los siguientes componentes también forman parte de la capa de Pacemaker:
Base de datos de información del clúster (CIB)
En cada nodo, Pacemaker mantiene la base de datos de información de clúster (CIB). Se trata de una representación XML de toda la configuración y el estado del clúster (incluidas las opciones del clúster, los nodos, los recursos, las restricciones y las relaciones entre sí). La CIB también refleja el estado actual del clúster. El gestor de CIB (
pacemaker-based) mantiene la CIB sincronizada en todo el clúster y gestiona la configuración de lectura y escritura y el estado.Coordinador designado (DC)
El daemon
pacemaker-controldes el controlador del clúster, que coordina todas las acciones. Este daemon tiene una instancia en cada nodo del clúster, pero solo se elige una instancia para que actúe como coordinador designado. El coordinador designado se elige cuando se inician los servicios de clúster, o si el coordinador designado falla o abandona el clúster. El coordinador designado decide si se debe realizar un cambio en todo el clúster, como aplicar fencing en un nodo o mover recursos.Programador
El programador se ejecuta en cada nodo como el daemon
pacemaker-schedulerd, pero solo está activo en el DC. Cuando se necesita una transición de clúster, el programador calcula el siguiente estado esperado del clúster y determina qué acciones deben programarse para lograrlo.
- Ejecutor local
El ejecutor local se encuentra entre la capa de Pacemaker y la capa de recursos de cada nodo. El daemon
pacemaker-execdpermite a Pacemaker iniciar, detener y supervisar recursos.- Recursos y agentes de recursos
En un clúster de alta disponibilidad, los servicios que necesitan estar altamente disponibles se denominan recursos. Los agentes de recursos (RA) son guiones que inician, detienen y supervisan los recursos del clúster.
3.2 Flujo del proceso #
Muchas acciones realizadas en el clúster provocan un cambio en todo el clúster; por ejemplo, añadir o quitar un recurso del clúster o cambiar las restricciones de recursos. En el siguiente ejemplo se explica lo que sucede en el clúster cuando se realiza una acción de este tipo:
Usa la shell CRM o Hawk para añadir un recurso de clúster. Puede hacerlo desde cualquier nodo del clúster. Al añadir el recurso, se modifica la CIB.
El cambio de la CIB se replica en todos los nodos del clúster.
Según la información de la CIB,
pacemaker-schedulerdcalcula el estado ideal del clúster y cómo debe lograrse. Proporciona una lista de instrucciones al DC.El DC envía comandos a través de Corosync, que son recibidos por las instancias de
pacemaker-controlden los otros nodos.Cada nodo utiliza su ejecutor local (
pacemaker-execd) para realizar modificaciones en los recursos. El daemonpacemaker-execdno reconoce el clúster e interactúa directamente con los agentes de recursos.Todos los nodos informan de los resultados de sus operaciones al DC.
Si se requiere fencing,
pacemaker-fencedllama al agente de fencing para perimetrar el nodo.Después de que el DC concluya que todas las operaciones necesarias se han realizado correctamente, el clúster vuelve a un estado inactivo y espera otros eventos.
Si alguna operación no se ha realizado según lo previsto, se vuelve a invocar a
pacemaker-schedulerdcon la nueva información registrada en la CIB.
4 Opciones de instalación #
En esta sección se describen las diferentes opciones para instalar un clúster de SUSE Linux Enterprise High Availability e incluye enlaces a las guías de instalación disponibles.
Las siguientes guías de inicio rápido explican cómo configurar un clúster mínimo con ajustes predeterminados:
- Installing a basic two-node High Availability cluster
Esta guía de inicio rápido describe cómo configurar un clúster de alta disponibilidad básico de dos nodos con QDevice, un SBD sin disco y un vigilante de software. Para esta configuración, se requiere QDevice, de modo que SBD sin disco pueda gestionar situaciones de nodos malinformados para el clúster de dos nodos.
- Installing a basic three-node High Availability cluster
Esta guía de inicio rápido describe cómo configurar un clúster de alta disponibilidad básico de tres nodos con SBD sin disco y un vigilante de software. Se requieren tres nodos para esta configuración, de modo que SBD sin disco pueda manejar escenarios de nodos malinformados sin la ayuda de QDevice.
5 Información adicional #
Para obtener más información sobre SUSE Linux Enterprise High Availability, consulte los siguientes recursos:
- https://clusterlabs.org/
El proyecto oficial de muchos de los componentes de SUSE Linux Enterprise High Availability.
- https://www.clusterlabs.org/pacemaker/doc/
Documentación de Pacemaker Para SUSE Linux Enterprise High Availability 16, consulte la documentación de Pacemaker 3.
6 Información legal #
Copyright© 2006–2025 SUSE LLC y colaboradores. Reservados todos los derechos.
Está permitido copiar, distribuir y modificar este documento según los términos de la licencia de documentación gratuita GNU, versión 1.2 o (según su criterio) versión 1.3. Esta información de copyright y licencia deberán permanecer inalterados. En la sección titulada “GNU Free Documentation License” (Licencia de documentación gratuita GNU) se incluye una copia de la versión 1.2 de la licencia.
Para obtener información sobre las marcas comerciales de SUSE, consulte https://www.suse.com/company/legal/. Todas las marcas comerciales de otros fabricantes son propiedad de sus respectivas empresas. Los símbolos de marcas comerciales (®, ™, etc.) indican marcas comerciales de SUSE y sus filiales. Los asteriscos (*) indican marcas comerciales de otros fabricantes.
Toda la información recogida en esta publicación se ha compilado prestando toda la atención posible al más mínimo detalle. Sin embargo, esto no garantiza una precisión total. Ni SUSE LLC, ni sus filiales, ni los autores o traductores serán responsables de los posibles errores o las consecuencias que de ellos pudieran derivarse.