Bestpratice Frage: Proxmox Host "clustern"

toffer84

Well-Known Member
Feb 10, 2021
40
4
48
41
Hallo zusammen,

ich würde gerne meinen einizigen Proxmox Host "clustern" :)

Auf dem bisher einzigen laufen 3 LXC's und eine VM (HomeAssistant). Alles liegt (Daten und VMs) auf dem Host selbst.

Wie gehe ich daher am besten vor, wenn ich einen High Availability (HA) Cluster einrichten will? Hardware wäre kein Problem, ich würde gerne einen 2. Host hinzufügen mit den fast gleichen Hardwarevoraussetzungen und einen 3. als Chronos Device (bei mir evtl. eine Synology DS oder auch ein Raspi).

Grüße
Fabian
 
Man kann auf sehr verschiedene Art und Weise einen Cluster bauen. Man kann Konstruktionsdetails nach den "Best practices" ausrichten, oder einfach "irgendwas" basteln. Alles ist möglich. Die formale Referenz ist dort: https://pve.proxmox.com/pve-docs/chapter-pvecm.html#pvecm_cluster_requirements

Das beste Vorgehen ist meiner Meinung nach: 1) Erwartungen präzisieren, 2) planen und hier vorstellen, 3) kritische Rückmeldungen verarbeiten. Erst an vierter Stelle kommt "Geräte beschaffen".

Gerade im Homelab läuft das aber oft anders ;-)

Zurück zu
Wie gehe ich daher am besten vor, wenn ich einen High Availability (HA) Cluster einrichten will?
Idealerweise sollten mehrere gleichwertige Rechner vorhanden sein, zwei ist das absolute Minimum. Die dritte "Stimme" darf gerne in einem Container auf der Synology laufen. https://pve.proxmox.com/pve-docs/chapter-pvecm.html#_corosync_external_vote_support

Denk darüber nach, was "HA" für dich bedeutet und was du damit konkret erreichen willst. Bei mir müssen nicht alle VMs "HA"-enabled laufen.

Der Normalfall ist, dass eine VM auf einem der Nodes läuft. Wenn dieser Host stirbt, wird die VM auf dem anderen Rechner neu gestartet - nach ca. 2 Minuten.

Eine der naheliegenden Fragen ist, woher denn wohl die virtuelle Festplatte dieser neu gestarteten VM kommt. Dazu gibt es zwei grundsätzlich unterschiedliche Ansätze: a) Netzwerkdateisysteme und b) ZFS mit Replikation. Siehe dazu die Spalte "Shared" in dieser Tabelle: https://pve.proxmox.com/pve-docs/chapter-pvesm.html#_storage_types

Aus meiner Sicht sollte man auch von Anfang an einen Backup-Server vorsehen (idealerweise https://pbs.proxmox.com/) und Dinge wie eine USV und redundante Netzwerke zumindest als Thema zur Kenntnis nehmen... und dann möglicherweise bewusst nicht realisieren.

Konkretere Antworten gibt es hier, wenn man konkretere Fragen stellt :-)
 
Last edited:
Lass es komplett bleiben! Du nagelst dir Administrationsaufwand und Fehlerquellen ans Bein, die du gar nicht haben willst.
Stelle eine verlässliche Sicherung deiner 4 Virtualisierungen sicher und schlage entspannt auf, wenn es zum worstcase kommt.
HA kann Proxmox in solchen Umgebungen sowieso nicht. In erheblich schwergewichtigeren Umgebungen auch alles andere als flutschig.
 
  • Like
Reactions: LnxBil
Stelle eine verlässliche Sicherung deiner 4 Virtualisierungen sicher und schlage entspannt auf, wenn es zum worstcase kommt.

Sollte man eh haben, ob mit oder ohne Cluster.
HA kann Proxmox in solchen Umgebungen sowieso nicht. In erheblich schwergewichtigeren Umgebungen auch alles andere als flutschig.

Naja, wenn man sich an die Doku hält ( redundante dezidierte Corosync- und Migrationsnetzwerke ) schon, aber das ist je nach Hardware halt nicht möglich. Da müsste man wissen, welche der OP hat. Gebrauchte Servern haben ja im Regelfall mehrere Netzwerkkarten ( und obszönen Stromverbrauch ), bei Mini-PCs sieht das schon anders aus ;)
 
  • Like
Reactions: UdoB
Sollte man eh haben, ob mit oder ohne Cluster.


Naja, wenn man sich an die Doku hält ( redundante dezidierte Corosync- und Migrationsnetzwerke ) schon, aber das ist je nach Hardware halt nicht möglich. Da müsste man wissen, welche der OP hat. Gebrauchte Servern haben ja im Regelfall mehrere Netzwerkkarten ( und obszönen Stromvserver erbrauch ), bei Mini-PCs sieht das schon anders aus ;)
Hast du in einer Proxmox-"HA"-Umgebung je den Mut zur Lücke mitgebracht einen DB-Server nahtlos umzuziehen zu lassen?
 
Last edited:
Danke für deine ausführliche Antwort, ich versuche die mal schrittweise abzuarbeiten :)

Das beste Vorgehen ist meiner Meinung nach: 1) Erwartungen präzisieren, 2) planen und hier vorstellen, 3) kritische Rückmeldungen verarbeiten. Erst an vierter Stelle kommt "Geräte beschaffen".
Ich betreibe wie gesagt 3 LXCs (Vaulwarden, wg-easy inkl. Rustdesk, Uptime Kuma) und eine VM (HomeAssistant). Diese möchte ich gerne "ausfallsicher" machen. Sobald der jetzige Host (Minisforum TH 80) weg ist, soll halt der zweite übernehmen. So weit, so einfach :) Zumindest in der Theorie...

Gerade im Homelab läuft das aber oft anders ;-)

Zurück zu

Idealerweise sollten mehrere gleichwertige Rechner vorhanden sein, zwei ist das absolute Minimum. Die dritte "Stimme" darf gerne in einem Container auf der Synology laufen. https://pve.proxmox.com/pve-docs/chapter-pvecm.html#_corosync_external_vote_support
Synology hätte ich vorhanden, dort laufen auch schon alle bisherigen Backups der LXCs und der VM hin. Dazu werden sie auch in die Cloud gesynct, falls die DS mal aussteigt.

Denk darüber nach, was "HA" für dich bedeutet und was du damit konkret erreichen willst. Bei mir müssen nicht alle VMs "HA"-enabled laufen.
Sie oben, vorallem HomeAssistant und wg-easy inkl. Rustdesk und der Vaulwarden sollten ausfallsicher sein, weil ich diese täglich brauche. Wichtig ist mir halt, dass ich einen 2 Host habe, falls der erste (jetzt ca. 5 Jahre alt) technisch stirbt.

Der Normalfall ist, dass eine VM auf einem der Nodes läuft. Wenn dieser Host stirbt, wird die VM auf dem anderen Rechner neu gestartet - nach ca. 2 Minuten.

Eine der naheliegenden Fragen ist, woher denn wohl die virtuelle Festplatte dieser neu gestarteten VM kommt. Dazu gibt es zwei grundsätzlich unterschiedliche Ansätze: a) Netzwerkdateisysteme und b) ZFS mit Replikation. Siehe dazu die Spalte "Shared" in dieser Tabelle: https://pve.proxmox.com/pve-docs/chapter-pvesm.html#_storage_types
Wenn ich das richtig verstehe, könnte ich zum Beispiel auf meiner DS920 einen Ordner freigeben, der als virtuelle Festplatte agiert? Die DS hat 2 Volumes (SSD als Systemplatte, 3x 2TB WD RED im RAID5 für die Daten), das sollte doch funktionieren - auch von der Geschwindigkeit oder? Als Netzwerkanbindung habe ich überall 1GBit. Mit ZFS habe ich noch nicht gearbeitet...

Aus meiner Sicht sollte man auch von Anfang an einen Backup-Server vorsehen (idealerweise https://pbs.proxmox.com/) und Dinge wie eine USV und redundante Netzwerke zumindest als Thema zur Kenntnis nehmen... und dann möglicherweise bewusst nicht realisieren.
Bisher mache ich meine Backups aller LXCs und VM auf meine DS920, eine USV ist vorhanden und läuft auch wunderbar (versorgt den ganzen Netzwerkschrank). Redundante Netzwerke habe ich nicht, alles läuft bisher im 192.168.1.0/24 Netz.

Konkretere Antworten gibt es hier, wenn man konkretere Fragen stellt :-)

Soweit erstmal meine hoffentlich präziseren Vorstellungen & Infos über den Status Quo.
 
Hast du in einer Proxmox-"HA"-Umgebung je den Mut zur Lücke mitgebracht einen DB-Server nahtlos umzuziehen zu lassen?
Naja solche Dienste konfiguriert man ja als eigene Cluster, daher ist hier ein HA Schwenk gar nicht nötig. Aber ich gebe Dir Recht, es geht nicht immer gut. Manchmal bekommt der geschwenkte Service dann doch ein Schluckauf.
 
Last edited:
  • Like
Reactions: Johannes S and UdoB
Wenn ich das richtig verstehe, könnte ich zum Beispiel auf meiner DS920 einen Ordner freigeben, der als virtuelle Festplatte agiert?
Ja, sicher!

Am einfachsten ist - mit Abstand - NFS. Möglicherweise will man iSCSI einsetzen, aber das erhöht wieder die Komplexität.

Die virtuellen Disks der VMs liegen dann in dem RAID5? Das ist worst case und aus meiner Sicht nicht akzeptabel. VMs brauchen hinreichend IOPS, um "rund" zu laufen. Seit vielen Jahren ist das eigentlich nur mit SSD/NVMe machbar. Aber probier es aus! Wenn es für dich funktioniert, ist es okay!

Einstiegsfrage war "wie mache ich HA?". Mit HA will man eigentlich sicherstellen, dass ein Element ausfallen darf, und die Dienste weiterhin zur Verfügung stehen. Wenn die virtuellen Disks der VMs auf der Syno liegen, ist a) das Netzwerk und b) die Synology selber jeweils ein Single-Point-of-Failure. Ziel verfehlt.

Für Backups ist die Synology aber sehr wohl brauchbar. Allerdings nur per NFS, "vzdump"-basiert. Für einen dort installierten PBS ist ein reines RAID5 auf Blech nicht wirklich hinreichend. Ich verwende eine solche Kiste mit einem schnellen (und verdammt teurem) Schreibcache auf BTRFS-Ebene. Das funktioniert für mich tatsächlich. Mit "nur Blech" hatte ich unangenehme Timeouts. Zur Relativierung: diese Fehlversuche sind lange her, möglicherweise klappt das mit den aktuellen Releases besser.

Bisher mache ich meine Backups aller LXCs und VM auf meine DS920, eine USV ist vorhanden
Prima :-)

Mit ZFS habe ich noch nicht gearbeitet...
Dann ist nun der Zeitpunkt gekommen.
  • ZFS ist lokaler Storage --> maximale Performance, weil kein Netzwerk usw. involviert ist und viel weniger Abhängigkeiten von dritten Geräten
  • sofern man "kleine" Verluste (seit der letzten Replikation) vertragen kann, ist die ZFS Replikation (täglich, stündlich oder alle paar Minuten) hinreichend und zählt hier als "Shared Storage"!
  • siehe auch https://forum.proxmox.com/threads/f...y-a-few-disks-should-i-use-zfs-at-all.160037/
Jeder Teilbereich (die Nodes, das Netzwerk, der Storage, Backup, ...) wird schnell komplex. Aus meiner Sicht ist ZFS Replikation das Konzept mit der geringsten Komplexität und mit Abstand das Beste hinsichtlich Preis, Performance und Features. (Für kleine Cluster.)
 
Was ich mich gerade Frage. Warum willst Du Deinen einzigen Proxmox Host clustern?
Für die 3 Container ist das bisschen Overhead. Ich würde die Energie lieber in eine gescheite Desaster Recovery Ausarbeitung stecken. Ich meine das läuft doch nicht im Enterprise Umfeld oder? Es ist doch Privat? Da brauch man nicht zwingend einen Cluster, außer man macht es weil man es kann
 
Last edited:
Was ich mich gerade Frage. Warum willst Du Deinen einzigen Proxmox Host clustern?
Für die 3 Container ist das bisschen Overhead. Ich würde die Energie lieber in eine gescheite Desaster Recovery Ausarbeitung stecken. Ich meine das läuft doch nicht im Enterprise Umfeld oder? Es ist doch Privat? Da brauch man nicht zwingend einen Cluster, außer man macht es weil man es kann
Ja, das ist ja genau @TErxleben Einwand. Leider meinen die Leute immer, sie wüssten es halt besser und könnten doch was zusammenknauben weil das ja alles so einfach ist. Ich habe gerade dieses IQ-Gauss-Glocke-Meme vor Augen bei dem links und rechts einfach steht: just use a single server with backup und wir diskutieren hier in der Mitte. Ist nicht das erste Mal im Forum, dass wir darüber diskutieren und auch nicht das letzte Mal. Du kannst das alles natürlich probieren und es wird in einigen Fällen auch prima das abdecken was du willst, aber eben doch in sehr vielen zu Frust führen, weil es nicht so funktioniert und dich wunderst, warum das jetzt so ist wie es ist oder auch was komplett kaputt ist. Lass es dir einfach von Leuten die es schon probiert haben oder halt beruflich machen gesagt sein. Ich muss es auch so hart schreiben wie @TErxleben es formuliert hat: Lass es bleiben.

Minimale (lokale) HA-Lösung, die technisch so funktioniert wie man es erwartet/will ist:
  • redundante Stromversorgung
  • redundante Switche
  • 3 Knoten mit CEPH
Darunter ist es schlicht und ergreifend NICHT MÖGLICH Hochverfügbarkeit zu haben ohne SPOF und warum sollte man Zeit und Geld investieren in eine Lösung, die dann doch nicht wirklich HA ist. Das erzeugt einfach nur Frust und ich rede da auch noch nicht mal über die Dinge, die HA noch so benötigt, wie z.B. redundante Accesspoints, redundate ZigBee/ZWave Konnektoren, Internet für einige Integrationen etc. Du wirst IMMER etwas haben was dann nicht funktioniert, also baue es einfach so resilient wie möglich aber halt mit minimalem Aufwand. Ziehe zum Testen auch einfach mal den Stromstecker und teste.
 
  • Like
Reactions: CoolTux
Cluster unter 10GBit-Netzwerk ist illusorisch.
Solche Aussagen sind meiner Meinung nach schlicht zu hart.

Lies nochmal #1. Es geht um drei Container und eine VM. Natürlich kann man die in einer 1 GBit/s-Umgebung betreiben, auch wenn die Volumes im Netz liegen. Empfehlenswert und erdbebensicher ist das eher nicht - aber es geht hier um ein Homelab.

Allerdings sollte man sich der Einschränkungen und der zusätzlichen Risiken bewusst sein, wenn man "halbe" Sachen macht.

(( Ich habe in meinem Homelab viel zu viele redundante Nodes. Aber nur je ein 1 Gbit/s + ein 2.5 GBit/s (nicht-redundantes) Netzwerk. Darum mache ich eben ZFS statt Ceph... ))

Die Welt besteht aus Kompromissen...
 
Die Welt besteht aus Kompromissen...
Das ist völlig korrekt, man muss halt nur wissen, welche das sind und das ist den meisten leider nicht klar und führt dann zu falschen Annahmen und viel schlimmer falschen Schlußfolgerungen. Natürlich ist das illusorisch zu denken, das alles zu wissen, wenn man nicht gerade Vollzeit sich damit beschäftigt und an der Stelle ist auch die Dokumentation (generell, nicht nur bei PVE) sehr dürftig. Das sind ja generell konzeptionelle Probleme, die sehr viel Hintergrundwissen bedürfen. Alleine hochverfügbares Storage ist verdammt schwer korrekt umzusetzen und clusterweite crash-Konsistenz zu garantieren.

Vielleicht brauchen wir hierzu auch noch eine FabU @UdoB?
 
  • Like
Reactions: Johannes S and UdoB
Vielleicht brauchen wir hierzu auch noch eine FabU @UdoB?
Gute Idee :-)

Aber unrealistisch. Das würde ein Buch werden müssen...
 
  • Like
Reactions: Johannes S
Ich danke euch für euren Input und kritische Anmerkungen!

Ich denke ihr habt Recht, dass es vmtl. "Overload" für 3 LXCs und eine VM ist.

Dann fahre ich weiter mit Backups auf meiner DS920 und wenn der TH 80 mal die Hufe hochreißt, dann muss ich halt ein neuen MiniPC holen.

Vielen Dank nochmal für alle Anmerkungen!
 
  • Like
Reactions: CoolTux and UdoB
Alternativ vielleicht HA auf einem PI? Da ist die Ersatzhardware wesentlich billiger und einfacher getauscht.
Grundsätzlich ja, 2 PI's habe ich noch... Müsste ich gucken, wie ich das mache. Weil wenn ich das richtig verstehe, gibt es ja nen Unterschied zwischen Installationen als VM und auf einem PI - aber das ist ein anderes Thema. Des Weiteren müsste ich ja auch die LXC's irgendwie anders betreiben, wenn der Minisforum TH 80 die Hufe hochreißt.
 
Grundsätzlich ja, 2 PI's habe ich noch... Müsste ich gucken, wie ich das mache. Weil wenn ich das richtig verstehe, gibt es ja nen Unterschied zwischen Installationen als VM und auf einem PI - aber das ist ein anderes Thema. Des Weiteren müsste ich ja auch die LXC's irgendwie anders betreiben, wenn der Minisforum TH 80 die Hufe hochreißt.
Ich rate generell von Pi's in diesem Bereich ab. Je mehr die Leistungsfähigkeit steigt, desto teurer und stromhungriger werden die Dinger.
Du fährst mit 5J alten refurbished-Kisten immer erheblich besser.

P.S.: Als Thinclient setzte ich Pis in v3 immer noch zufriedenstellend ein. Als Virtualisierungshost im eigentlichen Sinn ist es kontraproduktiv. Um mehrer Mini-Dienste, die einzeln sogar einen Pi unterfordern, in einem Pi zusammen zu fassen, vielleicht. Ist aber alles andere ootb.
 
Last edited:
  • Like
Reactions: toffer84
Es passt vllt nicht 100% hier zum Thema bzw. eigentlich bestimmt auch kein Proxmox Thema, sondern eher Docker vmtl, ich probiers trotzdem mal - ansonsten mache ich auch gerne einen neuen Thread auf - falls es hier im Forum überhaupt gewünscht ist.

Ich habe ja einen LXC (Ubuntu 26.04 LTS) auf dem Docker läuft. In Docker habe ich wg-easy und Rustdesk als 2 Container über docker compose erstellt, diese laufen auch wunderbar. Das wären für mich die beiden wichtigsten, die ich im Falle eines Disaster Recovery ganz schnell wieder ans laufen bringen müsste.

Ich habe noch einen Pi im Netzwerk mit Pi OS Lite (aktuelle Version), welcher ebenfalls Docker installiert hat und auf dem grade Testweise ein Uptime Kuma Container läuft - sonst macht der nichts derzeit.

Gibt es daher eine Möglichkeit die beiden Docker Container aus dem LXC meines Proxmox Hosts inkl. allen Einstellungen (wg-easy zB. die erstellten Peers, sonstige Einstellungen, bei Rustdesk ebenfalls alle Einstellungen) so 1:1 zu überspielen auf den Pi, dass ich im Falle eines Ausfalls des Proxmox Hosts nur die Portweiterleitung in meiner FritzBox ändern muss auf den Pi für die Dienste wg-easy und Rustdesk?

Ich hoffe, ich habe das verständlich ausgedrückt.
 
Last edited: