Servidor Ubuntu 20.04.1, interfaces de rede vinculadas, keepalived não funciona

Servidor Ubuntu 20.04.1, interfaces de rede vinculadas, keepalived não funciona

Eu configurei interfaces de rede vinculadas para fornecer maior HA para uma configuração HaProxy (HaProxy é um balanceador de carga Linux) em keepaliveddois servidores Ubuntu 20.04.1 LTS. As interfaces de rede vinculadas configuradas com netplan estão funcionando corretamente e configuradas com keepalived. No entanto, keepalivednão trata os nós mestre e de backup do keepalivedcluster adequadamente e ambos são exibidos como Mestre.

# 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
    }
}

Alguém sabe como consertar isso?

Obrigado,

Leão

Responder1

Depois de tentar uma solução, que envolvia a adição de endereços MAC à configuração do netplan, descobri que estava ocorrendo o mesmo problema com keepalived, que era que ambas as máquinas apareciam como mestre. Investigações adicionais mostraram que o endereço MAC usado para a interface vinculada em ambos os servidores era idêntico, o que acabou sendo o problema.

Alterar o nome da interface vinculada no netplan no segundo servidor para bond1 (em vez de bond0) e usar esse nome no arquivo de configuração keepalived resolveu o problema, pois ambas as interfaces vinculadas tinham endereços MAC exclusivos. Keepalived pode saber corretamente qual servidor é o mestre e qual é o backup.

Obrigado por toda a ajuda,

Leão

informação relacionada