DEV Community

Uhltak Therestismysecret
Uhltak Therestismysecret

Posted on

Proxmox HA-Cluster absichern: Split-Brain vermeiden und Quorum richtig einstellen

Proxmox HA-Cluster absichern: Split-Brain vermeiden und Quorum richtig einstellen

High Availability (HA) klingt nach einem sicheren Netz – bis das Cluster in einen Split-Brain-Zustand fällt und Ihre VMs plötzlich doppelt laufen. Ein Albtraum für Datenbanken und Dateisysteme. In diesem Artikel zeige ich Ihnen, wie Sie Proxmox HA-Cluster robust konfigurieren und teile meine eigenen Schmerzpunkt-Erfahrungen aus produktiven Umgebungen.

Was ist Split-Brain und warum ist es gefährlich?

Ein Split-Brain entsteht, wenn Cluster-Knoten die Kommunikation untereinander verlieren, aber weiterhin unabhängig arbeiten. Plötzlich startet Proxmox dieselbe VM auf zwei Hosts – das Resultat sind Datenbankkorruption oder beschädigte ZFS-Pools. In einem meiner früheren Setup führte ein fehlkonfigurierter Netzwerk-Switch genau dazu, dass ein MySQL-Server doppelt hochgefahren wurde – der anschließende manuelle Repair dauerte 14 Stunden.

Beispielhafte Symptome:

# journalctl -u pve-cluster.service
Nov 15 10:23:45 pve1 pve-ha-lrm[1234]: unable to connect to cluster manager
Nov 15 10:23:47 pve1 pve-ha-crm[1235]: lost quorum (1 nodes)
Enter fullscreen mode Exit fullscreen mode

Meine Einschätzung: Die Standard-HA-Einstellungen von Proxmox sind für Lab-Umgebungen ausgelegt. In der Produktion müssen Sie aktiv gegen Split-Brain vorgehen – das unterschätzen selbst erfahrene Admins.

Quorum richtig konfigurieren: Mehr als nur eine Stimmenmehrheit

Das Quorum entscheidet, ob ein Knoten „rechtmäßig“ Dienste steuern darf. Die Grundregel: Mehrheit der Stimmen erforderlich. Bei einem 3-Node-Cluster sind das mindestens 2 Knoten. Aber was tun bei gerader Knotenanzahl?

Konkrete Konfiguration für 4 Knoten mit QDevice:

# Auf einem dedizierten QDevice-Server (z.B. RaspPi):
apt install corosync-qdevice
pvecm qdevice setup qdevice.example.com

# Auf jedem Cluster-Node:
pvecm qdevice install
pvecm updatecerts --force
Enter fullscreen mode Exit fullscreen mode

Dieses Setup führte bei einem Kunden von mir zu 99.998% Uptime über drei Jahre – der QDevice lief auf einem physisch separaten Mikroserver.

Meine Einschätzung: Ein QDevice ist die beste Investition für gerade Knotenanzahlen. Für 20€ Hardware ersparen Sie sich stundenlange Fehlersuche bei Netzwerkpartitionen.

Fencing: Der letzte Rettungsanker gegen Chaos

Wenn ein Knoten nicht mehr reagiert, aber weiterhin VMs steuert, muss er zwangsweise gestoppt werden. Hier kommt Fencing ins Spiel – entweder über IPMI, APC-USV oder spezielle PDU-Steckdosen.

Beispielkonfiguration für IPMI-Fencing:

# /etc/pve/ha/fence.cfg
agent: ipmi
ipmitool_path: /usr/bin/ipmitool
method: onoff
devices:
  node1:
    ipaddr: 192.168.1.101
    user: admin
    passwd: $SECRET
    delay: 5
Enter fullscreen mode Exit fullscreen mode

In einem besonders harten Fall musste ich ein Intel AMT-basiertes Fencing einrichten, nachdem ein Cluster-Node während eines Updates einfror – AMT hat den Host hard-reset gesetzt und binnen 45 Sekunden war der Failover abgeschlossen.

Meine Einschätzung: Ohne Fencing ist Ihr HA-Setup unvollständig. Testen Sie es regelmäßig mit fence_node – sonst merken Sie den Fehler erst beim echten Notfall.

Häufige Fehler und wie Sie sie vermeiden

  1. Netzwerk-Single-Point-of-Failure: Verteilen Sie Corosync-Traffic auf zwei physisch getrennte Netzwerke. Meine aktuelle Topologie:
auto ens1f0
iface ens1f0 inet static
  address 192.168.100.1/24

auto ens1f1
iface ens1f1 inet static
  address 192.168.101.1/24
Enter fullscreen mode Exit fullscreen mode
  1. Unterschiedliche Hardware: Ein Mix aus AMD- und Intel-Knoten führt zu Timing-Problemen im Corosync-Ring. Dokumentiert in Bug #3721.

  2. Fehlende Monitoring-Integration: Standard-Nagios-Checks reichen nicht. Mein persönliches Zabbix-Template überwacht:

  3. corosync ring errors

  4. quorum status changes

  5. fence operation count

Fazit und nächster Schritt

Ein stabiles Proxmox HA-Cluster benötigt drei Dinge: Ungerade Quorum-Basis (oder QDevice), redundante Corosync-Netzwerke und getestetes Fencing. Mein Rat: Richten Sie heute noch ein Testcluster mit drei Nodes ein und simulieren Sie:

pvecm expected 1
# Nun einen Knoten isolieren – prüfen Sie ob fencing greift
Enter fullscreen mode Exit fullscreen mode

Erst wenn dieser Drill reibungslos läuft, sollten Sie Produktiv-Workloads auf das HA-Cluster migrieren. Meine Erfahrung zeigt: 80% der Ausfälle wären vermeidbar – mit den richtigen Vorbereitungen.

Top comments (0)