| Artículos | 01 OCT 2006

Servicios más seguros sin complicaciones

Tags: Histórico
Juan Blázquez.
En Windows, para disponer de algunos servicios instalados en tolerancia a fallo y distribución de carga no hay necesidad de duplicar exactamente el hardware de servidor, contar con almacenamiento externo, ni hacer complejas configuraciones.

El ordenador y la actividad que los usuarios desarrollan a través de esta herramienta, son cada día más críticos. Sea cual sea el área de negocio de la organización y su tamaño, cada vez es mayor la necesidad de los responsables de cualquier sistema de implementar los servicios a su cargo con medidas de tolerancia a fallo y balanceo de carga, para lo que no siempre existe equipamiento, licencias o presupuesto.
La solución tradicional que se viene aplicando, con excelentes resultados, para conseguir configuraciones de alta disponibilidad y rendimiento es montar servidores en “racimo”, en cluster. Un cluster es un grupo de servidores independientes que ejecutan un conjunto común de programas y que se muestran en la red como un único servidor. Así, por ejemplo, un cluster de correo consiste en varios equipos que ejecutan todos el mismo programa de mensajería, agrupados bajo un nombre simbólico o dirección IP. Para acceder al correo, los usuarios conectan con ese nombre o dirección. No acceden a un servidor físico en concreto. La distribución de las peticiones para que sean atendidas por uno u otro servidor del grupo, se encarga de realizarla el programa de cluster que se ejecuta sobre los servidores agrupados, que gestiona su funcionamiento coordinado. El cluster es una entidad totalmente transparente para el usuario.
De esta forma, según el programa de cluster implementado y su configuración, cuando todos los servidores del grupo están en funcionamiento, el trabajo se puede repartir entre todos ellos y en el caso de que alguno falle, otro de los equipos del conjunto puede asumir automáticamente sus funciones, sin que exista interrupción en los programas que ejecutan coordinadamente. Para conseguir este funcionamiento, es necesario disponer de software que gestione el grupo. Y un hardware que permita esas facilidades, normalmente equipos gemelos, conectados a almacenamiento externo común, como puede ser por iSCSI, tecnología ya comentada recientemente.

Cluster en Windows
Con servidores en Microsoft Windows 200x es posible montar programas en cluster mediante Microsoft Cluster Services, MSCS, software incluido junto con el sistema operativo, según versiones. Al habilitar este software en los servidores Windows, nodos, los programas se instalan y configuran sobre ellos para utilizar estos servicios. Se “clusterizan” de forma que uno de los nodos se hace cargo de las peticiones cliente y en caso de fallo, su trabajo lo asume otro nodo automáticamente. La configuración de los programas se puede hacer en activo/pasivo, uno de los nodos no tiene ningún trabajo y sólo espera el fallo del nodo principal. Activo/activo, el nodo principal atiende el servicio y está respaldado por otro nodo que, además de esperar su fallo para tomar el relevo, puede encargarse de otros trabajos relacionados. Una configuración híbrida, es aquella que combina las características del modo activo/pasivo con activo/activo, normalmente para alojar distintos programas. Microsoft soporta la configuración en cluster sobre servidores que sean idénticos en todos los nodos que compongan el cluster, con acceso al mismo almacenamiento externo, cabinas de discos SCSI o en red, tipo NAS o SAN, y que dispongan de al menos 2 tarjetas de red.
Aunque los requerimientos de hardware y software necesarios para montar un cluster Microsoft son en la actualidad relativamente asequibles, este tipo de configuración suele superar las expectativas y capacitación de entornos pequeños, con presupuestos reducidos y en otros muchos casos, resultar una solución sobredimensionada para las necesidades reales que se quieren cubrir para determinados programas. La alternativa para disponer de algunos de los beneficios de cluster sin arrastrar los inconvenientes de su implementación, también se encuentra en el sistema operativo Windows: Network Load Balance, NLB. O lo que es lo mismo, Equilibrio de Carga de Red.
Esta función la incluye de serie Microsoft en todas las versiones de servidor a partir de Windows 2000. En esencia se trata de un agente que se enlaza a la tarjeta de red. Se carga en varios equipos y, a través de una configuración común, estos pueden responder como un cluster. El agente NLB emplea un algoritmo de filtrado para distribuir las peticiones entrantes de cliente entre los miembros del grupo. Para detectar situaciones de fallo, cada agente emite un “latido” a los otros miembros del cluster para advertir de su presencia y disponibilidad. Si transcurren más de 5 segundos del último latido de uno de los servidores, el resto converge para eliminar a ese servidor del grupo y excluirle de la distribución de las peticiones de cliente. La principal diferencia entre NLB y MSCS hay que localizarla en su propuesta. El Servicio de Cluster está orientado a proporcionar alta disponibilidad en sistema operativo y programas críticos complejos, mientras que el agente de Equilibrio de Carga de Red está pensado para distribuir carga dinámicamente para servicios específicamente TCP/IP. Mientras que el primero puede agrupar, según versión del sistema operativo, hasta 8 nodos, el segundo puede agrupar un máximo de 32 servidores.
Muchos de los servicios IP disponibles en una red son susceptibles de trabajar con esta configuración de red que propone Microsoft. Sobre el papel, todos aquellos servicios que no dependan de los datos de sesión, pueden implementarse con NLB. Esta limitación es consecuencia directa de su modo de funcionamiento. Los servidores agrupados en este tipo de cluster no comparten almacenamiento, por lo que los datos manejados por un servidor en un instante dado no pueden ser conocidos por otros. Esta restricción, no obstante, puede superarse programando, para que los datos de sesión se mantengan en un servidor fuera del cluster. La programación también puede evitar la limitación que supone para algunos aplicativos que NLB sólo detecte fallos a nivel de red, no detecta la falta de disponibilidad a nivel de programa. La sencillez de su implementación y de los medios que utiliza no da respuesta a todas las situaciones de cluster. En determinadas situaciones hay que recurrir a MSCS.
A pesar de sus limitaciones, el cluster con Equilibrio de Carga de Red proporciona unos beneficios que le hacen una alternativa idónea para obtener soluciones robustas concretas en las que se conjuguen tolerancia a fallo, alto rendimiento, sencillez de manejo y facilidad de ampliación, sin incurrir en costosas implementaciones de hardware y soporte. Si bien no resulta una configuración sólida válida para toda situación, como pueda serlo el Servicio de Cluster, sí proporciona una mayor capacidad respecto a otras alternativas estándar, como puede ser la distribución de carga por rondas, Round Robin, que se implementa con el servicio de resolución de nombres, DNS.

Configuración del cluster NLB
La secuencia de configuración de un cluster NLB es rápida y sencilla, sin apenas complicaciones. Lo primero, instalar y configurar el sistema operativo y programas en los equipos que formarán el cluster, tratando de mantener lo más parecida posible la configuración de todo el software, con la idea de facilitar su mantenimiento y gestión. La configuración de los programas no requiere, a priori, ninguna c

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información