Servidor Ubuntu 20.04.1, interfaces de red vinculadas, keepalived no funciona

Servidor Ubuntu 20.04.1, interfaces de red vinculadas, keepalived no funciona

Configuré interfaces de red vinculadas para proporcionar mayor HA para una configuración de HaProxy (HaProxy es un equilibrador de carga de Linux) keepaliveden dos servidores Ubuntu 20.04.1 LTS. Las interfaces de red vinculadas configuradas con netplan funcionan correctamente y están configuradas con keepalived. Sin embargo, keepalivedno trata correctamente los nodos maestro y de respaldo del keepalivedclúster y ambos se muestran como maestros.

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
   version: 2
   ethernets:
     eth0:
      dhcp4: true
     eth1: 
      dhcp4: false
     eth2: 
      dhcp4: false
   bonds:
    bond0:
     dhcp4: false
     interfaces:
        - eth1
        - eth2
     parameters:
       mode: active-backup
       primary: eth1
     addresses: 
         - 192.168.0.6/24
     nameservers: 
       addresses: 
         - 192.168.0.1

vrrp_instance VI_01 {
    state MASTER
    interface bond0
    virtual_router_id 51
    priority 101
    advert_int 1
    virtual_ipaddress {
        192.168.0.10/24
    }

vrrp_instance VI_01 {
    state BACKUP
    interface bond0
    virtual_router_id 51
    priority 100
    advert_int 1
    virtual_ipaddress {
        192.168.0.10/24
    }
}

¿Alguien sabe cómo arreglar esto?

Gracias,

León

Respuesta1

Después de probar una solución, que implicaba agregar direcciones Mac a la configuración de netplan, descubrí que estaba ocurriendo el mismo problema con keepalived, que era que ambas máquinas aparecían como maestras. Una investigación más profunda mostró que la dirección mac utilizada para la interfaz vinculada en ambos servidores era idéntica, lo que terminó siendo el problema.

Al cambiar el nombre de la interfaz vinculada en netplan en el segundo servidor, a bond1 (en lugar de bond0), y luego usar ese nombre en el archivo de configuración keepalived se resolvió el problema, ya que ambas interfaces vinculadas tenían direcciones mac únicas. Keepalived puede saber correctamente qué servidor es el maestro y cuál es la copia de seguridad.

Gracias por toda la ayuda,

León

información relacionada