Wer mehrere Proxmox-Server betreibt, möchte diese früher oder später gemeinsam verwalten. Genau dafür bietet Proxmox VE seine integrierte Cluster-Funktion. Statt sich auf jedem Host einzeln anzumelden, lassen sich alle Nodes über eine gemeinsame Verwaltungsoberfläche erreichen. Auch die Migration von virtuellen Maschinen und der spätere Aufbau einer hochverfügbaren Infrastruktur werden dadurch möglich.
Die Einrichtung eines Proxmox-Clusters ist grundsätzlich unkompliziert. Einige Dinge sollte man allerdings vorher klären – insbesondere die Netzwerkkonfiguration und die Frage, wie viele Nodes zum Einsatz kommen sollen.
In dieser Anleitung erstellen wir einen neuen Proxmox-Cluster, fügen weitere Nodes hinzu und überprüfen anschließend, ob die Cluster-Kommunikation ordnungsgemäß funktioniert.
1. Voraussetzungen für einen Proxmox Cluster
Bevor wir beginnen, benötigen wir mindestens zwei eigenständige Proxmox-VE-Installationen.
Für unsere Anleitung verwenden wir drei Nodes. Damit lässt sich nicht nur die gemeinsame Verwaltung testen, sondern auch das Quorum-Konzept sinnvoll nachvollziehen.
Die Beispielumgebung besteht aus:
-
pve1: 192.168.10.11
-
pve2: 192.168.10.12
-
pve3: 192.168.10.13
Jeder Node benötigt eine eigene IP-Adresse und einen eindeutigen Hostnamen.
Außerdem sollten folgende Voraussetzungen erfüllt sein:
-
Auf allen Nodes ist eine kompatible, möglichst identische Proxmox-VE-Version installiert.
-
Die Hosts können sich gegenseitig über das Netzwerk erreichen.
-
Die Systemzeit ist auf allen Nodes synchronisiert.
-
SSH-Verbindungen zwischen den Nodes sind möglich.
-
Die benötigten Corosync-Ports sind erreichbar.
-
Die Nodes, die einem bestehenden Cluster beitreten sollen, enthalten noch keine VMs oder Container.
Wichtig: Beim Beitritt zu einem bestehenden Cluster wird die Cluster-Konfiguration des neuen Nodes übernommen. Bereits vorhandene VM- oder Container-Konfigurationen können dabei verloren gehen beziehungsweise überschrieben werden. Neue Nodes sollten deshalb möglichst frisch installiert sein.
Für produktive Systeme empfiehlt es sich, die Netzwerkkonfiguration bereits vor der Cluster-Erstellung endgültig festzulegen. Nachträgliche Änderungen an Hostnamen oder Cluster-IP-Adressen sind möglich, können aber erheblichen Aufwand verursachen.
2. Netzwerk und Hostnamen überprüfen
Bevor wir den Cluster erstellen, kontrollieren wir zunächst die Erreichbarkeit unserer Nodes.
Auf jedem Proxmox-Host lässt sich der aktuelle Hostname mit folgendem Befehl anzeigen:
hostname -f
Die IP-Adressen können wir mit folgendem Befehl überprüfen:
ip addr
Anschließend testen wir beispielsweise vonpve1aus, ob die beiden anderen Hosts erreichbar sind:
ping -c 4 192.168.10.12
ping -c 4 192.168.10.13
Das funktioniert natürlich nur, wenn ICMP im Netzwerk nicht blockiert wird.
Zusätzlich sollte die Namensauflösung korrekt funktionieren. Dafür können DNS oder lokale Einträge in /etc/hosts verwendet werden.
Ein möglicher Ausschnitt aus der Datei sieht so aus:
192.168.10.11 pve1.example.internal pve1
192.168.10.12 pve2.example.internal pve2
192.168.10.13 pve3.example.internal pve3
Die Hostnamen müssen zur tatsächlichen Konfiguration der jeweiligen Nodes passen.
Auch die Uhrzeit sollten wir kontrollieren:
timedatectl status
Eine funktionierende Zeitsynchronisation ist wichtig, da die Cluster-Kommunikation auf eine konsistente Zeitbasis angewiesen ist.
Braucht Corosync ein eigenes Netzwerk?
Für einen ersten Testcluster kann die Cluster-Kommunikation über das Management-Netzwerk erfolgen.
Bei produktiven Installationen sollte Corosync dagegen möglichst über ein separates, zuverlässiges Netzwerk kommunizieren.
Corosync benötigt zwar vergleichsweise wenig Bandbreite, reagiert aber empfindlich auf hohe Latenzen und Paketverluste.
Wenn beispielsweise große Datenmengen zwischen Storage-Systemen übertragen werden und sich dieser Traffic die Verbindung mit Corosync teilt, kann das die Stabilität des Clusters beeinträchtigen.
In unserem Beispiel könnten die Nodes deshalb zusätzlich folgende IP-Adressen erhalten:
Corosync-Netzwerk:
pve1: 10.10.10.11
pve2: 10.10.10.12
pve3: 10.10.10.13
Für die folgende Einrichtung verwenden wir dieses separate Netzwerk. Wer nur eine Netzwerkschnittstelle zur Verfügung hat, kann stattdessen das Management-Netzwerk nutzen.
3. Proxmox Cluster über die Weboberfläche erstellen
Am einfachsten lässt sich ein Cluster direkt über die Proxmox-Weboberfläche erstellen.
Dazu öffnen wir zunächst die Verwaltungsoberfläche unseres ersten Nodes:
https://192.168.10.11:8006
Nach der Anmeldung navigieren wir zu:
Datacenter → Cluster → Create Cluster
Anschließend vergeben wir einen Namen für unseren Cluster, beispielsweise:
lab-cluster
Unter Cluster Network (Link 0) wählen wir die Netzwerkschnittstelle beziehungsweise IP-Adresse aus, über die Corosync kommunizieren soll.
In unserem Beispiel ist das:
10.10.10.11
Falls kein separates Corosync-Netzwerk eingerichtet wurde, verwenden wir stattdessen die Management-IP.
Mit einem Klick auf Create erstellt Proxmox die benötigte Cluster-Konfiguration.
Im Hintergrund richtet Proxmox unter anderem Corosync und das gemeinsame Cluster-Dateisystem ein.
Nach kurzer Zeit sollte die Cluster-Erstellung abgeschlossen sein.
Damit besteht unser Cluster zunächst aus genau einem Node.
Das ist normal. Die weiteren Nodes fügen wir im nächsten Schritt hinzu.
4. Weitere Nodes zum Proxmox Cluster hinzufügen
Um unseren zweiten Node hinzuzufügen, benötigen wir zunächst die Verbindungsinformationen des bestehenden Clusters.
Dazu öffnen wir auf pve1:
Datacenter → Cluster → Join Information
Hier stellt Proxmox die Informationen bereit, die ein neuer Node für den Cluster-Beitritt benötigt.
Wir klicken auf Copy Information.
Anschließend öffnen wir die Weboberfläche unseres zweiten Nodes:
https://192.168.10.12:8006
Dort navigieren wir ebenfalls zu:
Datacenter → Cluster
Diesmal wählen wir allerdings Join Cluster.
In das entsprechende Feld fügen wir die zuvor kopierten Join-Informationen ein.
Proxmox übernimmt damit bereits einen Großteil der benötigten Einstellungen.
Zusätzlich müssen wir das Root-Passwort eines bestehenden Cluster-Nodes eingeben und die korrekte Netzwerkverbindung für Link 0 auswählen.
Für pve2 verwenden wir:
10.10.10.12
Nach einem Klick auf Join beginnt Proxmox mit dem Cluster-Beitritt.
Während dieses Vorgangs wird unter anderem die Cluster-Konfiguration übertragen. Dabei können sich auch die Zertifikate des neuen Nodes ändern.
Falls die Weboberfläche anschließend kurzzeitig nicht erreichbar ist oder die Sitzung beendet wird, ist das nicht ungewöhnlich. In diesem Fall laden wir die Seite neu und melden uns erneut an.
Nach erfolgreichem Beitritt sollten unter Datacenter beide Nodes sichtbar sein.
Den dritten Node fügen wir auf dieselbe Weise hinzu.
In unserer Beispielumgebung lautet dessen Corosync-IP:
10.10.10.13
Anschließend besteht unser Cluster aus drei Nodes.
5. Proxmox Cluster alternativ über die Kommandozeile erstellen
Wer regelmäßig mit Proxmox arbeitet oder die Einrichtung automatisieren möchte, kann den Cluster auch über die Kommandozeile erstellen.
Proxmox stellt dafür das Werkzeug pvecm bereit.
Hinweis: Dieser Abschnitt beschreibt eine Alternative zur Einrichtung über die Weboberfläche. Wenn der Cluster bereits wie oben beschrieben erstellt wurde, dürfen wir ihn nicht erneut mit pvecm create anlegen.
Cluster erstellen
Auf unserem ersten Node melden wir uns per SSH an:
ssh root@192.168.10.11
Anschließend erstellen wir den Cluster:
pvecm create lab-cluster --link0 10.10.10.11
Dabei steht lab-cluster für den gewünschten Clusternamen.
Mit "--link0" geben wir explizit die lokale IP-Adresse an, über die Corosync kommunizieren soll.
Ohne diesen Parameter verwendet Proxmox normalerweise die aus dem Hostnamen ermittelte Adresse.
Den aktuellen Status können wir anschließend überprüfen:
pvecm status
Zweiten Node hinzufügen
Jetzt melden wir uns auf pve2 an:
ssh root@192.168.10.12
Der Cluster-Beitritt erfolgt mit:
pvecm add 192.168.10.11 --link0 10.10.10.12
Die erste IP-Adresse bezeichnet einen bereits vorhandenen Cluster-Node.
Die Adresse hinter --link0 ist dagegen die lokale Corosync-IP des beitretenden Nodes.
Nach Eingabe der benötigten Zugangsdaten wird der Node dem Cluster hinzugefügt.
Dritten Node hinzufügen
Auf pve3 führen wir entsprechend aus:
pvecm add 192.168.10.11 --link0 10.10.10.13
Damit ist auch der dritte Node Teil unseres Clusters.
6. Cluster-Status überprüfen
Nach der Einrichtung sollten wir nicht direkt mit der Installation zusätzlicher Komponenten beginnen.
Zunächst kontrollieren wir, ob alle Nodes korrekt miteinander kommunizieren.
Der wichtigste Befehl dafür lautet:
pvecm status
Die Ausgabe enthält unter anderem Informationen über den Cluster-Namen, die Anzahl der Nodes und den Quorum-Status.
Bei einem funktionierenden Drei-Node-Cluster sollte beispielsweise Folgendes erkennbar sein:
Expected votes: 3
Total votes: 3
Quorum: 2
Quorate: Yes
Die konkreten Werte und die Darstellung können je nach Proxmox-Version und Cluster-Konfiguration abweichen.
Entscheidend ist zunächst:
Quorate: Yes
Damit besitzt der Cluster die erforderliche Mehrheit.
Zusätzlich können wir uns alle Nodes anzeigen lassen:
pvecm nodes
Und mit:
systemctl status corosync
überprüfen wir, ob der Corosync-Dienst auf dem jeweiligen Node läuft.
Falls Probleme auftreten, liefert häufig auch das Journal hilfreiche Informationen:
journalctl -u corosync -n 100 --no-pager
Gerade bei Kommunikationsproblemen lohnt sich ein Blick auf diese Ausgabe.
7. Was passiert, wenn ein Node ausfällt?
Nach erfolgreicher Einrichtung bietet sich ein erster einfacher Test an.
Wir können einen der drei Nodes kontrolliert herunterfahren und beobachten, wie der Cluster reagiert.
Solche Tests sollten zunächst nur in einer isolierten Testumgebung ohne produktive Workloads durchgeführt werden.
In unserem Drei-Node-Cluster besitzt jeder Node normalerweise eine Stimme.
Der Cluster benötigt eine Mehrheit von zwei Stimmen, um das Quorum aufrechtzuerhalten.
Wenn beispielsweise pve3 heruntergefahren wird, bleiben pve1 und pve2 erreichbar.
Damit verfügt der Cluster weiterhin über zwei von ursprünglich drei Stimmen.
Das Quorum bleibt erhalten.
Fällt anschließend allerdings ein weiterer Node aus, besitzt der verbleibende Node keine Mehrheit mehr.
Proxmox schützt die Cluster-Konfiguration in dieser Situation vor widersprüchlichen Änderungen.
Im Cluster-Dateisystem sind dann beispielsweise keine normalen schreibenden Änderungen mehr möglich.
Wichtig: Dass der Cluster Quorum besitzt, bedeutet noch nicht, dass laufende virtuelle Maschinen automatisch auf einen anderen Node verschoben oder neu gestartet werden.
Dafür benötigt man zusätzlich eine passende High-Availability-Konfiguration und eine geeignete Storage-Architektur.
8. Typische Fehler bei der Cluster-Erstellung
Obwohl die Einrichtung relativ einfach ist, treten immer wieder ähnliche Probleme auf.
Der zweite Node kann nicht beitreten
Hier sollte zunächst die Erreichbarkeit überprüft werden.
Können sich die Nodes gegenseitig erreichen? Funktioniert SSH? Sind die benötigten Ports freigegeben?
Auch eine fehlerhafte Namensauflösung kann Probleme verursachen.
Unterschiedliche Proxmox-Versionen
Die Nodes sollten möglichst denselben aktuellen Proxmox-VE-Versionsstand verwenden.
Unterschiedliche Hauptversionen sind für den regulären Cluster-Betrieb nicht vorgesehen. Während eines kontrollierten Upgrades können vorübergehend Ausnahmen gelten.
Corosync verwendet das falsche Netzwerk
Wer mehrere Netzwerkschnittstellen verwendet, sollte vor der Cluster-Erstellung prüfen, welche IP-Adresse für Link 0 ausgewählt wurde.
Wird versehentlich ein ungeeignetes Netzwerk verwendet, können später Kommunikationsprobleme auftreten.
Bereits vorhandene virtuelle Maschinen auf dem neuen Node
Ein häufiger Fehler ist der Versuch, zwei bereits produktiv genutzte Proxmox-Installationen einfach zusammenzuführen.
Das ist nicht mit dem regulären Cluster-Beitritt gleichzusetzen.
Neue Nodes sollten möglichst leer sein. Bestehende virtuelle Maschinen müssen bei Bedarf vorher gesichert und anschließend kontrolliert übernommen werden.
Cluster verliert das Quorum
Besonders bei Clustern mit nur zwei Nodes ist das Quorum ein wichtiges Thema.
Fällt einer der beiden Nodes aus, besitzt der verbleibende Node normalerweise keine Mehrheit mehr.
Eine mögliche Lösung ist ein zusätzliches QDevice, das eine weitere Stimme bereitstellt.
Darauf gehen wir in unserem separaten Artikel „Proxmox Cluster mit 2 Nodes – Quorum und QDevice“ ausführlicher ein.
9. Wie geht es nach der Cluster-Erstellung weiter?
Mit der Einrichtung des Clusters haben wir zunächst die Grundlage für eine gemeinsame Verwaltung geschaffen.
Im nächsten Schritt können wir beispielsweise:
-
virtuelle Maschinen zwischen Nodes migrieren,
-
zusätzliche Nodes hinzufügen,
-
Storage-Systeme in den Cluster integrieren,
-
einen Ceph-Cluster aufbauen,
-
High Availability konfigurieren,
-
einen Proxmox Backup Server anbinden.
Dabei sollte man sich bewusst machen, dass die einzelnen Funktionen unterschiedliche Voraussetzungen haben.
Ein funktionierender Cluster allein stellt beispielsweise noch keinen gemeinsam verfügbaren Storage bereit.
Für Migrationen und Hochverfügbarkeit müssen wir deshalb auch die Datenträger und das Netzwerk berücksichtigen.
Wer Proxmox neu kennenlernt, sollte sich zunächst mit Cluster-Kommunikation, Quorum und Migrationen beschäftigen, bevor er mit Ceph oder HA beginnt.
10. Proxmox Cluster in einer Schulungsumgebung ausprobieren
Wer Proxmox nicht nur theoretisch kennenlernen möchte, sollte die einzelnen Schritte möglichst selbst durchführen.
Gerade bei Themen wie Corosync oder Quorum hilft es, das Verhalten des Clusters in unterschiedlichen Situationen zu beobachten.
Dafür muss man allerdings nicht zwangsläufig mehrere eigene Server anschaffen.
Mit unserer Proxmox-Schulungsumgebung stellen wir für einen frei wählbaren Nutzungszeitraum mehrere isolierte Proxmox-Nodes sowie einen Jumphost bereit.
Die Teilnehmer können die Installation und anschließende Cluster-Konfiguration selbst durchführen.
So lassen sich beispielsweise ein Zwei- oder Drei-Node-Cluster aufbauen, Nodes hinzufügen und unterschiedliche Ausfallszenarien untersuchen.
Die Umgebung eignet sich sowohl für eigene Tests als auch für technische Schulungen und Workshops.
Proxmox-Schulungsumgebung im Dimensio-Shop ansehen
Fazit
Einen Proxmox-Cluster zu erstellen, ist mit wenigen Schritten erledigt. Sowohl die Weboberfläche als auch das Kommandozeilenwerkzeug pvecm bieten dafür einen unkomplizierten Weg.
Die eigentliche Herausforderung liegt meist nicht beim Erstellen des Clusters, sondern bei den Voraussetzungen: Eine stabile Netzwerkverbindung, korrekt konfigurierte Hosts und ein funktionierendes Quorum sind entscheidend für einen zuverlässigen Betrieb.
Wer diese Grundlagen verstanden hat, kann den Cluster anschließend gezielt erweitern und sich mit Themen wie Ceph, High Availability oder verteiltem Storage beschäftigen.
Weiterführende Artikel
-
Proxmox Cluster – der vollständige Guide
-
Proxmox Cluster mit 2 Nodes: Quorum und QDevice
-
Proxmox Node zu einem Cluster hinzufügen
-
Corosync in Proxmox erklärt
-
Proxmox HA einrichten und testen
Offizielle Dokumentation: Proxmox VE – Cluster Manager