9.5. Persistencia y marcas de cortafuegos

En ciertas situaciones, puede ser deseable para un cliente reconectarse repetidamente al mismo servidor real, en vez de tener a un algoritmo LVS de balanceo de cargas enviando la petición al mejor servidor disponible. Ejemplos de tales situaciones incluyen formas web de multiples ventanas, cookies, SSL, y conexiones FTP. En estos casos, un cliente puede no funcionar correctamente a menos que las transacciones esten siendo manejadas por el mismo servidor para así mantener el contexto. El LVS provee dos características diferentes para manejar esto: persistencia y marcas de cortafuegos.

9.5.1. Persistencia

Cuando está activada, la persistencia actúa como un contador. Cuando un cliente se conecta a un servicio, el LVS recuerda la última conexión por un período de tiempo especificado. Si esa misma dirección IP de cliente se vuelve a conectar dentro de ese período, se le enviará el mismo servidor al cual se conectó previamente — saltando los mecanismos de balanceo de cargas. Cuando una conexión ocurre fuera de la ventana de tiempo, se maneja de acuerdo a las reglas de planificación.

La persistencia también permite al administrador especificar una máscara de subred para aplicar a la dirección IP cliente evaluaciones, como una herramienta para controlar que direcciones tienen un alto nivel de persistencia, y de esta forma, agrupando las conexiones a la subred.

El agrupar las conexiones destinadas a diferentes puertos puede ser importante para los protocolos que usan más de un puerto para comunicarse, tal como FTP. Sin embargo, la persistencia no es la forma más eficiente de tratar con el problema de agrupar conexiones destinadas a puertos diferentes. Para estas situaciones, lo mejor es usar marcas de cortafuegos.

9.5.2. Marcas de cortafuegos

Las marcas de cortafuegos son una forma fácil y eficiente de agrupar puertos usados por un protocolo o por un grupo relacionado de protocolos. Por ejemplo, si se está usando un LVS cluster para correr un sitio de e-commerce, se pueden usar las marcas de cortafuegos para acumular conexiones HTTP en el puerto 80 y las conexiones HTTP seguras, en el puerto 443. Asignando la misma marca de cortafuego al servidor virtual para cada protocolo, se puede preservar la información de estado para la transacción porque el enrutador LVS reenviará todas las peticiones al mismo servidor real después que la conexión esté abierta.

Debido a su eficiencia y facilidad de uso, los administradores de LVS clusters deberían usar marcas de cortafuegos en vez de persistencia mientras sea posible para agrupar conexiones. Sin embargo, los administradores aún deberían agregar persistencia a los servidores virtuales en conjunto con las marcas de cortafuegos, para asegurar que los clientes son reconectados al mismo servidor por un período adecuado de tiempo.