Cómo tener servicios en alta disponibilidad con Keepalived

Hoy en día, la disponibilidad ininterrumpida de los servicios digitales es un requisito indispensable para las empresas y los desarrolladores. Ya sea que administres un sitio web crítico para el negocio o una aplicación esencial, tener una estrategia robusta de alta disponibilidad es fundamental. En este artículo, nos sumergiremos en cómo lograr esto utilizando Keepalived en Ubuntu 22.04, enfocándonos especialmente en la configuración de múltiples direcciones IP virtuales (VIP).

Entendiendo Keepalived y VRRP

Keepalived es una solución de software que se basa en el protocolo VRRP (Virtual Router Redundancy Protocol) para crear sistemas de alta disponibilidad. Proporciona un mecanismo para que los servidores se respalden mutuamente, de manera que si uno falla, otro puede tomar su lugar automáticamente, asegurando la continuidad del servicio.

Instalando Keepalived en Ubuntu 22.04

Antes de comenzar con la configuración de las direcciones IP virtuales, es necesario instalar Keepalived en tu sistema Ubuntu 22.04. Puedes hacerlo siguiendo estos sencillos pasos:

Actualiza tu sistema: Antes de instalar cualquier paquete, asegúrate de que tu sistema esté actualizado:

sudo apt update && sudo apt upgrade -y

Instala Keepalived:

Ahora, instala Keepalived utilizando el gestor de paquetes APT:

sudo apt install keepalived -y

Configuración básica

Lo primero que tienes que hacer es dirigirte al archivo de configuración principal:

sudo nano /etc/keepalived/keepalived.conf

Una vez dentro, empieza a configurar la instancia VRRP. Imagina que quieres establecer alta disponibilidad entre dos servidores, A y B. El servidor A será el principal y el B el de respaldo.

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 50
    priority 100
    advert_int 1
    virtual_ipaddress {
        192.168.1.100
    }
}

Aquí, el servidor A está configurado para ser el MASTER y la IP virtual que compartirán ambos servidores es 192.168.1.100.

Ajusta la configuración para el servidor B

En el servidor B, la configuración sería casi idéntica, con la única diferencia de que el estado sería BACKUP y la prioridad sería un número menor, digamos 50.

Esto garantiza que el servidor A siempre sea el principal, a menos que falle. En ese caso, el servidor B asumirá el control.

Configuración de múltiples VIPs en una sola interfaz

Una vez que Keepalived esté instalado, es el momento de pasar a la configuración. La capacidad para manejar múltiples VIPs es una de las características más potentes de Keepalived.

Si deseas tener varias direcciones IP virtuales asignadas a una única interfaz de red, puedes hacerlo añadiendo múltiples entradas bajo virtual_ipaddress en tu archivo de configuración keepalived.conf.

Edita el archivo de configuración:

sudo nano /etc/keepalived/keepalived.conf

Añade tu configuración:

Aquí tienes un ejemplo de cómo configurar múltiples VIPs en una sola interfaz:

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    virtual_ipaddress {
        192.168.1.100
        192.168.1.101
        192.168.1.102
    }
}

En este ejemplo, se han configurado tres direcciones IP virtuales en la interfaz eth0.

Configuración de una VIP por interfaz

Si prefieres tener una dirección IP virtual asignada a diferentes interfaces, deberás crear múltiples instancias VRRP.

Edita el archivo de configuración:

sudo nano /etc/keepalived/keepalived.conf

Añade tu configuración:

Aquí tienes un ejemplo de cómo configurar una VIP por interfaz:

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 52
    priority 100
    advert_int 1
    virtual_ipaddress {
        192.168.1.100
    }
}

vrrp_instance VI_2 {
    state MASTER
    interface eth1
    virtual_router_id 53
    priority 100
    advert_int 1
    virtual_ipaddress {
        192.168.2.100
    }
}

En este ejemplo, se ha asignado una VIP a la interfaz eth0 y otra VIP a la interfaz eth1.

Reiniciar Keepalived para aplicar los cambios

Después de realizar cambios en el archivo de configuración, es necesario reiniciar el servicio Keepalived para aplicar los cambios:

sudo systemctl restart keepalived

Y para garantizar que se inicie con el sistema:

sudo systemctl enable keepalived

Verificación y monitoreo

Ahora que todo está configurado, es importante verificar que todo está funcionando como se espera y mantener un monitoreo constante.

Verifica el estado del servicio:

sudo systemctl status keepalived

Revisa los logs

Los logs te proporcionarán información valiosa sobre el comportamiento de Keepalived:

sudo journalctl -u keepalived

Beneficios de usar Keepalived para múltiples VIPs

Al usar Keepalived para gestionar múltiples VIPs, obtienes un sistema robusto y flexible que puede adaptarse a las necesidades de tu infraestructura. Esto no solo asegura la disponibilidad de tus servicios, sino que también proporciona una distribución equilibrada de la carga, lo cual es vital para mantener un rendimiento óptimo.

Palabras finales

La alta disponibilidad es un componente crítico en la infraestructura de IT actual, y herramientas como Keepalived ofrecen una solución efectiva y eficiente. Con su capacidad para manejar múltiples VIPs, ya sea en una sola interfaz o distribuidas entre varias interfaces, Keepalived se posiciona como una herramienta indispensable para los administradores de sistemas y desarrolladores que buscan asegurar la continuidad de sus servicios digitales.

Por lo tanto, invierte tiempo en configurar y entender Keepalived; tu infraestructura te lo agradecerá y tus usuarios disfrutarán de un servicio ininterrumpido y confiable. ¡Adelante, asegura tu entorno con Keepalived hoy mismo!

Deja una respuesta