Balanceo de Carga con Windows 2000 AS

Os proponemos un tutorial desarrollado por ADSLNet para configurar un sistema de Balanceo de Carga con Windows 2000 Advanced Server.


Para los que están decididos a montar sobre su intranet, un gran servidor dedicado, con grandes necesidades de recursos.


Es importante tener en cuenta, que las condiciones ideales pasarían por disponer de una línea ADSL de 2Mpbs, puesto que con modalidades de caudal más pequeño, antes de llegar a la saturación de los servidores, y necesitar un balanceo de carga, se agotaría la capacidad de servir peticiones, por saturación del ancho de banda.


Nota: Este artículo no es para repartir el tráfico saliente hacia internet desde la red local. Es decir, este sistema no es para hacer que cada uno de los ordenadores de la intranet utilicen el 25% del ancho de banda del que dispone vuestra conexión.


Sigue leyendo …

Lo primero que queremos
advertir es que en este artículo se tratarán aspectos que quizás
resulten un poco técnicos.

La idea de este artículo es construir
un sistema de balanceo de carga, entre varios servidores. Es decir,
por qué se necesita un sistema de Load Balancing, como
comunmente se conoce.

La respuesta, es porque cuando los
servidores corren aplicaciones en su parte back-end, o aplicaciones
que corren en el servidor, incluso las bases de datos, sistemas de
indexación, o similares, para dar una respuesta a un usario, de una
petición web que ha hecho, los servidores deben realizar un gran
trabajo. Pongamos por ejemplo, la generación de los contenidos
dinámicos de páginas JSP, con accesos a base de datos, Oracle, DB2,
MySQL, etc.

Lo que se intenta construir es un
sistema que permita enviar las peticiones hechas, por los usuarios via
web, a más de 1 máquina, y en concreto si puede ser a aquellas, que
técnicamente por el hardware estén mejor preparadas, o simplemente
haciendo un reparto equitativo de la carga.

Nota: Para linux, unix, haremos
comentarios, relacionados, pero realizaremos artículos en breve
utilizando otros softwares GNU

Para nuestro ejemplo supongamos que
tenemos una red de 4 ordenadores. Todos ellos con Windows 2000
Advanced Server. Podemos suponer que utilizaremos una línea ADSL, de
aproximadamente 2 Mbps, que aporte el suficiente caudal, cómo para que
la necesidad del sistema de balanceo, tenga sentido, puesto que en
conexiones de menos caudal, es probable, que antes se agote, el ancho
de banda de la línea, cuando haya muchas peticiones, que realmente el
servidor web llegue a saturarse.

Asimismo suponemos que tenemos
instalada una base de datos Oracle o MySQL, con los sistemas de
replicación activados entre ellos, para mantener la consistencia de
los datos en ambos servidores, o pudiendo por qué no, utilizar un
armario de discos compartidos, en cuyo caso los datos son compartidos
y no necesitan ser replicados entre diferentes servidores.

Por tanto nuestro sistema se enfrente
a servir páginas web, previa generación de las mismas con contenidos
dinámicos, provinentes de bases de datos, o de cálculos realizados
como consecuencia de las peticiones.

¿Cómo funcionan la mayoría de los
softwares de balanceo de carga?

Bueno brevemente no es complicado de
explicar, aunque en detalle podríamos pasar horas. Básicamente el
sistema se sirve de una dirección IP Virtual, a la que a partir de
ahora denominaremos VIP (Virtual IP)

Esta VIP queda definida de forma
local en cada uno de los nodos que forman parte del cluster de
servidores, de tal forma que cualquier nodo es capaz de reconocer
dicha IP, aunque sea virtual, y técnicamente no esté asignada
directamente al interfaz de red. Pero si que hay que añadirla en el
Protocolo TCP/IP de cada nodo, como una segunda IP. Se añade
directamente en las propiedades del TCP.

Por tanto para el cluster de
servidores esta direccion VIP será su centro de trabajo. Supongamos
que dibujamos 4 ordenadores, los metemos en un círculo, y fuera del
círculo a modo de título, ponemos la dirección VIP. Como cuando eramos
pequeños, hemos definido el Conjunto VIP, que contiene 4 ordenadores.
Es decir mediante 1 única IP, somos capaces de manejar 4 ordenadores.

Una vez dicho esto echemos un vistazo
a las opciones del Panel de Control de Red para activar el Balanceo de
Carga.

Aquí activamos el sistema de Balanceo
de Carga, y pulsamos en las propiedades del servicio.

Definamos ahora los parametros de
nuestros nodos.

Cada uno de los 4 ordenadores tendrán
las siguientes IP’s:

192.168.1.1

192.168.1.2

192.168.1.3

192.168.1.4

Todos ellos con máscara de subred:
255.255.255.0

Nuestra VIP será: 192.168.1.100

En esta ventana configuraremos en
todos y cada uno de los nodos del cluster, que la dirección IP
Primaria es la VIP que hemos definido, es decir 192.168.1.100, máscara
de subred 255.255.255.0.

El nombre completo de internet, es
muy importante, porque es el que reenviará las peticiones desde la IP
pública, hacia nuestra IP Virtual, antes de que cualquier petición sea
respondida por un nodo.

Por ejemplo dominio.com que traduce
la IP 212.184.35.76. Obviamente suponemos que externamente utilizamos
un router, así que lo que haremos via NAPT es redirigir todo el
tráfico del router, o todos aquellos puertos que queramos a la VIP que
hemos definido.

De momento obviaremos los otros
parametros.

Pasamos a la siguiente carpeta.
Carpeta de los Parametros del Host.

 

 

La IP que indicamos aquí es la IP del
tarjeta de red del nodo en el que nos encontramos, con su más cara de
red.

El ID del nodo, es muy importante,
debe ser único para cada nodo, y nos permitirá, en las reglas de
balance poder redirigir el tráfico sobre un determinado puerto
directamente a un host concreto.

Por ejemplo, se podría definir, que
para el puerto de escucha de MySQL Server, todas las peticiones que
lleguen al cluster se envíen a los nodos 2 y 3.

Mientras que para el puerto 80 de la
Web, contestarán, todo ellos.

El nodo puede quedar ya activo.

Este proceso se realizará en todos
los nodos, y en la última carpeta de esta misma ventana, se definen
las Reglas de Balance.

Aquí ponemos varios simples ejemplos,
que obviamente deben ser ajustados para cualquier otro sistema

Así el sistema puede ser balanceado
de un forma equitativa.

Puede ser balanceado, en función de
la carga que tenga el sistema.

O puede ser balanceado por
prioridades, enviando como en este ejemplo, todo el tráfico al nodo
nº1 y enviando al nodo nº3 todo el tráfico por el puerto FTP.

 

Espero que os resulte interesante y
os ayude a investigar.

Artículo desarrollado por ADSLNet.

Consultas en
soporte@inetsoft.net

 

SIGUE LEYENDO

  1.   AnonymousEnviado el 25 Julio 2007 a las 18:41

    Ta mu bien

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +0
  2.   AnonymousEnviado el 25 Julio 2007 a las 18:41

    Excelente su trabajo yo estoy trabajando tambien con este sistema pero para sistemas Linux no se si me pueden ayudar con informacion en este sistemas

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +0
  3.   MartinEnviado el 4 Enero 2008 a las 05:04

    ¿es posible trabajar con esta configuración para balacear servidores web, servicios web?

    Cual es la diferncia con los balanceadores appliance o los Linux como Pirahna.?

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +0
  4.   RubenEnviado el 29 Agosto 2008 a las 10:20

    Muy bueno, gracias.
    También he encontrado este artículo para balanceo con un solo servidor http://docsharing.es/2008/08/14/teaming-tolerancia-a-errores-de-red-y-balanceo-de-carga-2/#more-219

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +0

Participa. Envíanos tu comentario

Todos los comentarios pasarán un filtro tras su publicación
Introduce los caracteres tal y como aparecen en la caja para enviar el comentario
introducir este texto en la contenedor de la izquierda