Cloud-Service- und
Cloud-Technologie-
Provider
Cloud-Service- und
Cloud-Technologie-Provider
Suche

Unsere Mission
Future of compute - green, open, efficient

Blog.

Step-by-Step Guideline für die Erstellung eines Proxmox-Test-Clusters mit High Availability per WebGUI

Geschrieben von Marek Weber
Step-by-Step Guideline für die Erstellung eines Proxmox-Test-Clusters mit High Availability per WebGUI

In einer zunehmend digitalisierten Welt setzen viele Unternehmen darauf, ihre Dienste und Anwendungen in virtuellen Maschinen (VMs) skalierbar und hochverfügbar zu betreiben – aus gutem Grund: Wirtschaftlichkeit und Energieeffizienz stehen mehr denn je im Fokus. Gerade für kleinere On-Premises Umgebungen kommt neben Yaook OpenStack auch Proxmox VE als attraktive Lösung ins Spiel. Die hochintegrierte Open-Source-Virtualisierungsplattform bietet eine kosteneffiziente Möglichkeit, die Verwaltung von VMs und LXContainern, Software-defined Storage (SDS) sowie Hochverfügbarkeits-Clustering in einer einzigen, abgestimmten Lösung zu bündeln. Damit geht Proxmox VE weit über die reine Virtualisierung von Workloads hinaus.

Mit einem Proxmox VE-Testcluster kannst du nicht nur eine mobile Entwicklungsumgebung aufsetzen, sondern auch erste Erfahrungen mit der Cluster-Konfiguration und dem Hochverfügbarkeitskonzept via Corosync und Ceph sammeln.

In diesem Blogbeitrag zeigen wir dir Schritt für Schritt, wie du schnell und unkompliziert ein Proxmox-Test-Cluster mit drei Knoten aufsetzen kannst. Die Anleitung haben wir direkt auf einem Laptop erstellt, der uns als handliche, reisetaugliche Entwicklungsumgebung dient. Eine ausführliche Anleitung zur Proxmox-Installation findest du hier.

Ziel dieses Beitrags ist es, dir zu zeigen, dass Proxmox weit mehr kann als nur Ressourcen zu virtualisieren. Besonders überzeugend ist die unkomplizierte Einrichtung von Hochverfügbarkeit – ein entscheidender Vorteil für Unternehmen, die Ausfallzeiten wirksam reduzieren wollen.

Was dich im Blogpost erwartet:

1. Das Setup

Für die Erstellung eines Proxmox-Clusters verwenden wir in diesem Beispiel drei virtuelle Proxmox VE-Maschinen, die als minimales Proxmox-High-Availability-Cluster mit einem zusätzlichen integrierten Ceph-Cluster konfiguriert werden. Das Cluster besteht aus den Maschinen px1, px2 und px3, wobei jede Maschine über drei Netzwerkinterfaces (net0, net1 und net2) für die folgenden Funktionen verfügt: 

  • Uplink  [10.10.10.10x/24] -> genereller Netzwerkverkehr, inkl. Management
  • Corosync [10.10.11.1x/24] -> Hochverfügbarkeit via repliziertem Clustervolume
  • Ceph [10.10.12.1x/24] -> Replikation des Storages

Zur Veranschaulichung wurde bereits eine Abbildung im Blogbeitrag zum Vergleich von Proxmox und OpenStack erstellt, die den 3-Knoten-HA-Cluster mit Broadcast Bonds und Direktverkabelung zeigt.

Für die Installation der einzelnen VMs kann man entweder vorbereitete virtuelle Templates, oder die Anleitung zur Installation basierend auf dem ISO-Image nutzen.

In der Anleitung wird das Clustering in zwei Phasen behandelt. Zunächst werden die virtualisierten Proxmox-Knoten miteinander verbunden, indem sie auf dem Hypervisor über gemeinsame virtuelle bridges zusammengeschaltet werden. Die Corosync Cluster Engine, ein Open-Source-Gruppenkommunikationssystem, ermöglicht die Kommunikation zwischen den Knoten und sorgt für eine einheitliche Konfiguration. Zudem können  die Knoten über Corosync Fehler und Ausfälle detektieren .

Im zweiten Schritt wird das Ceph-Cluster eingerichtet, um einen hochverfügbaren Speicher für die Maschinen zu gewährleisten. Die Hochverfügbarkeit ist dann durch die Kombination von Ceph und Corosync möglich, da die virtuellen Maschinen (VMs) im Cluster bei einem Knotenausfall innerhalb kürzester Zeit auf andere Knoten neugestartet werden oder je nach Ressourcenbedarf verteilt werden können.

Die Netzwerke für Corosync und Ceph zeichnen sich durch eine Ringtopologie aus. Die Kommunikation läuft direkt über die nach Ring getrennte virtuelle bridges des Hypervisor, ähnlich einer flachen physikalischen Layer 2-Kommunikation nach ISO/OSI Modell. Jeder Node (px1, px2, px3) verfügt zudem über drei virtuelle Festplatten (scsi1-3) mit einer vorkonfigurierten WWN (World-Wide-Number) pro Festspeicher. In diesem Kontext wird eine spezielle Form der UUID verwendet, um die verschiedenen Speichergeräte eindeutig voneinander zu unterscheiden. Diese Identifikation ist entscheidend für die effiziente Verwaltung und den Betrieb des Speichersystems. Die virtualisierte Umgebung der einzelnen Maschinen wird in Abbildung 1 anschaulich dargestellt.

Abbildung 1: Virtualisierte Umgebung der einzelnen Maschinen

2. Step-by-Step Guideline für die Erstellung eines Proxmox-Text-Clusters mit High Availability per WebGUI

Im ersten Schritt wird erläutert, wie die virtualisierten Proxmox-Knoten mithilfe der Corosync Cluster Engine zu einem Cluster verbunden werden. Der Prozess beginnt, wie in Abbildung 2 dargestellt, mit einer frisch installierten Proxmox-Umgebung. In der sich die VMs noch unabhängig voneinander sind.

Abbildung 2: Ausgangssituation einer Proxmox-Umgebung

In der Vorbereitung sollte auf eine konsistente und korrekte NTP-Konfiguration geachtet werden. Dis kann entweder in /etc/chrony/chrony.conf , oder wie hier im Beispiel in /etc/systemd/timesyncd.conf  gemacht werden.

 

[…]

[Time]

NTP=0.de.pool.ntp.org 1.de.pool.ntp.org 2.de.pool.ntp.org

[…]

 

Wichtig ist, dass alle Knoten sich gegenseitig über ihren Hostnamen im richtigen HA-Netzwerkring erreichen können. Daher sollten die Einträge in der Datei /etc/hosts auf allen Knoten entsprechend gesetzt werden, wie im folgenden Codebeispiel dargestellt.

127.0.0.1       localhost

10.10.11.11     px1

10.10.11.12     px2

10.10.11.13     px3

[…]

3. Erstellung von High Availability in Proxmox per WebGUI

3.1. Erstellung des Corosync-Clusters

Für die Erstellung von High Availability in Proxmox wird in der Oberfläche des Proxmox VE in der DatacenterÜbersicht zu den ClusterOptionen gewechselt.

Abbildung 3: Übersicht der Cluster-Optionen

Im nächsten Schritt erfolgt ein Klick auf den Button Create Cluster.

Abbildung 4: Erstellung des Clusters

Vergib jetzt einen Namen für den Cluster und wähle ein Netzwerk-Interface für die Hochverfügbarkeit auf px1 aus.

Abbildung 5: Vergabe des Clusternamen

Bei erfolgreicher Erstellung öffnet sich das in Abbildung 6 ersichtliche Fenster.

Abbildung 6: Erstellung des Clusters

Im nächsten Schritt werden die Join-Informationen benötigt, um die weiteren Nodes hinzuzufügen. Diese können über einen Klick auf den Button Join Information abgerufen und kopiert werden.

Abbildung 7: Zusammenfassen der Nodes im Cluster

Um alle drei Nodes im Cluster zusammenzufassen, wechsle jetzt auf den zweiten Node (px2) und klicke in der Datacenter-Ansicht auf die Cluster-Option. Wähle dann Join Cluster und füge die zuvor kopierten Join-Informationen ein. Gib das Passwort des Peer-Nodes ein und prüfe, ob dieser im Netzwerk gefunden wird. Wenn alles passt, bestätige mit Join.

Abbildung 8: Zusammenfassen der Nodes im Cluster

Wiederhole diesen Schritt jetzt mit dem dritten Node (px3). Danach sollten – wie in Abbildung 9 gezeigt – alle drei Nodes im Cluster verbunden sein. Sie können nun miteinander kommunizieren und einheitlich konfiguriert werden.

Abbildung 9: Zusammengefasste Knoten im Cluster

3.2. Erstellung des Ceph-Clusters per WebGUI

Im Folgenden wird die Erstellung eines Ceph-Clusters schrittweise dargestellt. Zunächst wird den drei Knoten im Proxmox-Cluster signalisiert, dass ein leeres Ceph-Cluster erstellt werden soll. Dieser Vorgang muss für jeden Knoten einzeln durchgeführt werden. Anschließend wählst du den ersten Knoten aus und öffnen die Ceph Optionen. Klicke nun auf Install Ceph.

Abbildung 10: Ceph-Installation

Wähle die aktuelle Ceph-Version (squid 19.2) und das Repository No-Subscription aus. 

Abbildung 11: Wahl der Ceph-Version und des Repositories

Achtung: Möglicherweise muss die Installation in der Konsolenausgabe bestätigt werden, wie in Abbildung 12 dargestellt.

Abbildung 12: Bestätigung der Ceph-Installation

Im Folgenden wird der Cephnode konfiguriert. Wie in Abbildung 13 dargestellt, sind das Public-Network und das Cluster-Network im Beispiel identisch und wurden auf die IP des Nodes im Ceph Ring gesetzt. Dabei bleiben sowohl die Anzahl der Replica (3) als auch die Minimum Replica (2) bei den voreingestellten Standardwerten, und es wird mit Next bestätigt.

Abbildung 13: Ceph-Cluster-Konfiguration

Mit einem Klick auf den Button Finish kannst du nun die Konfiguration des Ceph beenden.

Abbildung 14: Beenden der Ceph-Konfiguration

3.3. Storagedevices (OSDs) zum Ceph hinzufügen

Für ein erfolgreiches Setup ist es erforderlich,  die zusätzlichen Festplatten die  jedem Knoten zur Verfügung stehen, im Ceph-Cluster mittels Object Storage Daemons bereit zu stellen. Wechsel dazu in der Knotenübersicht zur Ceph-OSD-Unteroption, wie in Abbildung 15 gezeigt.

Abbildung 15: Ceph-OSD-Unteroption

Klicken Sie Create: OSD und wählen Sie die Festplatte als Disk aus. Alle weiteren Optionen können in der Standardeinstellung belassen werden.

Abbildung 16: Create: Ceph-OSD

In der Übersicht erscheint nun ein neuer OSD.

Abbildung 17: Übersicht des neuen OSD

In dieser Übersicht erscheinen dann auch die weiteren OSDs der anderen Knoten nach ihrer Provisionierung.

Abbildung 18: Übersicht aller OSDs der anderen Knoten

Ist die Übersicht der Ceph-Cluster vollständig eingerichtet, sollten alle Knoten den Status up erhalten (Abbildung 19) und die Übersicht sollte den Status HEALTH_OK haben (Abbildung 20).

Abbildung 19: Ceph-Cluster nach vollständiger Einrichtung
Abbildung 20: Ceph-Cluster nach vollständiger Einrichtung

3.4. Erstellung des Ceph-Pools

Zum Abschluss wird der im Ceph-Cluster verfügbare Speicher als Pools bereitgestellt, sodass er effizient von Proxmox VE genutzt werden kann, um unter anderem VM-Disks und Snippets zu speichern. Die folgenden Schritte zur Erstellung des Ceph-Pools müssen nur einmal durchgeführt werden und richten den Pool dann für das gesamte Proxmox-Cluster ein. Wechsel dazu im ersten Schritt zu den Ceph-Pool-Optionen auf dem Proxmox-Knoten und klicke auf „Create“.

Abbildung 21: Übersicht der Ceph-Pool-Optionen

Vergebe einen Namen für den Pool. Der Ceph-Pool sollte nun dem gesamten Proxmox-Cluster zur Verfügung stehen.

Abbildung 22: Create Ceph-Pool
Abbildung 23: Ceph-Pool
Abbildung 24: Ceph-Pool in der Übersicht Storage

4. Zusammenfassung

Zusammenfassend lässt sich sagen, dass dir diese Step-by-Step-Anleitung einen praktischen Einstieg in die Erstellung einer Proxmox-Testumgebung bietet. So kannst du das Tool besser kennenlernen und mit seiner Funktionsweise vertraut werden.

Beachte bitte, dass es sich hier um eine reine Testumgebung handelt, die auf virtualisierten Knoten innerhalb einer Nested Virtualisation basiert. Diese Konfiguration ist nicht ausfallsicher und daher nicht für den produktiven Einsatz geeignet. Für den tatsächlichen Geschäftsbetrieb empfehlen wir eine stabile, physische Infrastruktur in einem leistungsstarken Rechenzentrum, um eine unterbrechungsfreie und zuverlässige Lösung zu gewährleisten.

Hast du Interesse an einer Proxmox-Umgebung für dein Unternehmen? Dann sprich uns gerne an! Wir setzen diese gerne für dich auf und übernehmen das Lifecycle-Management deiner Infrastruktur.

Weitere Blogbeiträge

2025-Cloud-and-Heat-OnPrem-Comeback-Header-ps
Cloud-Lösungen sind nicht immer die günstige Wahl! Steigende Kosten und der Wunsch nach mehr Kontrolle führen Unternehmen zurück zu On-Premise. Entdecke, warum der hybride Ansatz und Open-Source-Tools die Zukunft der digitalen Infrastruktur sind.
Grafik zu Proxmox Funktion
Dieser Artikel vergleicht die Open-Source-Virtualisierungslösungen Proxmox VE und OpenStack. Dabei werden ihre Funktionen und Einsatzmöglichkeiten in unterschiedlichen Szenarien beleuchtet.