Proxmox Cluster Hochverfügbarkeit Ceph

Proxmox Cluster einrichten: Hochverfügbarkeit mit Ceph im Homelab

Proxmox Cluster einrichten – Hochverfügbarkeit für dein Homelab. Wer kritische Dienste zu Hause betreibt, möchte sicherstellen, dass ein einzelner Hardware-Ausfall nicht alles lahmlegt. Mit einem Proxmox-Cluster und Hochverfügbarkeit (HA) können VMs automatisch auf andere Nodes migriert werden, wenn ein Host ausfällt. In diesem Guide zeige ich dir, wie du einen Proxmox-Cluster mit mindestens drei Nodes aufbaust.

Was ist ein Proxmox-Cluster?

Ein Proxmox-Cluster verbindet mehrere Proxmox VE-Hosts zu einer gemeinsam verwalteten Einheit. Vorteile:

  • Zentrale Verwaltung: Alle Nodes über eine einzige Weboberfläche verwalten
  • Live-Migration: VMs ohne Downtime zwischen Hosts verschieben
  • Hochverfügbarkeit (HA): VMs automatisch neu starten, wenn ein Host ausfällt
  • Gemeinsamer Storage: Shared Storage über Ceph oder NFS für VMs

Voraussetzungen

Für einen Proxmox-Cluster mit HA benötigst du:

  • Mindestens 3 Nodes: Für Quorum (Abstimmungsmehrheit) sind 3 Nodes Minimum
  • Gleiche Proxmox VE Version auf allen Nodes
  • Netzwerk: Alle Nodes im gleichen Netzwerksegment erreichbar
  • Zeit-Synchronisierung: NTP auf allen Nodes konfiguriert
  • Für HA: Gemeinsamer Storage (Ceph, NFS, iSCSI)

Cluster erstellen – Schritt für Schritt

Schritt 1: Cluster auf dem ersten Node erstellen

Auf Node 1 (der zukünftige Master):

pvecm create mein-homelab-cluster

Alternativ in der Weboberfläche: Datacenter → Cluster → Create Cluster

Schritt 2: Weitere Nodes dem Cluster hinzufügen

Hole zuerst die Join-Information vom Master-Node:

# Auf Node 1:
pvecm info

Auf jedem weiteren Node (Node 2, Node 3):

pvecm add <IP-von-Node1>

Du wirst nach dem Root-Passwort von Node 1 gefragt. Nach wenigen Sekunden ist der Node dem Cluster beigetreten.

Schritt 3: Cluster-Status prüfen

pvecm status
pvecm nodes

Alle Nodes sollten als „online“ und mit korrektem Quorum angezeigt werden.

Shared Storage mit Ceph einrichten

Für Hochverfügbarkeit brauchen alle Nodes Zugriff auf denselben Storage, damit VMs auf einem anderen Node weiterlaufen können, wenn ein Node ausfällt. Die eleganteste Lösung ist Ceph – ein verteiltes, redundantes Speichersystem, das direkt in Proxmox integriert ist.

Ceph installieren

# Auf allen Nodes:
pveceph install

Oder in der Weboberfläche: Node → Ceph → Install

Ceph initialisieren (auf Node 1)

pveceph init --network 10.10.10.0/24

Monitor-Daemons einrichten

Auf jedem Node einen Monitor starten:

pveceph mon create

OSDs erstellen (Storage-Daemons)

Jeder Node braucht mindestens eine dedizierte Festplatte für Ceph (nicht die Systemfestplatte!). In der Weboberfläche: Node → Ceph → OSD → Create OSD.

Ceph Pool erstellen

pveceph pool create vm-pool --size 3 --min_size 2

Füge den Pool als Proxmox-Storage hinzu: Datacenter → Storage → Add → RBD

Hochverfügbarkeit (HA) konfigurieren

HA-Gruppe erstellen

In der Weboberfläche: Datacenter → HA → Groups → Add. Füge alle drei Nodes hinzu und vergib Prioritäten.

VM für HA aktivieren

  1. Stelle sicher, dass die VM auf Ceph-Storage liegt
  2. Gehe zu Datacenter → HA → Resources → Add
  3. Wähle die VM und die HA-Gruppe

Die VM wird nun automatisch auf einem anderen Node neu gestartet, wenn der aktuelle Node ausfällt.

Live-Migration testen

# VM 100 von aktuellem Node auf pve2 migrieren (ohne Downtime)
qm migrate 100 pve2 --online

Oder in der Weboberfläche: Rechtsklick auf VM → Migrate

Nützliche Cluster-Befehle

# Cluster-Status
pvecm status

# Node-Liste
pvecm nodes

# HA-Status
ha-manager status

# Ceph-Status
ceph -s

Proxmox Cluster einrichten: Häufige Probleme und Lösungen

Quorum verloren – Was tun?

Wenn ein Node ausfällt und das Cluster kein Quorum mehr hat (z.B. bei 2 von 3 Nodes ausgefallen), ist das Cluster „frozen“ – keine Änderungen möglich. Notfall-Lösung (nur für Recovery!):

pvecm expected 1

Damit setzt du das erwartete Quorum auf 1, was den verbleibenden Node als Cluster-Mehrheit behandelt. Vorsicht: Nur für Recovery-Szenarien nutzen!

Node aus dem Cluster entfernen

# Auf dem Master-Node
pvecm delnode ausgefallener-node

Ceph-Performance optimieren

  • NVMe als OSD: Nutze NVMe-SSDs als Ceph-OSDs für deutlich bessere IOPS
  • BlueStore: Standard seit Ceph Nautilus – automatisch bessere Performance als FileStore
  • Netzwerk: Ein dediziertes 10-GbE-Netzwerk für Ceph-Replikation verbessert die Performance erheblich
  • RAM: Mindestens 1 GB RAM pro OSD als Faustregel

VM-Migration fehlgeschlagen

Wenn die Live-Migration scheitert:

  • Prüfe, ob Shared Storage auf beiden Nodes verfügbar ist
  • Überprüfe die Netzwerkverbindung zwischen den Nodes
  • Offline-Migration (kurze Downtime) als Alternative: Migration ohne –online Flag

Backup-Strategien für den Proxmox-Cluster

Hochverfügbarkeit schützt vor Hardware-Ausfällen, ersetzt aber kein Backup. Im Proxmox-Cluster sollten Backups nach der bewährten 3-2-1-Regel organisiert werden: drei Kopien der Daten, auf zwei verschiedenen Medien, davon eine Offsite-Kopie.

Proxmox Backup Server (PBS)

Proxmox Backup Server ist die empfohlene Backup-Lösung für Proxmox-Cluster. PBS arbeitet inkrementell auf Block-Ebene und spart durch Deduplizierung erheblich Speicherplatz. Typische Einrichtungsschritte:

  • PBS als separate VM oder auf einem dedizierten Host installieren – nicht auf einem Cluster-Node, um eine Abhängigkeit zu vermeiden
  • Datastore in PBS anlegen und Aufbewahrungsrichtlinien definieren (z.B. 7 tägliche, 4 wöchentliche, 3 monatliche Backups)
  • PBS als Backup-Storage in Proxmox unter Datacenter → Storage einbinden
  • Backup-Jobs für alle VMs und Container unter Datacenter → Backup einrichten
  • Regelmäßige Restore-Tests durchführen – ein Backup, das nicht wiederherstellbar ist, ist kein Backup
# Manuelles Backup einer VM auf PBS
vzdump 100 --storage pbs-storage --mode snapshot --compress zstd

Zusätzlich sollten Ceph-spezifische Backups bedacht werden: RBD-Snapshots lassen sich mit rbd snap create anlegen und auf entfernte Ceph-Cluster replizieren.

Cluster-Upgrades sicher durchführen

Ein Proxmox-Cluster-Upgrade erfordert sorgfältige Planung, besonders wenn Ceph und Hochverfügbarkeit aktiv sind. Die empfohlene Vorgehensweise für ein Rolling Upgrade:

  • Schritt 1 – Vorbereitung: Vollständige Backups aller VMs und Container erstellen. Cluster-Status mit pvecm status und ceph status prüfen – alles muss HEALTH_OK sein.
  • Schritt 2 – Einen Node nach dem anderen: Zuerst VMs vom Upgrade-Kandidaten auf andere Nodes migrieren (Node → Migrate). HA-gesicherte VMs werden automatisch verschoben.
  • Schritt 3 – Node aktualisieren: apt update && apt dist-upgrade auf dem jeweiligen Node ausführen. Danach neu starten und den Node-Status im Cluster überwachen.
  • Schritt 4 – Ceph OSDs aktualisieren: Nach dem Node-Upgrade die Ceph-OSDs prüfen und ggf. den OSD out/in Zyklus manuell steuern: ceph osd out osd.X vor dem Neustart.
  • Schritt 5 – Wiederholen: Den Vorgang für jeden weiteren Node wiederholen, dabei auf den Cluster-Quorum achten. Niemals zwei Nodes gleichzeitig upgraden.

Cluster-Monitoring einrichten

Ein Cluster ohne Monitoring ist blind. Für Proxmox-Cluster empfiehlt sich der klassische Stack aus Prometheus, Grafana und dem Proxmox-Exporter:

  • proxmox-ve-exporter: Stellt Cluster-Metriken für Prometheus bereit – CPU, RAM, Disk-I/O pro VM, Ceph-Health und Node-Status
  • Grafana-Dashboard: Das Community-Dashboard “Proxmox Cluster” (ID: 10347) visualisiert alle wichtigen Metriken übersichtlich
  • Alertmanager: Benachrichtigungen per E-Mail oder Telegram bei kritischen Ereignissen wie Ceph HEALTH_WARN oder Node-Ausfall

Proxmox selbst bietet unter Datacenter → Metric Server eine direkte Integration mit InfluxDB und Graphite. Wer keinen separaten Prometheus-Stack betreiben möchte, kann Metriken direkt in eine lokale InfluxDB-Instanz schreiben und mit Grafana visualisieren:

# In der Proxmox-UI unter Datacenter -> Metric Server:
# Server: influxdb.local:8086
# Database: proxmox
# Protocol: http

Zusätzlich sollte Ceph Manager Dashboard aktiviert werden, das einen direkten Überblick über OSD-Status, Pool-Auslastung und I/O-Statistiken bietet. Es ist mit ceph mgr module enable dashboard schnell aktiviert.

Ceph-Speicherpools optimal konfigurieren

Ceph ist das verteilte Speichersystem, das im Proxmox-Cluster für hochverfügbaren, replizierten Storage sorgt. Die richtige Konfiguration der Storage Pools und Replikationsfaktoren ist entscheidend für Leistung und Ausfallsicherheit:

  • Replikationsfaktor 3: Standard für einen 3-Node-Cluster – Daten werden dreifach gespeichert, ein Node-Ausfall ist tolerierbar. Im Homelab mit 3 Nodes ist dies die einzig sinnvolle Konfiguration.
  • Erasure Coding: Für größere Cluster (6+ Nodes) bietet Erasure Coding bessere Speichereffizienz als Replikation 3, ist aber rechenintensiver und für VMs weniger geeignet (eher für S3-Objektspeicher mit RGW).
  • Separate Pools für VMs und Metadaten: Der ceph_metadata-Pool sollte auf schnellen NVMe-SSDs liegen, während der ceph_data-Pool auf günstigeren HDDs gespeichert werden kann. Dies realisiert man über unterschiedliche CRUSH-Rules.
  • PG-Anzahl richtig wählen: Zu wenige Placement Groups (PGs) reduzieren die Parallelität, zu viele erhöhen den Overhead. Der Ceph PG Calculator unter ceph.io/pgcalc gibt gute Empfehlungen je nach Cluster-Größe.

Nach Änderungen an der Ceph-Konfiguration den Cluster-Status mit ceph -s und ceph osd df überprüfen, um Ungleichgewichte in der Datenverteilung frühzeitig zu erkennen.

Fazit: Professionelle HA im Homelab

Ein Proxmox-Cluster mit Ceph und Hochverfügbarkeit bringt echte Enterprise-Features ins Homelab. Die Einrichtung ist aufwendiger als ein einzelner Proxmox-Host, aber der Lerneffekt ist enorm – und kritische Dienste laufen dank HA auch bei Hardware-Ausfall weiter. Als Einstieg reichen drei kleine Mini-PCs oder gebrauchte Server für einen funktionsfähigen HA-Cluster.

Ähnliche Beiträge