Ubuntu 20.04.1 Server, verbundene Netzwerkschnittstellen, Keepalived funktioniert nicht

Ubuntu 20.04.1 Server, verbundene Netzwerkschnittstellen, Keepalived funktioniert nicht

Ich habe verbundene Netzwerkschnittstellen eingerichtet, um eine bessere HA für ein HaProxy-Setup (HaProxy ist ein Linux-Load Balancer) keepalivedauf zwei Ubuntu 20.04.1 LTS-Servern bereitzustellen. Die mit Netplan eingerichteten verbundenen Netzwerkschnittstellen funktionieren ordnungsgemäß und werden mit eingerichtet . Die Master- und Backup-Knoten des Clusters werden keepalivedjedoch nicht richtig behandelt und beide werden als Master angezeigt.keepalivedkeepalived

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

Weiß jemand, wie man das behebt?

Danke,

Löwe

Antwort1

Nachdem ich eine Lösung ausprobiert hatte, bei der ich der Netplan-Konfiguration Mac-Adressen hinzufügte, stellte ich fest, dass dasselbe Problem mit Keepalived auftrat, nämlich dass beide Maschinen als Master angezeigt wurden. Weitere Untersuchungen zeigten, dass die für die verbundene Schnittstelle verwendete Mac-Adresse auf beiden Servern identisch war, was letztendlich das Problem war.

Durch Ändern des Namens der verbundenen Schnittstelle in Netplan auf dem zweiten Server in bond1 (anstatt bond0) und anschließendes Verwenden dieses Namens in der Keepalived-Konfigurationsdatei wurde das Problem gelöst, da beide verbundenen Schnittstellen dann eindeutige Mac-Adressen hatten. Keepalived kann nun genau erkennen, welcher Server der Master- und welcher der Backup-Server ist.

Vielen Dank für all die Hilfe,

Löwe

verwandte Informationen