Uno de los servicios que integra Windows Server es: NLB (Network Load Balancing) que nos sirve para balancear/distribuir/equilibrar el tráfico TCP y UDP entre servidores.
Al instalar NLB se carga el siguiente driver: WLBS.SYS (WLBS = Windows Load Balancing Services).
A pesar de que en la administración del servicio aparece la palabra: "clúster", no confundir el servicio NLB con un clúster de Microsoft (MSCS = Microsoft Cluster Service), son tecnologías con funcionamiento y requisitos totalmente distintos.
Con NLB (Network Load Balancing), no se requiere storage compartido, NLB es un balanceador de tráfico TCP/UDP.
NLB no requiere de Active Directory, por tanto, los nodos NLB pueden residir en un Workgroup.
Encontraremos por primera vez disponible NLB (Network Load Balancing) en Windows Server 2000 (ediciones Advanced Server y Datacenter Server) y en versiones Windows Server 2003 y superiores lo tendremos incluido en todas las ediciones.
También hemos de entender que NLB (Network Load Balancing) no tiene en cuenta la carga de CPU, RAM, disco del servidor, solo conexiones TCP y UDP.
Veamos un ejemplo de configuración paso a paso de 2 nodos con balanceo de carga (NLB):
Al instalar NLB se carga el siguiente driver: WLBS.SYS (WLBS = Windows Load Balancing Services).
A pesar de que en la administración del servicio aparece la palabra: "clúster", no confundir el servicio NLB con un clúster de Microsoft (MSCS = Microsoft Cluster Service), son tecnologías con funcionamiento y requisitos totalmente distintos.
Con NLB (Network Load Balancing), no se requiere storage compartido, NLB es un balanceador de tráfico TCP/UDP.
NLB no requiere de Active Directory, por tanto, los nodos NLB pueden residir en un Workgroup.
Encontraremos por primera vez disponible NLB (Network Load Balancing) en Windows Server 2000 (ediciones Advanced Server y Datacenter Server) y en versiones Windows Server 2003 y superiores lo tendremos incluido en todas las ediciones.
También hemos de entender que NLB (Network Load Balancing) no tiene en cuenta la carga de CPU, RAM, disco del servidor, solo conexiones TCP y UDP.
Veamos un ejemplo de configuración paso a paso de 2 nodos con balanceo de carga (NLB):
Windows: Balanceo de carga (NLB) paso a paso
1) Esquema conceptual:
En este caso, disponemos de dos equipos con Windows Server (S1 y S2), ambos servidores disponen de dos NICs y una de ellas será la NIC compartida, la dedicada a NLB.
Según el ejemplo, la NIC dedicada a NLB, es la etiquetada como: NIC1-NLB.
El tráfico dirigido a la dirección IP compartida: 172.19.0.100, será balanceado hacia los dos nodos.
2) Etiquetamos las NICs de ambos servidores:
Para acceder rápidamente a las conexiones de red, podemos ejecutar: ncpa.cpl
3) Configuramos TCP/IP:
S1:
NIC0 : 172.19.0.1 / 255.255.0.0
NIC1-NLB: 172.19.0.10 / 255.255.0.0
S2:
NIC0 : 172.19.0.2 / 255.255.0.0
NIC1-NLB: 172.19.0.20 / 255.255.0.0
*No configuramos la dirección IP compartida: 172.19.0.100
4) Instalamos componentes NLB en los dos Windows Server: S1 y S2.
5) Configuramos el clúster NLB - Primer nodo
Abrimos la herramienta: Administrador de equilibrio de carga de red (nlbmgr.exe) en uno de los dos servidores, en este caso, seleccionaremos: S1
Nos situamos en: "Clústeres de equilibrio de carga de red", botón derecho: "Nuevo clúster".
A continuación indicamos el nombre del servidor y seleccionaremos el interfaz dedicado a NLB:
Vemos la dirección IP del interfaz:
En este caso, disponemos de dos equipos con Windows Server (S1 y S2), ambos servidores disponen de dos NICs y una de ellas será la NIC compartida, la dedicada a NLB.
Según el ejemplo, la NIC dedicada a NLB, es la etiquetada como: NIC1-NLB.
El tráfico dirigido a la dirección IP compartida: 172.19.0.100, será balanceado hacia los dos nodos.
2) Etiquetamos las NICs de ambos servidores:
Para acceder rápidamente a las conexiones de red, podemos ejecutar: ncpa.cpl
3) Configuramos TCP/IP:
S1:
NIC0 : 172.19.0.1 / 255.255.0.0
NIC1-NLB: 172.19.0.10 / 255.255.0.0
S2:
NIC0 : 172.19.0.2 / 255.255.0.0
NIC1-NLB: 172.19.0.20 / 255.255.0.0
*No configuramos la dirección IP compartida: 172.19.0.100
4) Instalamos componentes NLB en los dos Windows Server: S1 y S2.
dism /online /enable-feature /featurename:NetworkLoadBalancingFullServer
dism /online /enable-feature /featurename:NetworkLoadBalancingManagementClient
dism /online /enable-feature /featurename:NetworkLoadBalancingManagementClient
5) Configuramos el clúster NLB - Primer nodo
Abrimos la herramienta: Administrador de equilibrio de carga de red (nlbmgr.exe) en uno de los dos servidores, en este caso, seleccionaremos: S1
Nos situamos en: "Clústeres de equilibrio de carga de red", botón derecho: "Nuevo clúster".
A continuación indicamos el nombre del servidor y seleccionaremos el interfaz dedicado a NLB:
Vemos la dirección IP del interfaz:
Indicamos la dirección IP compartida:
A continuación, indicamos el nombre de Internet y el modo de operación.
Sobre el modo de operación, veremos más adelante el detalle de cada opción.
Seleccionamos los puertos que queremos que el tráfico sea balanceado utilizando NLB.
En esta pantalla de ejemplo, hemos configurado que se balancee el tráfico TCP y UDP al puerto 80.
6) Configuramos el clúster NLB - Segundo nodo
Nos conectamos al segundo servidor (S2) y abrimos la herramienta: "Administrador de equilibrio de carga de red" (nlbmgr.exe).
Nos situamos en: "Clústeres de equilibrio de carga de red", botón derecho: "Conectarse a uno existente".
A continuación, indicamos el nombre del primer nodo (S1) y al pulsar "Conectar", veremos el clúster configurado.
Ahora solo nos queda, añadir el segundo nodo dentro del clúster.
Para ello, desde la herramienta de administración, añadimos el segundo nodo.
Nos situamos sobre el nombre del clúster, en este caso: "www.sysadmit.com", botón derecho: "Agregar host al clúster".
A continuación, indicamos el nombre del host: S2 y seleccionamos el interfaz compartido: NIC1-NLB.
Nos aparecerá la dirección IP, no tocamos nada, solo pulsamos "Siguiente":
y nos aparecen las reglas de tráfico, del clúster: No tocaremos nada. Pulsamos sobre: "Finalizar".
Ya tenemos configurado el clúster NLB de dos nodos:
7) Prueba de funcionamiento:
Instalamos IIS en ambos nodos:
dism.exe /enable-feature /online /featureName:IIS-WebServerRole /featureName:IIS-WebServer
Nos situamos en: C:\inetpub\wwwroot
y creamos un fichero con el nombre default.html
Dentro del fichero default.html, del servidor S1, indicamos el texto: S1
Dentro del fichero default.html, del servidor S2, indicamos el texto: S2
Si accedemos desde otro equipo con conectividad TCP/IP vía navegador a la dirección IP compartida, veremos cómo va cambiando el texto.
¿Cual es la diferencia entre Multicast y Unicast?
La diferencia entre ambos modos es la siguiente:
Unicast:
- Se genera una MAC compartida entre los nodos.
- Utiliza port flooding.
- La MAC compartida no queda guardada en la tabla ARP de ninguno de los nodos.
- No hay comunicación entre los nodos si solo hay una NIC.
Multicast:
- Se genera una MAC compartida entre los nodos.
- No utiliza port flooding.
- La MAC compartida queda guardada en la tabla ARP.
- Permite la comunicación entre nodos con una sola NIC.
VMware y Microsoft NLB: Si las máquinas virtuales con NLB están en un entorno de VMware: ¿Qué elegimos? ¿Unicast o Multicast?
VMware recomienda utilizar el modo Multicast, además recomienda utilizar dos NICs por cada nodo.
VMware y Microsoft NLB: ¿Debemos realizar alguna configuración especial a nivel de VMware?
Debemos evitar que se produzca "port flooding", de esta forma evitamos la transmisión de paquetes RARP en el momentos de iniciar la VM, realizar vMotion, etc..
Para ello configuramos:
* A nivel de "Virtual Switch":
"Notify switches" a: "No".
* A nivel de "Port Group":
"Forged Transmit" a: "Accept"
Para ello configuramos:
* A nivel de "Virtual Switch":
"Notify switches" a: "No".
* A nivel de "Port Group":
"Forged Transmit" a: "Accept"
Ejemplo, vista VMware Host Client:
Hola,
ResponderEliminarTengo una duda, en cual de las dos tarjetas se ha de configurar el resto de parametros de red, es decir, router, dns, etc.
Gracias.
Hola,
EliminarPuedes configurarlo en cualquiera de las dos.
Un saludo,
Xavi.
computadoras dentro del dominio si pinea el ip del cluster, pero solo en el segmento de la ip del cluster.
ResponderEliminarBuen dia. El cluster que tiene ip 172.19.0.100 donde la configuro. Es un servidor aparte o se comporta como un servidor virtual.
ResponderEliminarHola,
EliminarCuidado, una cosa es el servicio NLB (Balaceo de carga) y otro es el servicio MSCS (Clúster de Microsoft).
Si es NLB, en este mismo post tienes paso a paso como configurarlo.
Un saludo,
Xavi.