
Ich habe verbundene Netzwerkschnittstellen eingerichtet, um eine bessere HA für ein HaProxy-Setup (HaProxy ist ein Linux-Load Balancer) keepalived
auf 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 keepalived
jedoch nicht richtig behandelt und beide werden als Master angezeigt.keepalived
keepalived
# 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