Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Capítulo 1. Sinopsis del servidor virtual de Linux

LVS (siglas en inglés de Linux Virtual Server) es un conjunto de componentes de software integrados para balancear la carga IP a lo largo de un grupo de servidores reales. LVS se ejecuta en un par de computadores configurados similarmente: uno de ellos es un enrutador LVS activo y el otro es un enrutador LVS de respaldo. El enrutador LVS activo tiene dos roles:
  • Balancear la carga entre los servidores reales.
  • Revisar la integridad de los servicios en cada servidor real.
El enrutador LVS de respaldo sondea el estado del enrutador LVS activo y toma control de sus tareas en caso de que éste falle.
Este capítulo proporciona un resumen de los componentes y funciones de LVS en las siguientes secciones:

1.1. A Basic LVS Configuration

Figura 1.1, “A Basic LVS Configuration” shows a simple LVS configuration consisting of two layers. On the first layer are two LVS routers — one active and one backup. Each of the LVS routers has two network interfaces, one interface on the Internet and one on the private network, enabling them to regulate traffic between the two networks. For this example the active router is using Network Address Translation or NAT to direct traffic from the Internet to a variable number of real servers on the second layer, which in turn provide the necessary services. Therefore, the real servers in this example are connected to a dedicated private network segment and pass all public traffic back and forth through the active LVS router. To the outside world, the servers appears as one entity.
A Basic LVS Configuration

Figura 1.1. A Basic LVS Configuration

Service requests arriving at the LVS routers are addressed to a virtual IP address, or VIP. This is a publicly-routable address the administrator of the site associates with a fully-qualified domain name, such as www.example.com, and is assigned to one or more virtual servers. A virtual server is a service configured to listen on a specific virtual IP. Refer to Sección 4.6, “VIRTUAL SERVERS for more information on configuring a virtual server using the Piranha Configuration Tool. A VIP address migrates from one LVS router to the other during a failover, thus maintaining a presence at that IP address (also known as floating IP addresses).
Las direcciones VIP pueden tener sobrenombres que se dirijan al mismo dispositivo que conecta al enrutador LVS con la red pública. Por ejemplo, si eth0 está conectado a Internet, puede haber varios servidores virtuales con sobrenombres a eth0:1. Alternativamente, cada servidor virtual puede estar asociado con un dispositivo separado por cada servicio. Por ejemplo, el tráfico HTTP puede ser manejado en eth0:1 y el tráfico FTP puede ser manejado en eth0:2.
Only one LVS router is active at a time. The role of the active router is to redirect service requests from virtual IP addresses to the real servers. The redirection is based on one of eight supported load-balancing algorithms described further in Sección 1.3, “Sinopsis de la programación LVS”.
El enrutador LVS activo sondea dinámicamente la salud de los servicios especificados en los servidores reales a través de un script de envío y espera. Para ayudar en la detección de servicios que requieren datos dinámicos, tal como HTTPS o SSL, se puede incluso llamar a programas ejecutables externos. Si un servicio en un servidor real no funciona adecuadamente, el enrutador LVS activo no envía solicitudes a ese servidor hasta que retorne a la operación normal.
El enrutador de respaldo ejecuta el rol de sistema en espera. Periódicamente, los enrutadores LVS intercambian mensajes a través de la interfaz pública externa primaria y, en caso de fallos, a través de la interfaz privada. Si el enrutador LVS de respaldo no recibe un mensaje dentro de un intervalo de tiempo esperado, éste inicia un proceso de recuperación contra fallos y asume el rol de enrutador activo. Durante el proceso de recuperación contra fallos, el enrutador de respaldo obtiene la dirección VIP servida por el enrutador fallido utilizando una técnica conocida como ARP spoofing — en donde el enrutador LVS de respaldo se anuncia a sí mismo como el destino de los paquetes IP dirigidos al nodo fallido. Cuando el nodo activo regrese a prestar el servicio, el nodo de respaldo asume su rol de enrutador en espera.
The simple, two-layered configuration used in Figura 1.1, “A Basic LVS Configuration” is best for serving data which does not change very frequently — such as static webpages — because the individual real servers do not automatically sync data between each node.

1.1.1. Repetición y compartición de datos

Como no hay componentes internos en LVS para compartir los mismos datos entre servidores reales, el administrador tiene dos opciones básicas:
  • Sincronizar los datos entre los servidores reales.
  • Añadir una tercera capa a la topología para el acceso de datos compartidos
La primera opción es la preferida en aquellos servidores que no permiten a un largo número de usuarios cargar o cambiar datos en el servidor real. Si los servidores reales permiten que los datos sean modificados por un gran número de usuarios, por ejemplo los sitios web de comercio electrónico, es preferible añadir una nueva capa.

1.1.1.1. Configuración de servidores reales para sincronizar los datos

Hay muchas maneras en que el administrador puede sincronizar datos a lo largo del grupo de servidores reales. Por ejemplo, los script de shell pueden ser usados para publicar una página web que ha sido modificada en todos los servidores de forma simultánea. Asimismo, el administrador de sistemas puede usar programas como rsync para duplicar los cambios de datos a lo largo de todos los nodos cada determinado tiempo.
Sin embargo, este tipo de sincronización de datos no es óptimo si la configuración es utilizada por múltiples usuarios cargando archivos o ejecutando transacciones de datos constantemente. Para una configuración con alta carga, una topología de tres capas es la solución ideal.