Proxmox Cluster mit CEPH Storage und OPNsense

DTA999

New Member
Feb 22, 2023
6
0
1
Hallo zusammen,
ich bin derzeit dabei, ein Homelab zu planen. Es gibt jedoch noch einige Bereiche, bei denen ich unsicher bin, ob sie umsetzbar sind.
Meine Idee ist es, ein HA-Cluster mit 3x U59, jeweils mit 16 GB RAM und 500 GB SDD, zu betreiben.
Nun habe ich zwei Fragen zum Setup:
  1. Ist es möglich, das Cluster zu betreiben und dabei eine der Nodes als OPNSense Firewall zu nutzen, da jede Node über 2 NICs verfügt? Ich würde gerne das Modem und den Switch an einer Node anschließen, um das Internet ins Netzwerk zu bringen.
  2. Kann ich CEPH als Storage-Lösung auf den Nodes verwenden, um den Storage HA abzusichern? Wie viel Speicherplatz bleibt mir dann übrig, wenn ich 3x500GB verwende? Es gibt noch einen zusätzlichen 2,5"-Slot, falls mehr Speicherplatz benötigt wird. Ist dies auch bei der geringen Geschwindigkeit möglich?
  3. Wäre es sinnvoll, die Node, die als Firewall fungieren soll, durch ein Topton Gerät mit 4x 2,5G Anschlüssen auszutauschen? Also 2x U59 + Topton.
Ich danke euch schon im Voraus für eure Hilfe.
 
Last edited:
jeweils mit 16 GB RAM
Das wird keinen Spaß machen, OPNSense würde ich nicht unter 4GB geben (mit clamav und IDS/IPS reicht das selten) und dann wird es schon arg dünn für eine zweite VM, da Ceph hungrig ist und proxmox noch was braucht und generell +- etwas overhead. Und mit keinen Spaß machen meine ich abgeschossene Dienste, statts dass es einfach nur etwas langsamer läuft. Besteht die Möglichkeit, dass du die 3 Kisten auf 32GB bekommt oder noch besser 64?

Ist es möglich, das Cluster zu betreiben und dabei eine der Nodes als OPNSense Firewall zu nutzen, da jede Node über 2 NICs verfügt?
Das reicht nicht. Corosync, also die Kommunikation innerhalb der Nodes ist auf geringe Latenz angewiesen und sobald irgendwas anderes die Latenz hochdrückt (VM-Traffic oder Ceph), dann macht der Cluster die Hufe hoch oder bootet sich zum Schutz neu (meist einfach mal alle nodes) und ja, ich hab die Erfahrung gemacht :)
Du solltest mindestens haben für stabilen Betrieb:
1x NIC für corosync (da reichen 100MBit bei wenigen nodes)
1x NIC für VM-traffic und worüber du die nodes erreichst
1x NIC für ceph-public (frontend für die clients, also die jeweils anderen nodes. hat auch nichts mit deiner public internet-ip zu tun)
1x NIC für ceph-cluster (backend für die jeweils anderen nodes)

4x 1GBit wäre ok, aber lahm. Besser wäre 4x 10GBit und alles doppelt, denn wenn ein Switch abraucht, steht alles.

das Modem
Ist das ein reines Modem? Mit einem echten router könntest du das OPNSense-interne HA (also primary/secondary) zusätzlich zum proxmox-HA basteln.

Kann ich CEPH als Storage-Lösung auf den Nodes verwenden, um den Storage HA abzusichern?
Nicht sicher, ob ich die Frage richtig verstehe. Als Backup wäre Ceph nicht zu sehen.

Kann ich CEPH als Storage-Lösung auf den Nodes verwenden, um den Storage HA abzusichern? Wie viel Speicherplatz bleibt mir dann übrig, wenn ich 3x500GB verwende?
Bei einer poolsize von 3/2 (drunter ist nicht zu empfehlen und mehr kannst du bei 3 nodes eh nicht machen), kannst du das analog einem raid5 oder raidz1 ansehen. Jede node ist dann eine disk, die ausfallen darf...aber nicht mehr.
Zum Berechnen ist die Seite (+screenshot) ganz praktisch: https://florian.ca/ceph-calculator/

Ist dies auch bei der geringen Geschwindigkeit möglich?
Ja, aber: Die langsamste disk im pool gibt den Ton an und bremst den Rest aus. Bei großen Clustern fällt das nicht mehr so ins Gewicht, aber bei nur drei nodes unvermeidbar.

Wäre es sinnvoll, die Node, die als Firewall fungieren soll, durch ein Topton Gerät mit 4x 2,5G Anschlüssen auszutauschen? Also 2x U59 + Topton.
Je mehr und schneller, desto gut. :)
 

Attachments

  • Screenshot 2023-02-22 at 12-11-39 https __florian.ca.png
    Screenshot 2023-02-22 at 12-11-39 https __florian.ca.png
    205.4 KB · Views: 6
Last edited:
  • Like
Reactions: DTA999
Das wird keinen Spaß machen, OPNSense würde ich nicht unter 4GB geben (mit clamav und IDS/IPS reicht das selten) und dann wird es schon arg dünn für eine zweite VM, da Ceph hungrig ist und proxmox noch was braucht und generell +- etwas overhead. Und mit keinen Spaß machen meine ich abgeschossene Dienste, statts dass es einfach nur etwas langsamer läuft. Besteht die Möglichkeit, dass du die 3 Kisten auf 32GB bekommt oder noch besser 64?
Ich schaue mal, ob ich passende Nodes finde, die nicht vor bestückt sind. Die U59 kommen nämlich entweder mit 8 oder 16 GB.
Hast du eventuell Empfehlungen? Ist tatsächlich nur zu Hause zum Testen, daher nichts zu teures.

Das reicht nicht. Corosync, also die Kommunikation innerhalb der Nodes ist auf geringe Latenz angewiesen und sobald irgendwas anderes die Latenz hochdrückt (VM-Traffic oder Ceph), dann macht der Cluster die Hufe hoch oder bootet sich zum Schutz neu (meist einfach mal alle nodes) und ja, ich hab die Erfahrung gemacht :)
Du solltest mindestens haben für stabilen Betrieb:
1x NIC für corosync (da reichen 100MBit bei wenigen nodes)
1x NIC für VM-traffic und worüber du die nodes erreichst
1x NIC für ceph-public (frontend für die clients, also die jeweils anderen nodes. hat auch nichts mit deiner public internet-ip zu tun)
1x NIC für ceph-cluster (backend für die jeweils anderen nodes)

4x 1GBit wäre ok, aber lahm. Besser wäre 4x 10GBit und alles doppelt, denn wenn ein Switch abraucht, steht alles.
Scheint definitiv sinnvoll, aber für eine Testumgebung wäre es denke ich zu teuer. Dachte 2 NICS je Node sind da ein guter Kompromiss außer du hast einen Vorschlag.
Ist das ein reines Modem? Mit einem echten router könntest du das OPNSense-interne HA (also primary/secondary) zusätzlich zum proxmox-HA basteln.


Nicht sicher, ob ich die Frage richtig verstehe. Als Backup wäre Ceph nicht zu sehen.


Bei einer poolsize von 3/2 (drunter ist nicht zu empfehlen und mehr kannst du bei 3 nodes eh nicht machen), kannst du das analog einem raid5 oder raidz1 ansehen. Jede node ist dann eine disk, die ausfallen darf...aber nicht mehr.
Zum Berechnen ist die Seite (+screenshot) ganz praktisch: https://florian.ca/ceph-calculator/
Ging mir um die Raid Funktion, um keinen Totalausfall zu haben, wenn eine SSD/Node abraucht, aber das scheint ja gegeben zu sein.
Ja, aber: Die langsamste disk im pool gibt den Ton an und bremst den Rest aus. Bei großen Clustern fällt das nicht mehr so ins Gewicht, aber bei nur drei nodes unvermeidbar.


Je mehr und schneller, desto gut. :)
Okey dann lieber größere SSDs :)
 
Wenn du Ceph nutzen willst brauchst du schon beide Netzwerkinterfaces, also eins dediziert für Ceph.
Du wirst aber mit Ceph und 1 GBit nicht so viel Spaß haben. Es bleiben dir im Pool auch nur 500GB über.
Nutze doch lieber ZFS mit Replikation, auch da geht live Migration von VMs und HA.
 
  • Like
Reactions: DTA999
Hast du eventuell Empfehlungen?
Nicht wirklich. Die Kisten müssen aber auch nicht exakt baugleich/schnell sein. Nur der RAM sollte überall gleich groß sein (damit VMs rumgeschwenkt werden können) mit Luft nach oben, weil eben die beiden übriggebliebenen Nodes die VMs der gestorbenen 'abkriegen' und die Mindestanzahl der Anschlussmöglichkeiten für disks normalerweise, aber wenn du eh nur eine disk pro node hast, trifft das bei dir nicht zu.
Je gleicher sie sind, desto besser...also auch verschiedene Anzahl an Kernen und MHz ist ok, sogar ein Mix aus AMD und Intel, wenn man die Fallstricke kennt.

Dachte 2 NICS je Node sind da ein guter Kompromiss außer du hast einen Vorschlag.
Wenn man die Mühe nicht scheut und sich den Ärger geben will, nur damit es lauffähig ist, könnte man mit den 2 physischen NICs einen LACP-bond machen, alles in vlans schieben und dann mit traffic shaping prios reindrücken. Auch das macht keinen Spaß, ist lahm und dein einzelner switch ist am Ende der SPOF.

Ging mir um die Raid Funktion, um keinen Totalausfall zu haben, wenn eine SSD/Node abraucht, aber das scheint ja gegeben zu sein.
Ceph baut ein Raid aus Rechnern, wenn du mehr willst, brauchst du mehr Rechner und eigentlich je node mal mindestens 3 disks um auf Trab zu kommen, andererseits ist der ganze Flaschenhals dann bei den zwei NICs.

Also günstig für zuhause wird das eher nichts. ;)
 
  • Like
Reactions: DTA999
Ich habe auch Ceph zuhause, aber mit 40GBit für Ceph mit Failback auf 10 GBit.
Mit so kleinen Rechnern lieber ZFS Replikation. Da mache ich gern sync. jede Minute. HA geht wunderbar damit.
Danke für den Tipp, ich werde mich mal einlesen und vielleicht ist das ja eine bessere Lösung für mich.
Nicht wirklich. Die Kisten müssen aber auch nicht exakt baugleich/schnell sein. Nur der RAM sollte überall gleich groß sein (damit VMs rumgeschwenkt werden können) mit Luft nach oben, weil eben die beiden übriggebliebenen Nodes die VMs der gestorbenen 'abkriegen' und die Mindestanzahl der Anschlussmöglichkeiten für disks normalerweise, aber wenn du eh nur eine disk pro node hast, trifft das bei dir nicht zu.
Je gleicher sie sind, desto besser...also auch verschiedene Anzahl an Kernen und MHz ist ok, sogar ein Mix aus AMD und Intel, wenn man die Fallstricke kennt.


Wenn man die Mühe nicht scheut und sich den Ärger geben will, nur damit es lauffähig ist, könnte man mit den 2 physischen NICs einen LACP-bond machen, alles in vlans schieben und dann mit traffic shaping prios reindrücken. Auch das macht keinen Spaß, ist lahm und dein einzelner switch ist am Ende der SPOF.


Ceph baut ein Raid aus Rechnern, wenn du mehr willst, brauchst du mehr Rechner und eigentlich je node mal mindestens 3 disks um auf Trab zu kommen, andererseits ist der ganze Flaschenhals dann bei den zwei NICs.

Also günstig für zuhause wird das eher nichts. ;)
Ja, es muss ja definitiv nicht so performant sein wie in einer Produktivlösung beim Kunden. Denkt Ihr, ich würde mit 3 Geräten wie diesen hier weiter kommen? https://de.aliexpress.com/item/1005....0.0.74724ae4PZZZn1&mp=1&gatewayAdapt=glo2deu
Diese könnte ich um einen Noctua NF-A4x10 FLX erweitern, womit dann auch die Kühlung gewährleistet wäre.
 
Ja, es muss ja definitiv nicht so performant sein wie in einer Produktivlösung beim Kunden. Denkt Ihr, ich würde mit 3 Geräten wie diesen hier weiter kommen? https://de.aliexpress.com/item/1005....0.0.74724ae4PZZZn1&mp=1&gatewayAdapt=glo2deu
Diese könnte ich um einen Noctua NF-A4x10 FLX erweitern, womit dann auch die Kühlung gewährleistet wäre.
Die sind als Firewall super, aber für Ceph ungeeignet. Ich kenne Leute die haben so eine Kiste als PVE, mit ein paar LXC drauf läuft das wohl recht gut. Als Cluster würde ich bei den Dingern lieber ZFS Replika nutzen.
 
ich würde mit 3 Geräten wie diesen hier weiter kommen?
Nein. Die haben zwar ein paar NICs mehr, das wars aber auch schon. Disk-technisch kannst du da nichts ausbauen und das wird zwangsläufig kommen, wenn man sich mit ceph mal länger beschäftigt/benutzt. Du würdest dich ärgern, weil du mit den kleinen Dingern in ner Sackgasse bist und noch viel Geld dafür bezahlt hast.
Es soll ja auch nicht das Ziel sein, einfach nur irgendwie einen cluster lauffähig zu bekommen, nur um dann festzustellen, dass man damit sonst nichts weiter machen kann, weil es an allem mangelt. Und auch da gehts wieder nicht drum abzuraten, weil es einfach nur langsam läuft, sondern wirklich unbefriedigend bis instabil.
Zwei von den Dingern mit 2x OPNsense baremetal im eigenen HA wären eine schicke Sache, aber echt nichts für proxmox+ceph.

Ich würde dir als Basis raten (im Sinne, wenn schon Geld ausgeben, dann nicht verschwenden):
2x 10GBit (ceph public und cluster abgedeckt, damit kein Flaschenhals zwischen den nodes) (hast du einen switch, der das kann?)
4x 1GBit, damit ist man flexibel oder verteilt vlans über bonding (hast du einen switch, der das kann?) bzw. macht man hier möglicherweise vertretbare Abstriche, wenn man dort den VM-traffic raufpackt

Bis hier wirds schon lustig, denn du musst ein Board finden, das eins der beiden onboard hat oder mit zwei PCI-e Steckplätzen, die man dann mit passenden Karten bestücken kann.
RAM dann wie gesagt mindestens 32GB je node. Nach Möglichkeit je node mindestens 3 disks/OSDs anschließbar, ob das jetzt SATA, SAS oder NVMe sei, ist dann egal, Mischung geht. Die Mischung sollte dann nur auf allen nodes gleich sein.
Du kannst auf jeder node je disk einen CPU-Kern einplanen, sonst gibts einen Flaschenhals. Also eher mindestens einen 8Kerner, wenn man 3x OSDs und einen für proxmox betrachtet und dann noch VMs laufen lassen will.

Da jetzt was günstig zu finden und noch niedrigen Stromverbrauch erwarten, beißt sich. Alles drunter ist langfristig unbefriedigend, ich hab die Erfahrung auch gemacht :)

Ich kann dir mal noch ein Video empfehlen, eventuell reicht dir das als Nachbau (kann mir das aber nicht vorstellen)...und wenn nicht, dann waren es allerdings nur 250$ Lehrgeld :D

https://www.youtube.com/watch?v=Vd8GG9twjRU
 
Nein. Die haben zwar ein paar NICs mehr, das wars aber auch schon. Disk-technisch kannst du da nichts ausbauen und das wird zwangsläufig kommen, wenn man sich mit ceph mal länger beschäftigt/benutzt. Du würdest dich ärgern, weil du mit den kleinen Dingern in ner Sackgasse bist und noch viel Geld dafür bezahlt hast.
Es soll ja auch nicht das Ziel sein, einfach nur irgendwie einen cluster lauffähig zu bekommen, nur um dann festzustellen, dass man damit sonst nichts weiter machen kann, weil es an allem mangelt. Und auch da gehts wieder nicht drum abzuraten, weil es einfach nur langsam läuft, sondern wirklich unbefriedigend bis instabil.
Zwei von den Dingern mit 2x OPNsense baremetal im eigenen HA wären eine schicke Sache, aber echt nichts für proxmox+ceph.

Ich würde dir als Basis raten (im Sinne, wenn schon Geld ausgeben, dann nicht verschwenden):
2x 10GBit (ceph public und cluster abgedeckt, damit kein Flaschenhals zwischen den nodes) (hast du einen switch, der das kann?)
4x 1GBit, damit ist man flexibel oder verteilt vlans über bonding (hast du einen switch, der das kann?) bzw. macht man hier möglicherweise vertretbare Abstriche, wenn man dort den VM-traffic raufpackt

Bis hier wirds schon lustig, denn du musst ein Board finden, das eins der beiden onboard hat oder mit zwei PCI-e Steckplätzen, die man dann mit passenden Karten bestücken kann.
RAM dann wie gesagt mindestens 32GB je node. Nach Möglichkeit je node mindestens 3 disks/OSDs anschließbar, ob das jetzt SATA, SAS oder NVMe sei, ist dann egal, Mischung geht. Die Mischung sollte dann nur auf allen nodes gleich sein.
Du kannst auf jeder node je disk einen CPU-Kern einplanen, sonst gibts einen Flaschenhals. Also eher mindestens einen 8Kerner, wenn man 3x OSDs und einen für proxmox betrachtet und dann noch VMs laufen lassen will.

Da jetzt was günstig zu finden und noch niedrigen Stromverbrauch erwarten, beißt sich. Alles drunter ist langfristig unbefriedigend, ich hab die Erfahrung auch gemacht :)

Ich kann dir mal noch ein Video empfehlen, eventuell reicht dir das als Nachbau (kann mir das aber nicht vorstellen)...und wenn nicht, dann waren es allerdings nur 250$ Lehrgeld :D

https://www.youtube.com/watch?v=Vd8GG9twjRU
Ich habe mich jetzt im Endeffekt einfach gegen ein homelab entschieden und Upgrade meinen PC und nutze ihn ohne jegliche Services als Testumgebung. 10GBit ist mir einfach viel zu teuer für alle Maschinen und einen einzelnen Mini-PC kriege ich nicht ausfallsicher, womit ich dann auch keinen benötige. Nur für das Testen möchte ich ungern mehrere tausend € ausgeben und da scheine ich wohl nicht drumherum zu kommen. Trotzdem vielen Dank für die ausführlichen Antworten!
 
So teuer ist 10Gbit auch nicht. Jedenfalls wenn man sich auch mit gebrauchter SFP+ Hardware zufrieden gibt. 3x Singleport 10Gbit NICs (gebraucht) + Managed Switch mit 4x 10Gbit + 24x Gbit (neu) + 1x 15m LWL mit zwei Transmittern (gebraucht) + 2x 3M DAC (gebraucht) hatte mich zusammen nur gute 350€ gekostet, wovon 180€ alleine für den neuen Switch waren.
 
Last edited:
So teuer ist 10Gbit auch nicht. Jedenfalls wenn man sich auch mit gebrauchter SFP+ Hardware zufrieden gibt. 3x Singleport 10Gbit NICs (gebraucht) + Managed Switch mit 4x 10Gbit + 24x Gbit (neu) + 1x 15m LWL mit zwei Transmittern (gebraucht) + 2x 3M DAC (gebraucht) hatte mich zusammen nur gute 350€ gekostet, wovon 180€ alleine für den neuen Switch waren.
Ich suche allerdings nicht nach großer Hardware wie dieser, sondern eher was kompaktes, da ich keinen Keller habe sondern nur zur Miete wohne. War nur angetan von der Idee aufgrund all der guten mini-pcs die ich gefunden habe. Wünschte ich hätte den Platz für ein größeres System
 
Naja, bei nur 3 Nodes könnte man einen Switch sogar weglassen, wenn man die 3 Nodes direkt verbindet. Dann braucht man nur einen freien PCIe 3.0 8x Slot für eine Dual-Port 10Gbit NIC je Node und könnte die Nodes dann im Dreieck über DACs verbinden. Und Switches gibt es ja duchaus auch in winzig, lautlos und stromsparend: https://geizhals.de/mikrotik-router...crs305-1g-4s-in-a1923200.html?hloc=at&hloc=de
 
Last edited:
Naja, bei nur 3 Nodes könnte man einen Switch sogar weglassen, wenn man die 3 Nodes direkt verbindet. Dann braucht man nur einen freien PCIe 3.0 8x Slot für eine Dual-Port 10Gbit NIC je Node und könnte die Nodes dann im Dreieck über DACs verbinden. Und Switches gibt es ja duchaus auch in winzig, lautlos und stromsparend: https://geizhals.de/mikrotik-router...crs305-1g-4s-in-a1923200.html?hloc=at&hloc=de
Mag sein, aber da ich mit mini-pcs arbeiten wollte, da ich den Platz nicht habe auch wieder keine ideale Lösung. Vielleicht irgendwann.
 
Last edited:
Die dort verbaute Connectx-3 bekommt leider auch keine Patches mehr, weil Nvidia den Support für die Serie eingestellt hat. Die laufen zwar noch gut mit PVE und TrueNAS (habe hier selbst 3 Stück davon), aber die Frage ist halt wie lange noch.
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!