Proxmox Cluster? Ja, aber!

Server in einem Serverraum als Illustration für den Artikel

Wenn man sich im Internet umsieht, wie man seinen Proxmox-Server ausfallsicher bekommt, dann stößt man direkt auf die Antwort: Cluster. Klingt im ersten Moment nach einer vernünftigen Sache: Mehrere Proxmox-Instanzen bilden einen Verbund und sorgen so für mehr Stabilität.

Die Sache hat aber Haken.

Haken 1: Das Quorum

Das WAS? Komischer Name, oder? Wörtlich übersetzt bedeutet Quorum „Abstimmung“ oder „Mehrheit“. Und das ist es auch. Im Grunde genommen stimmen die an einem Cluster beteiligten Instanzen darüber ab, wie gut es dem Cluster gerade geht. Hat man nun lediglich 2 Server in einem Cluster gekoppelt, dann kann man das Quorum vergessen, denn es ergibt sich bei zwei Beteiligten kein eindeutiges Bild. Man braucht also einen dritten „Abstimmer“. Dazu braucht man entweder einen dritten Proxmox-Server (der kann auf einer schwachen Hardware wie einem Raspberry laufen) oder ein Q-Device (ein kleiner Linux-Server, der nur die Pakete am laufen hat, die dem Quorum dienen) auf kleiner Hardware. eine gute Anleitung hierzu liefert dieser Artikel.

Warum erzähle ich das alles?

Nun, weil mir genau dieses Quorum in die Parade gefahren ist bei meinen Plänen. Denn: Funktioniert eine der Instanzen nicht mehr, kann man auch keine Backups auf eine andere Instanz zurückspielen. Das ist, ehrlich gesagt, voll doof wenn man plant, Dienste auf diesem Wege wieder zu starten, obwohl einer der Kisten ein Problem hat.

Haken 2: Gemeinsames Dateisystem

Damit man Virtuelle Maschinen und LXC-Container zwischen den Instanzen hin. und herschieben kann, benötigen diese ein gemeinsames Dateisystem. Das basiert auf ZFS und fasst die Partitionen der beteiligten Rechner zu einem virtuellen Pool zusammen. Guess what? Auch hier greift wieder das Quorum. Wenn du nur zwei Rechner verwenden willst, kannst du diesen Weg zur Ausfallsicherheit ebenfalls vergessen.

Die Lösung mit einem „echten“ Cluster ist vor allem was für professionelle Anwender. In einem kleinen Homelab tut es vermutlich auch eine kleinere Lösung.

Verstanden. Und jetzt?

Meine Lösung besteht also in zwei komplett unabhängig betriebenen Proxmox-Installationen auf jeweils einem Intel NUC. Der Schlüssel zu mehr Ausfallsicherheit lautet: Backup! Beide Rechner schreiben ihre Backups auf ein Netzlaufwerk, auf das beide Instanzen Zugriff haben. So kann ich bei Ausfall eines NUC die Backups auf dem verbleibenden NUC zurückspielen.

Erster „Haken“ an der Sache: Du solltest deine Speicherausstattung immer im Hinterkopf behalten. denn wenn plötzlich alle VM’s und LXC’s auf nur einem Server laufen sollen, kann RAM knapp werden. In meinem Fall haben beide NUC jeweils 32 GB RAM. Aber klar, du kannst beim Zurückspielen eines Backups die RAM-Größe ja nochmals anpassen. Wir reden ja von einem begrenzten Zeitraum, bis dein zweiter Rechner wieder fit oder ersetzt ist. Vermutlich wirst du auch nicht alle Dienste immer verwenden, was das Problem deutlich entschärft.

Zweiter Nachteil: Du musst dich an beiden Rechner anmelden für Wartungsarbeiten. Das kann ganz schön lästig sein. Außerdem fehlt dir natürlich die Gesamtsicht auf die Metriken deines Systems. Das kann man aber auf anderem Wege einrichten: Grafana zeigt Metriken beider Server in einem Chart an:

Mit Grafana kann man den mangelnden Überblick wiederherstellen
Grafana kann Metriken so darstellen, dass man einen guten Überblick über die Proxmox-Server hat

Wie man so eine Ansicht (und noch viel mehr) mit Prometheus und Grafana hinbekommt, zeige ich in einem der kommenden Beiträge.

Fazit

Unterm Strich habe ich den Eindruck, dass ein Cluster die Komplexität und damit die Anforderungen an das Know-how des Homelab-Betreibers extrem hochschraubt. Wer kein Mini-Rechenzentrum betreiben will, sondern eine Lösung für Notfälle sucht, kommt mit zwei separat betriebenen Installationen gut durch. Das Internet ist voll von Hilfeschreiben ratsuchender Freizeit-Admins, denen ihr Proxmox-Cluster Ärger bereitet. Nach zwei Versuchen mit Cluster unter Proxmox habe ich es aufgegeben. Ich will meine Zeit nicht damit vergeuden, meinen Cluster zu hegen und zu pflegen, sondern möchte spannende Projekte im Homelab betreiben.