Skip to main content

Keepalived

image.png

Keepalived es un software que brinda alta disponibilidad asignando a dos o más nodos una IP virtual (VIP) y monitoreando esos nodos, y conmutando por error cuando uno falla.

Enlaces

https://www.keepalived.org/

https://www.server-world.info/en/note?os=Ubuntu_22.04&p=keepalived&f=1

Diagrama

  +-----------------------------------------------------+
  |                Keepalived Cluster                   |
  |                                                     |
  |    +----------------+        +----------------+     |
  |    |  nodo1 MASTER  |        |  nodo2 BACKUP  |     |
  |    |  (Prioridad100)|        |  (Prioridad50) |     |
  |    |                |        |                |     |
  |    |  +-----------+ |        |  +-----------+ |     |
  |    |  | keepalived| |        |  | keepalived| |     |
  |    |  |  (MASTER) | |        |  | (BACKUP)  | |     |
  |    |  +-----------+ |        |  +-----------+ |     |
  |    |        |       |        |        |       |     |
  |   [eth0: 192.168.1.201]    [eth0: 192.168.1.202]    |
  |    |      VIP: 192.168.1.200 (flotante)       |     |
  |    +--------|----------------|----------------+     |
  |             |                |                      |
  +-------------|----------------|----------------------+
                |                |
                |                |
  +-------------v----------------v----------------------+
  |              Red (LAN/VLAN)                         |
  |                                                     |
  |    Clientes acceden al VIP: 192.168.1.200           |
  |                                                     |
  +-----------------------------------------------------+

Instalar 

En todos los nodos

sudo apt -y install keepalived

Configuración

El fichero de configuración está en "/etc/keepalived/keepalived.conf". Modifícalo en cada nodo

global_defs {
    router_id node01nodo1
}

vrrp_instance VRRP1 {
    state MASTER # BACKUP en el otro nodo
    priority 100 # Prioridad inferior en nodo BACKUP
    interface eth0
    virtual_router_id 101
    advert_int 1
    virtual_ipaddress {
        192.168.1.200/24
    }
}

Comandos