Un clúster es un grupo de computadoras (nodos) que trabajan juntas para proporcionar una solución compartida. En un nivel alto, se puede considerar que un clúster tiene tres partes (a menudo definidas como pila de clúster).
Conceptos básicos
- Recursos: Estas son las razones por las que el clúster es el servicio que debe mantenerse altamente disponible.
- Agentes de recursos: Estos son componentes del sistema operativo de secuencias de comandos que inician, detienen y monitorean recursos, dado un conjunto de parámetros de recursos.
- Agentes de vallas: Estos son scripts que ejecutan acciones de cercado de un nodo, dado un objetivo y un dispositivo de cercado.
- Cercado: La capacidad de deshabilitar nodos.
- Quórum: Encapsula la capacidad de determinar si el clúster puede continuar funcionando de manera segura o no.
Tipos de clúster
Los cuatro tipos son los siguientes:
- Alta disponibilidad (HA): Se usa para Fault Tolerance para mantener los servicios del servidor disponibles para empleados o clientes.
- Equilibrio de carga: Equilibra la carga entre varios sistemas cuando un servicio debe estar disponible para varios sistemas a la vez (se puede usar para otros tres tipos de clústeres).
- Distribuido: Los trabajos serán administrados por diferentes sistemas.
- Paralelo (Beowulf): Los trabajos son administrados por múltiples procesadores en múltiples sistemas.
Además por la configuración existen varios tipos de clusters:
- Agrupación manual: Le permite clasificar, fusionar y dividir clústeres manualmente si la salida de los algoritmos de clasificación de picos automáticos no es satisfactoria.
- Fusión de clústeres: Cuando varios grupos parecen corresponder a la misma unidad.
- Dividir clústeres: Puede crear un nuevo grupo dibujando un polígono alrededor de un conjunto de picos en la vista de características, la vista de amplitud, la vista de amplitud de plantilla o las vistas de atributos de pico.
El paquete de clúster proporciona herramientas para crear, configurar y controlar el clúster.
Razones para tener un cluster
Hay diferentes razones para usar un clúster. Los usamos para proporcionar un back-end resistente y de alta disponibilidad para las soluciones. Esto es principalmente para servicios de back-end como MySQL, NFS o Redis donde el servicio puede estar detrás de un front-end de servidores web.
La alta disponibilidad se proporciona a través de la conmutación por error automática:si hay una falla en un nodo del clúster, los servicios del clúster que se ejecutan en ese nodo se reubicarán automáticamente en un nodo que se esté ejecutando correctamente.
Los clústeres generalmente usarán almacenamiento compartido (SAN) para que los datos sean persistentes cuando los servicios se muevan entre nodos.
En el caso de que un nodo deje de responder, normalmente ese nodo será reiniciado (vallado) por otros nodos para preservar la integridad de los datos del almacenamiento compartido y la propiedad de IP flotante.
Clústeres de alta disponibilidad de código abierto de Linux
Algunos proveedores de sistemas operativos Linux ofrecen software de agrupación, como SUSE Linux HAE; Red Hat Enterprise Linux (RHEL); y Oracle Real Application Clusters (RAC).
Si bien le permiten crear un clúster de conmutación por error, presentan una variedad de desafíos, esto es muy manual y propenso a errores humanos.
Las extensiones HA de código abierto de Linux requieren un alto grado de habilidad técnica, lo que crea problemas de complejidad y confiabilidad que desafían a la mayoría de los operadores.
SUSE
Las soluciones SUSE Linux Enterprise Server y Red Hat Enterprise Linux ofrecen un entorno SAN y SANless, pero requieren que se instale y configure un software de replicación llamado DRBD en el sistema operativo para admitir la replicación de datos en el entorno SANless. Desafortunadamente, esto requiere una gran cantidad de secuencias de comandos personalizadas, que pueden llevar mucho tiempo para probar y validar y requiere volver a probar cuando se realizan actualizaciones en el entorno. Dado que estas empresas son empresas de sistemas operativos ante todo, su soporte está orientado a problemas a nivel del sistema operativo y, a menudo, hay poca o ninguna experiencia en HA para ayudar a un cliente con sus problemas.
Clústeres de aplicaciones Oracle Reak (RAC)
Oracle RAC es una solución de alta disponibilidad, pero está diseñada principalmente para el nivel de gestión de bases de datos. Esto significa que necesitará una solución HA diferente para aquellos componentes que monitorean, administran y recuperan los niveles de su aplicación. Oracle RAC también es muy costoso y requiere actualizar a Oracle Enterprise Edition además de pagar por la opción RAC, en comparación con otras soluciones de clústeres de Linux, como SIOS Protection Suite.
SIOS Protection Suite para clústeres de Linux
SIOS Protection Suite para Linux proporciona una combinación estrechamente integrada de clústeres de conmutación por error de alta disponibilidad, monitoreo continuo de aplicaciones, replicación de datos y políticas de recuperación configurables, que protegen sus aplicaciones críticas para el negocio contra el tiempo de inactividad y los desastres. Si bien SIOS Protection Suite puede funcionar en un entorno SAN para admitir un clúster basado en hardware HA tradicional, la arquitectura adopta un enfoque de nada compartido para la agrupación de servidores, lo que le permite ejecutar SANless. Ofrece una solución robusta, versátil y fácilmente configurable con políticas de recuperación automáticas y manuales de failover/failback para una amplia variedad de aplicaciones.
SIOS Protection Suite para Linux incluye:
- SIOS LifeKeeper: Proporciona un software flexible de agrupación en clústeres de conmutación por error que supervisa toda la pila de aplicaciones.
- Guardián de datos de SIOS: Proporciona replicación de datos a nivel de bloque, basada en host, rápida y eficiente para duplicar el almacenamiento local en una configuración de clúster sin SAN o replicar en ubicaciones remotas o en la nube para la recuperación ante desastres.
- Kits de recuperación de múltiples aplicaciones (ARK): Con herramientas de configuración y validación automatizadas integradas en el producto para proteger sus aplicaciones y datos críticos para el negocio contra el tiempo de inactividad y los desastres.
Es el profundo conocimiento del equipo de SIOS en recuperación de aplicaciones y la automatización de la supervisión y recuperación de aplicaciones de la solución lo que hace que sea más fácil de usar y una opción mejor y menos costosa en comparación con las soluciones de clústeres de Linux que ofrecen SUSE, Red Hat y Oracle.
Además, SIOS LifeKeeper es compatible con todas las principales distribuciones de Linux, incluidas Red Hat Enterprise Linux, SUSE Linux Enterprise Server, CentOS y Oracle Linux, y se adapta a una amplia gama de arquitecturas de almacenamiento. El software SIOS se adaptó y optimizó para ejecutarse en estos sistemas operativos y los componentes se probaron para garantizar que la solución de clúster SANless funcione en cada sistema operativo.
Por último, con SIOS Protection Suite para Linux, puede ejecutar sus aplicaciones críticas para el negocio en un entorno de nube escalable y flexible, como Amazon Web Services (AWS), sin sacrificar el rendimiento, la alta disponibilidad o la protección contra desastres.
Clustering de Linux en AWS
Si bien los proveedores de la nube, como AWS, brindan opciones de alta disponibilidad, no brindan el nivel de alta disponibilidad y la amplitud de protección en toda la infraestructura de aplicaciones que exigen los clientes y que una vez se logró mediante el uso de clústeres antes de la computación en la nube. Es por eso que AWS se asocia con SIOS. SIOS Protection Suite para Linux logra estos niveles deseados de alta disponibilidad para nuestros clientes mutuos y las aplicaciones críticas que están trasladando a la nube de AWS.
SIOS Protection Suite para Linux en AWS proporciona todos los elementos que necesita para crear un clúster de Linux de alta disponibilidad en una nube privada virtual (VPC) dentro de una sola región de AWS en dos zonas de disponibilidad. También es compatible con la protección lista para usar para sistemas SAP, bases de datos Oracle y otras aplicaciones críticas para el negocio.
SIOS y AWS ofrecen SIOS Protection Suite Quickstart en AWS, que lo ayuda a crear un clúster de alta disponibilidad de Linux completamente configurado y operativo en unos pocos pasos. Configura una arquitectura de AWS para SIOS Protection Suite para Linux y la implementa en su cuenta de AWS en aproximadamente media hora. Este inicio rápido, disponible en AWS Marketplace, es para usuarios empresariales que desean implementar SIOS Protection Suite para Linux en AWS en su entorno de prueba o producción.
Clustering de SIOS para Linux
SIOS es una empresa de alta disponibilidad que se ha dedicado los últimos 20 años a ofrecer alta disponibilidad diseñada específicamente para SAP, SQL, Linux, Oracle y otras aplicaciones. Su experiencia está integrada en su producto, y la instalación y configuración toman una fracción del tiempo y el costo en comparación con las secuencias de comandos personalizadas con las distribuciones de Linux. Además, SIOS prueba y valida nuevas versiones de sistemas operativos y aplicaciones para que sus clientes no tengan que hacerlo. Cuando un cliente llama a SIOS para solicitar soporte, se lo conecta con un experto en alta disponibilidad, alguien que solo se enfoca en HA y lo ha estado haciendo durante mucho tiempo.
En Linux el software más utilizado es Pacemaker
Descripción general del marcapasos
La infraestructura del clúster del complemento de alta disponibilidad proporciona las funciones básicas para que un grupo de computadoras (llamadas nodos o miembros) trabajen juntas como un clúster. Una vez que se forma un clúster utilizando la infraestructura del clúster, puede usar otros componentes para satisfacer sus necesidades de agrupación (por ejemplo, configurar un clúster para compartir archivos en un sistema de archivos GFS2 o configurar la conmutación por error del servicio). La infraestructura del clúster realiza las siguientes funciones:
- Gestión de clústeres.
- Gestión de bloqueos.
- Esgrima.
- Administración de la configuración del clúster.
Arquitectura de marcapasos
Un clúster configurado con Pacemaker comprende demonios de componentes separados que monitorean la membresía del clúster, scripts que administran los servicios y subsistemas de administración de recursos que monitorean los recursos dispares. Los siguientes componentes forman la arquitectura de Pacemaker:
Base de información de clúster (CIB)
El demonio de información de Pacemaker, que usa XML internamente para distribuir y sincronizar la configuración actual y la información de estado del Coordinador designado (DC), un nodo asignado por Pacemaker para almacenar y distribuir el estado y las acciones del clúster por medio del CIB a todos los demás nodos del clúster.
Demonio de gestión de recursos de clúster (CRMd)
Las acciones de recursos del clúster de Pacemaker se enrutan a través de este daemon. Los recursos administrados por CRMd pueden ser consultados por los sistemas del cliente, movidos, instanciados y cambiados cuando sea necesario.
Cada nodo del clúster también incluye un demonio administrador de recursos locales (LRMd) que actúa como una interfaz entre CRMd y los recursos. LRMd pasa comandos de CRMd a los agentes, como iniciar y detener y retransmitir información de estado.
Dispara al Otro Nodo en la Cabeza (STONITH)
A menudo implementado junto con un interruptor de encendido, STONITH actúa como un recurso de clúster en Pacemaker que procesa las solicitudes de vallas, apagando los nodos a la fuerza y eliminándolos del clúster para garantizar la integridad de los datos. STONITH está configurado en CIB y puede monitorearse como un recurso de clúster normal.
corosync es el componente, y un demonio del mismo nombre, que satisface las necesidades básicas de membresía y comunicación de miembros para clústeres de alta disponibilidad. Es necesario para que funcione el complemento de alta disponibilidad.
Además de esas funciones de membresía y mensajería, corosync también:
Administra las reglas de quórum y la determinación.
Brinda capacidades de mensajería para aplicaciones que coordinan u operan en varios miembros del clúster y, por lo tanto, deben comunicar información con estado u otra información entre instancias.
Herramientas de configuración y gestión de marcapasos
Pacemaker presenta dos herramientas de configuración para la implementación, el monitoreo y la administración de clústeres.
PCS puede controlar todos los aspectos de Pacemaker y el demonio de latido Corosync. Un programa basado en la línea de comandos, los PC pueden realizar las siguientes tareas de administración de clústeres:
- Cree y configure un clúster de Pacemaker/Corosync.
- Modifique la configuración del clúster mientras se está ejecutando.
- Configurar de forma remota tanto Pacemaker como Corosync, así como iniciar, detener y mostrar información de estado del clúster.
IU web de pcsd
Una interfaz gráfica de usuario para crear y configurar clústeres de Pacemaker/Corosync, con las mismas funciones y capacidades que la utilidad pcs basada en la línea de comandos.
Para mantener la integridad y la disponibilidad del clúster, los sistemas de clúster utilizan un concepto conocido como quórum para evitar la corrupción y la pérdida de datos. Un clúster tiene quórum cuando más de la mitad de los nodos del clúster están en línea. Para mitigar la posibilidad de corrupción de datos debido a una falla, Pacemaker detiene todos los recursos de forma predeterminada si el clúster no tiene quórum.
En un sistema de clúster, puede haber muchos nodos trabajando en varios datos de producción vitales. Los nodos en un clúster ocupado de varios nodos podrían comenzar a actuar de manera errática o dejar de estar disponibles, lo que provocaría la acción de los administradores. Los problemas causados por los nodos de clúster erróneos se pueden mitigar estableciendo una política de cercado.
Cuando Pacemaker determina que un nodo ha fallado, comunica a otros componentes de la infraestructura del clúster que el nodo ha fallado. STONITH cerca el nodo fallido cuando se le notifica la falla. Otros componentes de la infraestructura del clúster determinan qué acciones se deben realizar, lo que incluye realizar cualquier recuperación que se necesite realizar. Por ejemplo, DLM y GFS2, cuando se les notifica la falla de un nodo, suspenden la actividad hasta que detectan que STONITH ha completado el cercado del nodo fallido. Tras la confirmación de que el nodo fallido está cercado, DLM y GFS2 realizan la recuperación. DLM libera los bloqueos del nodo fallido; GFS2 recupera el diario del nodo fallido.
El cercado a nivel de nodo a través de STONITH se puede configurar con una variedad de dispositivos de cerca compatibles, que incluyen:
- Fuente de alimentación ininterrumpida (SAI): Un dispositivo que contiene una batería que se puede usar para cercar dispositivos en caso de un corte de energía.
- Unidad de distribución de energía (PDU): Un dispositivo con múltiples tomas de corriente que se utiliza en los centros de datos para la distribución de energía limpia, así como para los servicios de cercado y aislamiento de energía.
- Dispositivos de control de potencia de la hoja: Sistemas dedicados instalados en un centro de datos configurado para cercar los nodos del clúster en caso de falla.
- Dispositivos de luces apagadas: Dispositivos conectados a la red que administran la disponibilidad del nodo del clúster y pueden realizar vallas, encender/apagar y otros servicios por parte de los administradores de forma local o remota.
Clases de recursos adicionales de alta disponibilidad de Red Hat
Hay varias clases de agentes de recursos compatibles con Red Hat High Availability Add-On:
- LSB: El agente Linux Standards Base abstrae los servicios compatibles compatibles con LSB, es decir, los servicios en /etc/init.d y los códigos de retorno asociados para los estados de servicio correctos y fallidos (estado iniciado, detenido, en ejecución).
- OCF: Open Cluster Framework es un superconjunto de LSB (Linux Standards Base) que establece estándares para la creación y ejecución de secuencias de comandos de inicialización del servidor, parámetros de entrada para las secuencias de comandos que utilizan variables de entorno y más.
- sistema: Systemd, el administrador de servicios del sistema más nuevo para sistemas basados en Linux, utiliza conjuntos de archivos unitarios en lugar de secuencias de comandos de inicialización como lo hacen LSB y OCF. Estas unidades pueden ser creadas manualmente por los administradores o incluso pueden ser creadas y administradas por los propios servicios. Pacemaker gestiona estas unidades de forma similar a como gestiona los guiones de inicio OCF o LSB.
- Advenedizo: Al igual que systemd, Upstart es un administrador de inicialización de sistema alternativo para Linux. Upstart usa trabajos, a diferencia de las unidades en scripts systemd o init.
- STONITH: Un agente de recursos exclusivo para servicios de cercado y agentes de cercado que utilizan STONITH.
- Nagios: Agentes que abstraen complementos para el sistema Nagios y la herramienta de monitoreo de infraestructura.
Monitoreo de recursos
Para garantizar que los recursos se mantengan en buen estado, puede agregar una operación de supervisión a la definición de un recurso. Si no especifica una operación de supervisión para un recurso, de forma predeterminada, el comando pcs creará una operación de supervisión, con un intervalo determinado por el agente de recursos.
Restricciones de recursos
Puede determinar el comportamiento de un recurso en un clúster configurando restricciones. Puede configurar las siguientes categorías de restricciones:
- Restricciones de ubicación: Una restricción de ubicación determina en qué nodos se puede ejecutar un recurso.
- Restricciones de orden: Una restricción de orden determina el orden en que se ejecutan los recursos.
- restricciones de ubicación: Una restricción de colocación determina dónde se colocarán los recursos en relación con otros recursos.
Como abreviatura para configurar un conjunto de restricciones que ubicarán un conjunto de recursos juntos y garantizarán que los recursos se inicien secuencialmente y se detengan en orden inverso, Pacemaker admite el concepto de grupos de recursos.
Grupos de recursos
Uno de los elementos más comunes de un clúster es un conjunto de recursos que deben ubicarse juntos, comenzar secuencialmente y detenerse en el orden inverso. Para simplificar esta configuración, Pacemaker admite el concepto de grupos.
Un grupo de recursos se crea con el comando pcs resource, especificando los recursos que se incluirán en el grupo. Si el grupo no existe, este comando crea el grupo. Si el grupo existe, este comando agrega recursos adicionales al grupo. Los recursos comenzarán en el orden que especifique con este comando y se detendrán en el orden inverso al de inicio.
Referencias
- Componentes de clúster - Clusterlabs
- Síndrome del cerebro dividido - Techtarget
- Clustering de Linux - SIOS
- Clustering - física
- Clúster de Linux - Linux.org
- Introducción a los clústeres - Linux Blimp
- Descripción general del marcapasos - Red Hat
Use la pestaña Comentarios para hacer cualquier comentario o hacer preguntas. También puede iniciar una conversación con nosotros.