Hace tiempo ya os hablé sobre cómo configurar clusters de servicio con ServiceGuard. Veritas Cluster es un producto similar que también podemos utilizar para configurar servicios de alta disponibilidad.
¿Qué es Veritas Cluster?
Veritas Cluster es una solución de alta disponibilidad que permite mantener aplicaciones críticas en funcionamiento continuo en caso de fallos de hardware o software. El funcionamiento de Veritas Cluster se basa en la implementación de un clúster de servidores que trabajan en conjunto para proporcionar un servicio confiable y continuo.
En un clúster de Veritas Cluster, cada servidor (también llamado nodo) tiene acceso a un conjunto de discos compartidos y a una red de comunicaciones. Veritas Cluster utiliza técnicas de detección de fallos para identificar cuándo un nodo ha dejado de responder y toma medidas para asegurarse de que las aplicaciones que se ejecutan en ese nodo se reinicien en otro nodo del clúster.
Cuando una aplicación se ejecuta en Veritas Cluster, se asigna a un grupo de recursos. Cada grupo de recursos incluye la aplicación, los discos compartidos y cualquier otro recurso necesario para que la aplicación funcione correctamente, como direcciones IP virtuales, servicios de red y archivos de configuración. Cuando un nodo del clúster detecta que ha fallado un nodo, Veritas Cluster automáticamente toma medidas para transferir los grupos de recursos de la aplicación a otro nodo del clúster.
Además, Veritas Cluster también incluye herramientas de administración y monitorización que permiten a los administradores del sistema controlar y supervisar la configuración del clúster y la disponibilidad de los servicios. Estas herramientas pueden utilizarse para realizar tareas como la creación de grupos de recursos, la definición de políticas de failover y la realización de tareas de mantenimiento.
Arquitectura de Veritas Cluster
La arquitectura de Veritas Cluster se basa en un clúster de servidores que trabajan en conjunto para proporcionar servicios de alta disponibilidad. En un clúster de Veritas Cluster, se pueden tener múltiples nodos (servidores) que comparten un conjunto de discos y una red de comunicaciones. Cada nodo en el clúster tiene instalado Veritas Cluster Server (VCS), que es el software que permite la administración del clúster y la gestión de los recursos.
A continuación se describen los componentes principales de la arquitectura de Veritas Cluster:
Nodos (servidores): Son los componentes físicos del clúster. Cada nodo en el clúster ejecuta una instancia de VCS que se comunica con los otros nodos del clúster para coordinar la gestión de los recursos. Los nodos están conectados a una red privada de comunicaciones para intercambiar información sobre el estado del clúster y los recursos.
Discos compartidos: Todos los nodos del clúster tienen acceso a un conjunto de discos compartidos que se utilizan para almacenar los datos y configuraciones de las aplicaciones que se ejecutan en el clúster. Los discos compartidos pueden ser almacenamiento directamente conectado (DAS), almacenamiento conectado en red (SAN) o almacenamiento en la nube.
Red de comunicaciones: Es la red privada que conecta los nodos del clúster y permite la comunicación y coordinación entre ellos. Esta red se utiliza para enviar mensajes y datos de estado entre los nodos, y para sincronizar los discos compartidos.
Veritas Cluster Server (VCS): Es el software que permite la administración del clúster y la gestión de los recursos. VCS se ejecuta en cada nodo del clúster y se encarga de coordinar la detección de fallos, la transferencia de recursos y la gestión de políticas de failover.
Grupos de recursos: Los recursos se agrupan en conjuntos lógicos llamados grupos de recursos. Cada grupo de recursos incluye los recursos necesarios para que una aplicación funcione correctamente, como la aplicación en sí, los discos compartidos, las direcciones IP virtuales, las interfaces de red y los servicios de red. Los grupos de recursos se asignan a un nodo principal y a un nodo de respaldo, para garantizar que la aplicación se pueda recuperar rápidamente en caso de un fallo.
Componentes de Veritas Cluster
Los componentes principales de Veritas Cluster incluyen:
Veritas Cluster Server (VCS): es el software que permite la administración del clúster y la gestión de los recursos. VCS se ejecuta en cada nodo del clúster y se encarga de coordinar la detección de fallos, la transferencia de recursos y la gestión de políticas de failover.
Agentes: son programas que se ejecutan en cada nodo del clúster y que proporcionan la capacidad de monitorizar y gestionar recursos específicos. Los agentes son específicos para cada aplicación o servicio que se desea monitorizar. VCS incluye un conjunto de agentes predefinidos para diferentes tipos de recursos, como bases de datos, servidores web, servidores de correo, entre otros.
Grupos de recursos: los recursos se agrupan en conjuntos lógicos llamados grupos de recursos. Cada grupo de recursos incluye los recursos necesarios para que una aplicación funcione correctamente, como la aplicación en sí, los discos compartidos, las direcciones IP virtuales, las interfaces de red y los servicios de red.
Políticas de failover: son las reglas que determinan cómo se gestionan los recursos en caso de un fallo. Las políticas de failover especifican cuándo se debe transferir un grupo de recursos de un nodo a otro y cómo se debe realizar la transferencia.
Comunicaciones: los nodos del clúster se comunican entre sí a través de una red privada para intercambiar información sobre el estado del clúster y los recursos. También se utilizan protocolos de comunicación para sincronizar los discos compartidos.
Herramientas de administración: VCS incluye una serie de herramientas de administración que permiten la monitorización del clúster, la gestión de grupos de recursos y la configuración de políticas de failover. Estas herramientas se pueden utilizar para realizar tareas como la creación de grupos de recursos, la configuración de agentes, la definición de políticas de failover y la monitorización del estado del clúster y los recursos.
Discos compartidos: todos los nodos del clúster tienen acceso a un conjunto de discos compartidos que se utilizan para almacenar los datos y configuraciones de las aplicaciones que se ejecutan en el clúster. Los discos compartidos pueden ser almacenamiento directamente conectado (DAS), almacenamiento conectado en red (SAN) o almacenamiento en la nube.
Nodo principal y nodo de respaldo: cada grupo de recursos se asigna a un nodo principal y a un nodo de respaldo, para garantizar que la aplicación se pueda recuperar rápidamente en caso de un fallo. El nodo principal es responsable de ejecutar el grupo de recursos, mientras que el nodo de respaldo está en espera en caso de que el nodo principal falle.
Funcionamiento de Veritas Cluster
El funcionamiento de Veritas Cluster se basa en el concepto de alta disponibilidad y se centra en garantizar la continuidad de los servicios y aplicaciones en caso de fallos. Esto se logra a través de una combinación de tecnologías de hardware y software.
Cuando se configura Veritas Cluster, se crea un conjunto de nodos (servidores) que comparten discos y recursos, como direcciones IP y servicios de red. Estos nodos se comunican entre sí a través de una red privada y comparten información sobre el estado del clúster y los recursos.
Cada recurso se agrupa en un grupo de recursos y se asigna a un nodo principal y a un nodo de respaldo. El nodo principal es responsable de ejecutar el recurso, mientras que el nodo de respaldo permanece en espera en caso de que el nodo principal falle.
Veritas Cluster también incluye agentes específicos para cada tipo de recurso, que se ejecutan en cada nodo y proporcionan la capacidad de monitorizar y gestionar recursos específicos, como bases de datos, servidores web, servidores de correo, entre otros.
Cuando se produce un fallo en el nodo principal, Veritas Cluster detecta el fallo y realiza automáticamente la transferencia del grupo de recursos al nodo de respaldo. Esto se conoce como failover y se produce de forma transparente para los usuarios, lo que garantiza la continuidad del servicio o la aplicación.
Además, Veritas Cluster también proporciona herramientas de administración para la configuración y gestión del clúster, incluyendo la creación y configuración de grupos de recursos, la definición de políticas de failover y la monitorización del estado del clúster y los recursos.
En resumen, el funcionamiento de Veritas Cluster se basa en la alta disponibilidad y se centra en garantizar la continuidad de los servicios y aplicaciones críticas en caso de fallos. Esto se logra a través de una combinación de tecnologías de hardware y software, incluyendo la detección de fallos, la transferencia automática de recursos y las herramientas de administración.
Creación y configuración de grupos de recursos
La creación y configuración de grupos de recursos de Veritas Cluster es un proceso importante que permite definir los recursos que se van a monitorizar y administrar en el clúster. A continuación, se detallan los pasos para crear y configurar un grupo de recursos en Veritas Cluster:
Identificación de los recursos: lo primero que debe hacerse es identificar los recursos que se van a incluir en el grupo. Estos pueden ser aplicaciones, bases de datos, servicios de red, sistemas de almacenamiento, entre otros.
Configuración de los recursos: una vez identificados los recursos, se debe configurar cada uno de ellos en el nodo en el que se van a ejecutar. Para ello, se utilizan los agentes específicos de Veritas Cluster que permiten monitorizar y administrar cada recurso.
Creación del grupo de recursos: después de configurar los recursos, se crea un grupo de recursos en el que se agrupan todos los recursos relacionados. El grupo de recursos se configura con un nombre y se asigna a un nodo principal y a un nodo de respaldo.
Configuración de las políticas de failover: se definen las políticas de failover, que determinan las acciones que se deben llevar a cabo en caso de que se produzca un fallo en el nodo principal. Estas políticas pueden incluir la transferencia automática del recurso al nodo de respaldo, la notificación por correo electrónico o la ejecución de un script personalizado.
Prueba del grupo de recursos: una vez configurado el grupo de recursos y las políticas de failover, se recomienda realizar pruebas para comprobar que el grupo se comporta de forma adecuada en caso de fallos. Durante estas pruebas, se pueden simular fallos en el nodo principal para comprobar que el recurso se transfiere correctamente al nodo de respaldo.
Monitorización y gestión del grupo de recursos: una vez que se ha configurado el grupo de recursos y se ha probado su funcionamiento, es importante monitorizar y gestionar el grupo de recursos de forma regular para garantizar la continuidad del servicio y la aplicación.
Políticas de failover en Veritas Cluster
Las políticas de failover en Veritas Cluster definen las acciones que se deben llevar a cabo en caso de que se produzca un fallo en el nodo principal de un recurso. Estas políticas se configuran en el grupo de recursos y determinan el comportamiento del clúster en caso de fallos. Algunas de las políticas de failover más comunes en Veritas Cluster son las siguientes:
Automático: esta política es la más utilizada y consiste en la transferencia automática del recurso al nodo de respaldo en caso de que se produzca un fallo en el nodo principal. El failover se realiza de forma automática y transparente para el usuario, y se restablece el servicio o aplicación en el nodo de respaldo.
Manual: esta política implica que la transferencia del recurso al nodo de respaldo se realiza de forma manual por el administrador del clúster. En este caso, el administrador del clúster recibe una notificación del fallo en el nodo principal y debe realizar la transferencia del recurso al nodo de respaldo manualmente.
Preferencia de nodo: esta política permite especificar el nodo de destino preferido para el failover. En caso de que se produzca un fallo en el nodo principal, el recurso se trasladará al nodo preferido en lugar del nodo de respaldo predeterminado.
Preferencia de sitio: esta política se utiliza en entornos de clústeres geográficamente distribuidos. Permite especificar el sitio preferido para la ejecución del recurso y, en caso de que se produzca un fallo en el sitio principal, se traslada el recurso al sitio preferido.
No fallar: esta política se utiliza para recursos que no deben fallar bajo ninguna circunstancia. Si se produce un fallo en el nodo principal, se realiza la transferencia del recurso al nodo de respaldo, pero si el nodo de respaldo falla también, no se produce el failover y el recurso permanece inactivo.
Herramientas de administración y monitorización
Veritas Cluster ofrece varias herramientas para la administración y monitorización del clúster. Algunas de las herramientas más comunes son las siguientes:
Veritas Cluster Manager: es una herramienta gráfica que permite la gestión y monitorización del clúster de forma intuitiva y visual. Ofrece una vista en tiempo real del estado del clúster, incluyendo la configuración de los grupos de recursos, los nodos del clúster y los recursos individuales. Además, permite realizar tareas de administración, como la creación y eliminación de grupos de recursos, la configuración de políticas de failover y la realización de pruebas de conmutación por error.
Command line interface (CLI): Veritas Cluster también ofrece una interfaz de línea de comandos para la administración del clúster. La CLI proporciona una gran cantidad de opciones para configurar y monitorizar el clúster, y es especialmente útil para la automatización de tareas y scripts.
Veritas Cluster Server Management Console (VCSMC): esta herramienta proporciona una vista centralizada de la configuración del clúster, lo que permite a los administradores ver y gestionar todos los recursos del clúster desde una sola consola. La VCSMC también proporciona acceso a funciones avanzadas, como la monitorización de recursos y nodos individuales, la creación y eliminación de grupos de recursos y la configuración de políticas de failover.
Veritas Cluster Manager Simulator: es una herramienta que permite a los administradores probar y validar la configuración del clúster sin afectar al entorno de producción. Con el simulador, se pueden probar diferentes configuraciones de clúster, grupos de recursos y políticas de failover, lo que ayuda a minimizar el riesgo de fallos y a reducir el tiempo de inactividad en el entorno de producción.
Ejemplos de casos de uso de Veritas Cluster
Veritas Cluster se utiliza en una amplia gama de entornos empresariales para garantizar la alta disponibilidad de los recursos críticos. Algunos de los casos de uso más comunes incluyen los siguientes:
Servidores de bases de datos: Veritas Cluster se utiliza con frecuencia en entornos de bases de datos para garantizar la alta disponibilidad y el rendimiento de las aplicaciones críticas. En estos casos, el clúster se utiliza para garantizar que la base de datos se ejecute continuamente en caso de fallo en el nodo principal, lo que minimiza el tiempo de inactividad y reduce el riesgo de pérdida de datos.
Servidores de aplicaciones: Veritas Cluster también se utiliza en entornos de servidores de aplicaciones para garantizar la alta disponibilidad y el rendimiento de las aplicaciones empresariales. En estos casos, el clúster se utiliza para garantizar que la aplicación se ejecute continuamente en caso de fallo en el nodo principal, lo que minimiza el tiempo de inactividad y reduce el riesgo de pérdida de datos.
Entornos de virtualización: Veritas Cluster también se utiliza en entornos de virtualización para garantizar la alta disponibilidad y el rendimiento de las máquinas virtuales. En estos casos, el clúster se utiliza para garantizar que las máquinas virtuales se ejecuten continuamente en caso de fallo en el nodo principal, lo que minimiza el tiempo de inactividad y reduce el riesgo de pérdida de datos.
Servidores de correo electrónico: Veritas Cluster se utiliza con frecuencia en entornos de correo electrónico para garantizar la alta disponibilidad y el rendimiento de los servidores de correo electrónico. En estos casos, el clúster se utiliza para garantizar que el servidor de correo electrónico se ejecute continuamente en caso de fallo en el nodo principal, lo que minimiza el tiempo de inactividad y reduce el riesgo de pérdida de datos.
Caso práctico: Configuración de un cluster de base de datos que pueda balancear entre dos nodos
Para configurar una base de datos que pueda balancear entre dos nodos en Veritas Cluster, se pueden utilizar los siguientes comandos:
- Crear el grupo de recursos:
hagrp -add <nombre_del_grupo>
- Agregar el recurso de IP:
hagrp -modify <nombre_del_grupo> AutoStartList IP <nombre_de_la_IP>
hagrp -add <nombre_del_grupo> IP <nombre_de_la_IP>
- Agregar el recurso de sistema de archivos:
hagrp -modify <nombre_del_grupo> AutoStartList Mount <nombre_del_FS>
hagrp -add <nombre_del_grupo> Mount <nombre_del_FS>
- Agregar el recurso de la base de datos:
hagrp -add <nombre_del_grupo> Oracle <nombre_de_la_base_de_datos>
hagrp -modify <nombre_del_grupo> Oracle <nombre_de_la_base_de_datos> UAgentStartTimeout 1800
- Configurar el recurso de la base de datos para balancear entre los nodos:
hares -modify <nombre_de_la_base_de_datos> PreferredServer <nombre_del_nodo_preferido>
hares -modify <nombre_de_la_base_de_datos> AlternateServer <nombre_del_nodo_alternativo>
- Verificar el estado del grupo:
hagrp -state <nombre_del_grupo>
Con estos comandos, se puede configurar una base de datos que puede balancear entre dos nodos en Veritas Cluster. Cabe destacar que es importante seguir las guías de instalación y configuración de Veritas Cluster, y que estos comandos son solo un ejemplo básico de cómo configurar un grupo de recursos.
En los comandos anteriores, no se especifica el script de arranque de la base de datos. Sin embargo, en la configuración de un recurso Oracle en Veritas Cluster, es necesario especificar el script de arranque de la base de datos.
Para hacerlo, se debe agregar la opción «StartList» al comando «hagrp -add», con el nombre del script de arranque de la base de datos:
hagrp -add <nombre_del_grupo> Oracle <nombre_de_la_base_de_datos> StartList "<ruta_del_script_de_arranque>"
El script de arranque especificado debe ser capaz de iniciar la base de datos en el nodo en el que se está ejecutando y configurar el entorno para el inicio de la base de datos.
Cabe destacar que la configuración exacta de los scripts de arranque de la base de datos dependerá de la configuración específica de la base de datos y puede variar de un entorno a otro. Por lo tanto, es importante seguir las guías de instalación y configuración de Veritas Cluster y la documentación de la base de datos para configurar correctamente el script de arranque.
En resumen, Veritas Cluster se utiliza en una amplia gama de entornos empresariales para garantizar la alta disponibilidad y el rendimiento de los recursos críticos. Su uso puede reducir el riesgo de tiempo de inactividad y pérdida de datos, lo que a su vez mejora la continuidad del negocio y la satisfacción del cliente.