Linux Virtual Server

Diego Woitasen

diegows@linux.org.ar

Introducción

Clustering orientado a aplicaciones cliente-servidor

Balanceo de carga

Todos los equipos prestan servicio bajo una sola direccion IP

Ventajas

Es parte del Kernel

Transparente al usuario

Escalable

Para que lo puedo usar?

Para cualquier servicio que corra sobre TCP/IP o UDP/IP, como por ejemplo:

Proxy (Squid)

Web (Apache)

FTP

Correo electrónico

Servidores de Dominio (DNS)

Base de datos

LDAP

Componentes

Director

Servidor Real

VIP

Detalles

Algoritmos de balanceo

Metodos de forwarding

Algoritmos de balanceo

Round Robin

Weigthed Round Robin

Least Connection

Weigthed Least Connection

Persistencia

Orientado a aplicaciones en la cual es conveniente que el cliente quede vinculado a un determinado servidor durante cierto tiempo.

Por ejemplo: Squid, HTTPS, etc.

La persistencia se mantiene por una determinada cantidad de tiempo configurable(300 segundos por defecto).

Métodos de forwarding

Network Address Translation (NAT)

Direct Routing (DR)

Tunneling (TUN)

NAT

NAT

Los paquetes que van y vienen de los servidores pasan por el director.

Simple de configurar y compatible con cualquier sistema operativo (en los servidores reales).

Direct Routing

Direct Routing

Los paquetes del cliente al cluster pasan por el director, pero los paquetes de respuesta van desde los servidores a los clientes.

Hay que bloquear las solicitudes ARP para la IP virtual en los servidores (sin necesidad de parches a partir del kernel 2.4.26).

Tunneling

Tunneling

Es óptimo como el metodo de Direct Routing. Todos los paquetes de los servidores a los clientes no pasan por el director.

Los paquetes del director hacia los servidores van encapsulados en paquetes IP (tuneles IP-IP).

La implementación es complicada.

Problemas de compatibilidad con otros sistemas operativos en los servidores.

Implementación

Se divide en dos partes:

La implementación de LVS en si.

La implementación de la aplicación.

Software

Esta compuesto por:

Un módulo del kernel:
-Disponible en el kernel oficial a partir de la version 2.4.24 y 2.6
-Como parche para las versiones anteriores

Una herramienta de administración en userspace:
ipvsadm

Ejemplo

#ipvsadm -A -t 1.1.1.1:80 -s wlc

#ipvsadm -a -t 1.1.1.1:80 -r 192.168.1.10 -m

#ipvsadm -a -t 1.1.1.1:80 -r 192.168.1.11 -m

#ipvsadm -a -t 1.1.1.1:80 -r 192.168.1.12 -m

#ipsvadm-save > /etc/ipvsadm.rules

Software

Otros programas útiles:

MON

Ldirectord

Heartbeat

Un ejemplo para el final

Fin

2003-10-26T16:13:04