intermediate Guided Build ✓ abgeschlossen

Redundanter Loadbalancer mit HAProxy und Keepalived

Active/Passive Loadbalancer-Stack mit floating VIP über VRRP in einer Proxmox-Umgebung.

Tools HAProxyKeepalivedVRRPProxmoxUbuntu
Tags NetworkingHigh-AvailabilityLinux

Zusammenfassung

In diesem Lab wurde auf Basis zweier Ubuntu 24.04 Server-VMs ein hochverfügbarer Loadbalancer-Stack mit HAProxy und Keepalived aufgebaut und in eine bestehende Proxmox-Homelab-Umgebung integriert. Ziel war das Verständnis von Active/Passive-Failover-Mechanismen über VRRP sowie die praktische Konfiguration von HAProxy als Layer-7-Loadbalancer für HTTP-Backend-Dienste. Ein dritter VM-Node diente als minimaler Webserver-Backend-Pool zur Verifikation der Lastverteilung.


Verwendete Hardware / Software / Sprachen

TypName / Version
VirtualisierungProxmox VE 8.2
BetriebssystemUbuntu Server 24.04 LTS
LoadbalancerHAProxy 2.8
HA / FailoverKeepalived 2.2.8 (VRRP)
Backendnginx 1.24 (2x minimale Web-VMs)
NetzwerkLinux Bridge, VLAN-tagged Interface
KonfigurationsspracheYAML (Netplan), HAProxy-Config-Syntax

Skill-Einschätzung

DimensionVorher (Selbst)Vorher (KI)Nachher
Vorkenntnisse Themenspezifisch2/52/54/5
Vorkenntnisse Tools1/52/53/5
Komplexität des Labs3/54/5

Größter Lernmoment: Der Zusammenhang zwischen VRRP-Priority, Preemption und dem tatsächlichen Failover-Verhalten war nicht intuitiv. Erst als der Master-Node absichtlich per systemctl stop keepalived heruntergefahren wurde und die Virtual IP innerhalb von ~2 Sekunden auf den Backup-Node gewandert ist, wurde das Prinzip der floating VIP wirklich greifbar — und warum ohne sie ein DNS-basierter Failover deutlich langsamer und fehleranfälliger wäre.


Ergebnis

Status: Erfolgreich

HAProxy läuft auf beiden Nodes im identischen Konfigurationsstand und verteilt HTTP-Requests per Round-Robin auf zwei nginx-Backend-VMs. Keepalived hält eine Virtual IP (192.168.10.100) im VRRP-Verbund, die bei Ausfall des Master-Nodes innerhalb von ~2 Sekunden auf den Backup-Node übergeht. Der Failover wurde mehrfach durch gezieltes Stoppen von HAProxy sowie durch komplettes Herunterfahren des Master-Nodes verifiziert.


Schwierigkeiten


Verwendete Quellen


Erweiterungsideen


Verwandte Labs / Nächste Schritte