Por colaboradores de Mundo Ingenio
Actualmente, se administran grandes cantidades de datos, información que se obtiene de distintos sistemas, misma que se procesa en servidores, en el caso de que un sistema cliente lo requiera. Por otra parte, existen varias formas de configuración de sistemas que se dedican a gestionar datos que se transmiten mediante la red, lo cual pasa en la mayoría de los casos, pues no todas las empresas pueden administrar un equipo con dicho propósito, entonces, emplean o consumen recursos de terceros para almacenar sus datos y contenerlos en un sistema con las capacidades de proveerles transferencia de datos de manera confiable y segura.
A continuación, se van a sintetizar algunos términos referentes al campo de la computación que se encarga de optimizar el procesamiento de datos con el objetivo de que las computadoras puedan manejar la información rápida y eficiente para múltiples tareas.
Específicamente, se va a ejemplificar, mediante la práctica, la teoría referente a un sistema o herramienta capaz de configurarse para proveer alta disponibilidad (servidores) con propósitos específicos. También, se van a describir las principales funcionalidades y propósito y algunos parámetros, como el control de fallas y otros, que califican a la herramienta de alta disponibilidad.
Por último, se va a mostrar a través de un diagrama el ambiente correspondiente que se visualiza en el entorno de alta disponibilidad de servidores.
Cada elemento o parámetro detallado a continuación se basa en el conocimiento adquirido de la temática del presente curso, pero, se extiende al conocimiento, documentación, investigaciones de autores especialidades en el tema cuestionado, todos referenciados apropiadamente, con el objetivo de ampliar el conocimiento e indicar de forma apropiada los fundamentos correspondientes.
Desarrollo
1. Nombre y explicación detallada de la herramienta (detalle el ambiente y sistemas operativos de servidores soportados)
Seguidamente, se describe una herramienta o sistema configurado para suministrar servicios de alta disponibilidad. El nombre de la herramienta que se propone es el servicio de “Heartbeat” con el sistema de Linux HA. Este sistema, según el autor Programmerclick (2021), Heartbeat es un subproyecto de Linux HA de código abierto, con gran alcance a nivel mundial. Este sistema está diseñado para que “Proporcione una solución de clúster que mejore la confiabilidad, disponibilidad y capacidad de servicio (RAS) de Linux, que implementa un sistema de clúster de alta disponibilidad”. Ciertamente, esta herramienta es un servicio que funciona en conjunto con otros elementos que cumplen con la función de proporcionar un ambiente de servidores de alta disponibilidad. Entre algunas de las principales características que califican este sistema se listan a continuación; el servicio así como algunos otros sistemas suelen tener varias versiones, y este no es la excepción, en este caso en particular se va a mostrar los elementos de las versiones 1, 3 y algunas de la versión 3. En primera instancia algunos de sus principales componentes: versión 1 y 2;
- Latido: módulo de detección de comunicación entre nodos.
- Ha-logd: servicio de registro de eventos del clúster.
- CCM (Consensus Cluster Membership): módulo de gestión de coherencia de los miembros del clúster.
- LRM (Administrador de recursos locales): módulo de gestión de recursos locales.
- Stonith Daemon: desconecte o reinicie el nodo problemático del entorno del clúster.
- CRM (gestión de recursos de clúster): módulo de gestión de recursos de clúster.
- Motor de políticas de clúster: motor de políticas de clúster.
- Motor de transición de clústeres: motor de transición de clústeres (también llamado motor de ejecución de estrategias).
Por otro lado, en la versión del sistema 3, los elementos que la componen son los siguientes: Heartbeat (mantiene la información de cada nodo en el clúster y su comunicación anterior); Clúster Glue (empleada para la asociación del latido y el marcapasos, se divide en dos partes: LRM y STONITH); Agente de recursos (es una conjunto de scripts que gestionan el inicio y final del servicio, al igual controla su estado); Pacemark (es un CRM que administra el centro de control HA, donde el cliente utiliza el marcapasos para administrar, configurar y monitorear todo el clúster), (Programmerclick, 2021).
El mismo autor presenta en formato de imagen unas imágenes de la distribución del componente, de nombre “Pacemaker” y el clúster Heartbeat, en cuanto a su vínculo con otros elementos. A continuación y con la intención de esclarecer como se visualiza y distribuyen algunos de los componentes del servicio de alta calidad, se muestran las imágenes correspondientes (Imagen 1, Imagen 2).
Imagen 1
Imagen: Pacemaker y su relación con otros componentes
Autor: Programmerclick (2021).
Imagen 2
Imagen: Clúster Heartbeat y su relación con otros componentes
Autor: Programmerclick (2021).
En cuanto a los servidores que la herramienta Linux HA y los elementos más significativos mencionados antes. Al ser codificación abierta, es diseñada en primera instancia para sistemas operativos con núcleo de UNIX, sin embargo, se puede utilizar el servicio de Heartbeat en sistemas operativos como Windows (varias versiones). Un ambiente de sistemas operativos con servicio de alta disponibilidad como Linux HA pueden emplear distribuciones de GNU Linux, tales como Ubuntu Server 20.04 LTS (algunas otras versiones), Red Hat Enterprice Linux, SUSE Linux Entreprice Server, entre otros.
A continuación se listan algunas de los parámetros del sistema operativo Ubuntu Server 20.04 LTS, con base en la lectura del autor Stackscale (2021):
- Instalaciones automatizadas de servidores.
- Mejoras en el arranque del sistema.
- Uso de encriptación e información de fallos.
- Actualizaciones de versiones como: QEMU 4.2, Python 3.8, PHP 7.4, Ruby on Rails 5.2.3, libvirt 6.0, Open vSwitch 2.13, entre otros.
- Referente a HA y Clúster, incluye Kronostnet como protocolo de red subyacente para componentes de Linux HA.
2. Principales funcionalidades de la herramienta de alta disponibilidad.
Entre las principales funcionalidades de la herramienta descrita en el punto anterior, el autor Programmerclick (2021); se listan y describen a continuación;
- Una es la supervisión de recursos en automático: se preestablece el estado de operación de recursos modificable por minutos,
- Otra es, seguimiento independiente de cada grupo de recursos: por ejemplo, Apache y Mysql en nodos diferentes y Heartbeat realiza su gestión de dos hosts al mismo tiempo,
- Otra función es, monitoreo simultáneo de la carga del sistema, donde tiene la capacidad de cargar al nodo con menos carga,
- También, administración de recursos de CRM agregado, mismo que permite una gestión de latidos de corazón con una interfaz gráfica especifica.
3. ¿En qué consiste el monitoreo de servidores en alta disponibilidad?
Seguidamente, se plantea de manera general de la monitorización de servidores en un ambiente de alta disponibilidad. Con base en la lectura “Modelo administrativo para gestión de servidores Linux, implementando mecanismos de seguridad y tecnologías de software libre orientadas a la alta disponibilidad” de los autores Flórez, Manuel, Barbosa, Muñoz y Elkin (2012), expone en la sección de “administración del clúster de alta disponibilidad”, como se gestiona el monitoreo constante de los servicios para verificar su buen estado y correcto funciona. Los autores explican que el servicio tiene una interfaz gráfica de administración CRM, mismo que esta programo con los algoritmos necesarios para gestionar el control del clúster, más adelante dice:
“Paralelamente usando una tarea automatizada de notificaciones sobre la caída de algún nodo, es posible mantener el control sobre el clúster y asegurar que los servicios se mantendrán disponibles.” (pág. 233).
4. Explique en qué consiste los estados activo-pasivos en configuraciones de servidores en alta disponibilidad.
Referente a los estados activos y pasivos con configuraciones de servidores de alta disponibilidad, seguidamente se describe el fundamento. Con base en el autor Programmerclick (2021), donde menciona en su lectura “Explicación detallada de Heartbeat del clúster de alta disponibilidad (HA) de Linux” que los estados de activo y pasivo hace alusión a una topología arquitectónica con una lógica de nodos maestro/esclavo. Un nodo o servidor maestro está configurado con las características de estar en un estado activo respecto a algún servicio en específico; por otra parte, un servidor esclavo se configura con la intención de estar a la espera del mismo servicio, es decir en un estado pasivo. Ambos servidores están programados para cumplir con las mismas funciones, es decir que cuando el nodo maestro o en estado activo falla, el servidor en estado pasivo o nodo esclavo toma su responsabilidad para continuar ejecutando los servicios. En fin, el servicio que provee la herramienta de alta disponibilidad no va a detenerse y el cliente no va a notar la diferencia, lo que brinda un servicio seguro u confiable respecto a la transferencia de archivos/datos/paquetes.
5. Explique y muestre detalladamente cómo se lleva a cabo con la herramienta seleccionada el control de fallas.
Referente a la administración de fallas del sistema, en el caso de la herramienta detallada con anterioridad, el autor Acevedo (2015), especifica el funcionamiento de la siguiente forma.
En el caso Linux-Ha utiliza los servicios, en el caso propuesto, de Heartbeat, mismo que se encarga de enviar paquetes ICMP o popularmente conocido como latidos de corazón, los cuales verifican si el servidor maestro está activo o no; este ping o paquete debe ser respondido por el servidor principal para cerciorarse de su estado, en el caso particular de que la respuesta sea negativa los servicios de Heartbeat envían el mensaje correspondiente al servidor secundario para proceder a su activación.
Además, cada servidor realiza encuestas periódicas o monitoreo de los recursos que tiene bajo su control para la verificación de algún tipo de fallo.
En resumen, los servicios de Heartbeat instalados en los servidores, que forman parte del ambiente de alta disponibilidad, con la configuración correspondiente, van a estar disponibles en caso de cualquier fallo; mediante la transferencia de paquetes que cuestionan al servidor si está en la capacidad de funcionar o cumplir con sus objetivos, si la respuesta es positiva el sistema continúa, por el contrario se sustituye al nodo maestro por el nodo en espera o pasivo, pero en ambos casos los servicios hacen regularmente sondeos para asegurarse de que el nodo principal está activo o no y colocar al secundario a hacer su labor.
6. ¿En qué consiste el método de configuración de clúster? Explique y muestre de qué forma se realiza se permite configurar en la herramienta. Puede basarse en la tabla 18.2 de la página 696 del libro de texto, sin embargo, amplíe su respuesta.
A continuación, se muestra y describe la configuración de la herramienta de alta disponibilidad, servicios de Hearbeat con Linux HA. Se toma como base la lectura de los autores Sánchez, Mosquera, y Vejarano (2021); y también la lectura del autor Stallings (2005) y el video del autor del canal Sentinela (2018).
Son varios parámetros y aspectos que se deben tomar en cuenta al momento de configurar un ambiente de alta disponibilidad, desde un sistema operativo dedicado configurado como servidor y los propósitos que debe cumplir, contar con más de un nodo o servidor con la misma programación, un gestor del sistema que se encargue de administrar ambos nodos, hasta una red configurada de la manera correspondiente.
Según el autor Stallings (2005), hay varios componentes y técnicas que suelen utilizarse cuando se configuran clúster en un ambiente de alta disponibilidad. Entre algunas de las técnicas de configuración que el autor destaca se encuentran, la espera pasiva, secundario activo, servidores separados, servidores conectados a discos, servidores compartiendo discos. Referente al primero de ellos, significa que un servidor secundario siempre esta a la espera en caso de que el servidor primario falle, para tomar su labor. Alusivo a secundario activo, el mismo autor más adelante menciona que un servidor secundario igualmente se puede emplear para otras tareas de proceso. Referente al tercer componente, cuando se habla de servidores separados se refiere a que cada uno tiene su propio disco, copiándose los datos del servidor primario al secundario. Concerniente a servidores conectados a discos, esto pasa cuando los servidores se conectan al mismo disco, sin embargo, cada servidor tiene sus propios discos, esto facilita el ingreso a los discos en caso de fallo. Por último, servidores compartiendo discos, es cuando se habla cuando que los servidores comparten el mismo disco pero al mismo tiempo.
Por otra parte, los autores Sánchez, Mosquera, y Vejarano (2021) y canal Sentinela (2018), mencionan algunos de los principales componentes y configuraciones precisas que son necesarias para la creación de un ambiente de alta disponibilidad, en uno relativamente pequeño, uno que también se muestra como forma de ejemplo, también este ejemplo que se muestra monta mediante la virtualización de varios de sus componentes, en este caso en particular se expone el uso de los servicios de Heartbeat y Linux HA. Es necesario sumar un par de servidores con un sistema operativo específico (Ubuntu Server 18.04), tarjetas de red en modo puente, Putty y Heartbeat.
Ahora, uno de los servidores se configura como maestro para que tenga un estado de activo y cumpla con las especificaciones con las que se programa, transmisión de datos; también el segundo servidor o nodo se configura para que mantenga un estado de pasivo para que tome el lugar del servidor primario si llega a caerse. En el caso de Heartbeat, se procede a su instalación para brindar sus servicios, mismos que los especifican de la siguiente manera sus mismos creadores Linux-Ha (2010) en su sitio web oficial “linux-ha.org”, Heartbeat es proporcionar servicios de infraestructura de clúster (comunicación y pertenencia) a sus clientes. Esto permite a los clientes conocer la presencia (¡o la desaparición!) de procesos pares en otras máquinas e intercambiar fácilmente mensajes con ellos; y, por otro lado, los servicios deben combinarse con un gestor de recursos de clúster (CRM) que tenga la tarea de iniciar y detener los servicios (direcciones IP, servidores web, etc.) que el clúster hará altamente disponibles. Pacemaker es el gestor de recursos de clúster preferido para los clústeres basados en Heartbeat.
En cuanto al funcionamiento del servicio, se crea un “index.html” para comprobar que el servicio del sitio web, de manera local se procede a abrir la página para comprobar cuál de los servidores, dependiendo de la IP correspondiente, e igualmente se deshabilita el funcionamiento del nodo activo para colocar los servicios del que está en forma pasiva.
7. Realice un diagrama en una herramienta a su elección de cómo debe verse un ambiente en alta disponibilidad para un conjunto de servidores. Considere: balanceo de cargas, servidores, estado activo-pasivo y configuración paralela.
A continuación, se muestra un diagrama del despliegue de la herramienta propuesta con nombre “Linux HA” que utiliza los servicios de Heartbeat y otros componentes, en un ambiente de servidores de alta disponibilidad, con base en la lectura del autor Acevedo (2015), donde menciona algunas propiedades alusivas a la información de los elementos del diagrama, tales como su conceptualización, componentes, entre otros. Se emplea el sistema de nombre “Cisco Packet Tracer” para diseñar el diagrama. El diagrama se presenta en modo de imagen (Imagen 1).
Imagen 1
Diagrama: “ambiente de alta disponibilidad de servidores”
Autor: propio
Es relevante destacar que se fundamentan los componentes con las recomendaciones propuestas en el cuestionamiento, tales como servidores, balanceo de cargas, estado activo-pasivo mencionado en el punto 4 y configuración paralela.
Conclusiones
Como primera conclusión, generalmente se logra alcanzar con éxito la compilación de algunas de los parámetros más significativos referentes a sistemas que proveen servicios de alta disponibilidad, que involucran el área de la optimización de un sistema computacional. De forma específica, se consigue mostrar, a través de la práctica, la teoría alusiva a una herramienta configurada de alta disponibilidad (servidores) con propósitos específicos. Igualmente, se describieron los principales propósitos y algunas características, destacables tales como el control de fallas y algunas otras, que identifican a una herramienta de alta disponibilidad.
En segundo lugar, un tema considerable y sobresaliente es la configuración específica y eficiente de servidores de alta disponibilidad, respecto al rendimiento y seguridad del sistema y como gestiona una cantidad de datos bastante amplia en la red, en el caso de un clúster conectado a una red por ejemplo.
Como tercera conclusión, el sistema o herramienta empleada para la descripción del tema en cuestión, arroja resultados valiosos para el uso eventual de los mismos y de esta manera disponer de los recursos de una manera optimizada.
Referencias Bibliográficas
Acevedo, D. (2015). Alta disponibilidad-con-heartbeat. Recuperado de https://es.slideshare.net/DavidAcevedo13/alta-disponibilidadconheartbeat
Canal Sentinela. [Ing. Héctor Ábrego] (15 de noviembre del 2018). CLÚSTER – Alta disponibilidad – ¿Cómo crear un clúster de alta disponibilidad?. [Video]. YouTube. https://www.youtube.com/watch?v=iPOOlSeEeP8
Flórez, B., Manuel, G., Barbosa, A., Muñoz D., Elkin, D. (2012). Modelo administrativo para gestión de servidores Linux, implementando mecanismos de seguridad y tecnologías de software libre orientadas a la alta disponibilidad. [archivo PDF]. Recuperado de https://www.redalyc.org/pdf/5537/553756872008.pdf
Linux-Ha. (2010). Heartbeat. Recuperado de http://www.linux-ha.org/wiki/Heartbeat
Programmerclick. (2021). Explicación detallada de Heartbeat del clúster de alta disponibilidad (HA) de Linux. Recuperado de https://programmerclick.com/article/94841024169/
Sánchez, T., Mosquera, D., y Vejarano, R. (2021). CLÚSTER DE ALTA DISPONIBILIDAD CON HEARTBEAT. [archivo PDF]. Recuperado de https://ridda2.utp.ac.pa/bitstream/handle/123456789/13361/Guia-Cluster-Alta-disponibilidad.pdf?sequence=1&isAllowed=y
Stackscale. (2021). Ubuntu 20.04 LTS: seguridad y rendimiento mejorados. Recuperado de https://www.stackscale.com/es/blog/ubuntu-20-04-lts/#Ubuntu_Server_2004
Stallings, W. (2005). Organización y Arquitectura de Computadoras. [archivo PDF] Recuperado de http://biblioteca.univalle.edu.ni/files/original/c1b1f5d1c12abc60a246e2a0d784f7c9d163ee81.pdf