Hilfe bei der Planung eines PVE Clusters mit Ceph

Stiwa

New Member
Aug 13, 2024
3
1
3
Hallo zusammen,

die Firma in der ich arbeite ist eine Einrichtung die sich um Menschen mit Behinderung kümmert. Wie bei allen non-profit Unternehmen wird jeder Cent 2 mal gedreht. Und trotzdem sind die gesetzlichen Anforderungen bei der Dokumentation, dem QM und der Wirtschaftsprüfung so hoch, das man meinen könnte, wir sind ein Börsennotiertes-Tech-Unternehmen :) . Entsprechend sieht die Server-Struktur aus.

-2 x Lenovo x3550M5 mit Dual Intel Xeon E5-2667 352 GB RAM (aus 2017)
-1 x Lenovo SR650 mit Dual Intel Xeon Silver 4215 und 352 GB RAM (aus 2022)
-1 x Lenovo V3700v2 SAN mit redundanter FC Anbindung an die Hosts mit derzeit 7TB Nutz-Kapazität (ca. 4TB genutzt) (aus 2017)

Jeder Host hat 2 x 10 GB Netzwerk Anbindung mit einigen V-LANs im Gepäck.
Virtualisiert wird derzeit mit VMware vsphere 8 (Essential Plus Kit)

Derzeit laufen etwa 20 Windows- und ein paar Linux-Server darauf.
Davon 3 SQL Server sowie 12 in einer RDS Farm (früher gab es für non-Profit die Lizenzen von MS noch extrem günstig).

Die Performance ist für uns soweit ausreichend. Wir haben eine Fachanwendung die leider auf dem SQL nur Singlethread abfragen machen kann. Das drückt ein wenig. Aber sonst gibt es so gut wie keine Beschwerden. Insgesamt läuft alles sehr Stabil.

Da die x3550 und das SAN aus 2017 sind, will ich für unser kommendes Invest zumindest das SAN austauschen (auch wenn ich, jedenfalls von der Leistung, die Notwendigkeit nicht sehe, macht mir das alter so langsam sorgen).

Eigentlich war meine Vorstellung ein neues SAN zu nehmen. Bin aber auf Proxmox mit Ceph aufmerksam gemacht worden und frage mich, ob das nicht ein besserer Weg ist. Zumal FC SAN in der Größenordnung auch wohl etwa 2 Hosts als Kaufpreis entsprechen würde.

Also ist meine Vorstellung ein Proxmox Cluster mit Ceph als Storage. Hierzu sollen 3 neue Hosts her.
Vorgestellt habe ich mir so etwas wie Intel Dual CPU Gold 3.6GHz 8 (oder 16) Core und 384 GB Ram.
Ich bin mir bei dem Aufbau des Storage nicht sicher, wie ich diese Planen soll/muss/kann.
Mir ist bewusst das ich kein Ceph Storage mit nur 3 Nodes bauen sollte. Zumindest habe ich das so verstanden.
Deswegen soll nach der Migration von VMware der SR650 auch auf NVMe umgerüstet werden, so das dann ein 4ter Host zur Verfügung steht.

Ist mein Denken da richtig? Oder doch lieber in ein neues SAN investieren?

Wie viel NVMes sollten in einem Server mit welcher Kapazität kommen, damit ich wieder auf ca. 7TB Nutzkapazität komme (reichen würden wohl auch 5-6TB)? Mir ist die Herangehensweise nicht ganz klar. Habe bisher „nur“ mit Raid gearbeitet.

Wie sollte hier das Netzwerk aussehen? Dachte an 4 x 10GB (2 für vm und 2 für Ceph) pro Server. Oder doch mehr? Getrennte Heartbeat Verbindungen?

Ich bin schon etwas länger aus dem Thema Hardware raus. Ist AMD eine alternative?

Es läuft ein virtueller Windows Cluster mit 2 Nodes und Direct Attachad LUNs vom SAN. Kann ich das in Ceph so nachbauen/Konvertieren?

Zurzeit nutzen wir Veeam als Backup System. Hiermit erstelle ich ab und zu ein Test System via restore mit Power Shell (und veränderte vm configs) und einem „externen“ Host. Könnte ich das mit dem Proxmox Backup Server auch machen?

Gibt es vielleicht etwas das VMware besser kann als Proxmox, was ich derzeit nicht bedenke?
Ich bin für jede Info sehr dankbar!

Gruß,
Stiwa
 
Für ein Ceph mit NVMe sollte es schon ein 25G-Netzwerk sein, sonst verschenkst Du da mögliche Bandbreite. Die Latenzen von 10G-Netzwerk sind auch zu hoch.

Bei 4 Knoten und jeweils 3 2TB NVMe pro Knoten (also 12 insgesamt) kommst Du auf etwa 8TB nutzbare Nettokapazität. Ceph repliziert alles dreimal, damit genügend Redundanz vorhanden ist.

Für 3 NVMe-OSDs pro Knoten sollten 24 CPU-Threads zu Verfügung stehen, als mindestens der 16-Kerner. AMD geht natürlich auch. Je mehr Kerne und MHz ins Budget passen, desto besser.

Hyper-converged hat immer den Nachteil, dass Compute (also VMs) und Storage und RAM und CPU kämpfen.
 
Wenn du nicht mehr Storageplatz benötigst, warum das SAN ersetzen? Es ist redundant und erst 5 Jahre alt. Das SAN kannst du mit lvm oder ocfs2 weiternutzen. Lokalen Speicher mit zfs + Replikation kannst du immer noch nachrüsten. Mind. Einen 3. mini-node für ein qdevice brauchst du für den proxmox cluster. Wenn ihr sparen müsst, dann sollte ihr das auch tun.
 
Bedenke aber bei der Weiternutzung des FC-SAN, dass Du
a) Keine richtige Redundanz hast
b) Mit LVM-Thick keine Snapshots machen kannst
c) ocfs2 von Proxmox nicht offiziell unterstuetzt wird und Du seit Kernel 6.2 workarounds anwenden musst (https://bugzilla.proxmox.com/show_bug.cgi?id=5430)
d) Die Migration etwas muehsam wird, wenn Du das Storage von der alten auf die neue Infrastruktur mitnehmen willst

Wenn Du damit leben kannst, ist die Weiternutzung des SANs ganz sicher die guenstigste Loesung.
 
  • Like
Reactions: gurubert
Also ist meine Vorstellung ein Proxmox Cluster mit Ceph als Storage. Hierzu sollen 3 neue Hosts her.
Vorgestellt habe ich mir so etwas wie Intel Dual CPU Gold 3.6GHz 8 (oder 16) Core und 384 GB Ram.
Bitte keine dual Socket Systeme nutzen, außer du brauchst tatsächlich massiv Cores. Das NUMA drückt ganz schön die Performance und erhöht die Latenzen der VMs. Wenn du statt zwei 16 Core lieber eine 32 Core CPU Nimmst, bist du deutlich besser aufgestellt.
Da du eh den Hypervisor wechselst, kannst du auch die Architektur wechseln und zu AMD gehen. Da ist die Single Core Performance auch etwas besser.
Ich bin mir bei dem Aufbau des Storage nicht sicher, wie ich diese Planen soll/muss/kann.
Mir ist bewusst das ich kein Ceph Storage mit nur 3 Nodes bauen sollte. Zumindest habe ich das so verstanden.
Klar geht das und habe ich bei einigen kleinen Unternehmen so im Einsatz.
Deswegen soll nach der Migration von VMware der SR650 auch auf NVMe umgerüstet werden, so das dann ein 4ter Host zur Verfügung steht.
Eventuell würde ich den lieber zum Backupserver degradieren. Auch wenn du Intel CPUs nimmst, hättest du verschiedene Generationen im Einsatz, wo man auf Kompatibilitäten aufpassen muss.
Ist mein Denken da richtig? Oder doch lieber in ein neues SAN investieren?
Wenn du einen sehr netten NetApp vertriebler hat und dir einen sehr guten Preis macht, dann könntest du NFS nutzen. Aber vermutlich wird das am preis scheitern.
Wie viel NVMes sollten in einem Server mit welcher Kapazität kommen, damit ich wieder auf ca. 7TB Nutzkapazität komme (reichen würden wohl auch 5-6TB)? Mir ist die Herangehensweise nicht ganz klar. Habe bisher „nur“ mit Raid gearbeitet.
Ich würde pro Node mindestens 3x 3,84 TB NVMe nehmen. Die Kapazität sollte dann genau reichen, besser wären natürlich 4 NVMe pro Node, dann hättest du es auch noch entspannt wenn mal eine ausfällt.
Wie sollte hier das Netzwerk aussehen? Dachte an 4 x 10GB (2 für vm und 2 für Ceph) pro Server. Oder doch mehr? Getrennte Heartbeat Verbindungen?
Für die VMs reicht vermutlich 10 GBit, für Ceph wie gurubert geschrieben hat nicht unter 25 GBit. Ich baue meine 3 Node Cluster auch alle mit 100 GBit auf. Da kommen bei mir zwei MikroTik CRS504 Switches mit je 4x 100GBit zum Einsatz. Mit 4x 1,9TB NVMe habe ich schon bis 60 GBit peak gemessen.
Ich bin schon etwas länger aus dem Thema Hardware raus. Ist AMD eine alternative?
Auf jeden Fall!
Es läuft ein virtueller Windows Cluster mit 2 Nodes und Direct Attachad LUNs vom SAN. Kann ich das in Ceph so nachbauen/Konvertieren?
Theoretisch kannst du das über ein iSCSI Gateway bauen, ist aber nicht so dolle. Was für ein Cluster ist das denn? Wenn es SQL ist, könnte ma lieber auf Allways On Cluster migrieren, da hat jeder Node eigene Disks und die Replikation geht über das Netzwerk.
Zurzeit nutzen wir Veeam als Backup System. Hiermit erstelle ich ab und zu ein Test System via restore mit Power Shell (und veränderte vm configs) und einem „externen“ Host. Könnte ich das mit dem Proxmox Backup Server auch machen?
So etwas wie die Virtual Lab Funktion gibt es nicht. Wenn man einen Live Restore aus dem PBS macht, startet die VM zwar sofort, aber wird trotzdem sofort im Hintergrund restored. Wenn du das öfters brauchst, könntest du den alten ESXi als Stand Alone Host behalten und die Restores da drauf machen.
Gibt es vielleicht etwas das VMware besser kann als Proxmox, was ich derzeit nicht bedenke?
Ich bin für jede Info sehr dankbar!
Ja, vSphere kann vernünftig Templates ausrollen mit Guest Anpassung im Windows. Das ist das einzige Feature was einige Kunden vermissen, dafür kann Proxmox wiederum andere Sachen besser. Manchmal muss man seine Arbeitsabläufe auch dem Hypervisor anpassen. ;)
 
  • Like
Reactions: Johannes S
Cloud Init geht mit Linux, aber Windows nicht wirklich. Es gibt da ein paar experimentelle Bastellösungen, aber nichts was ich produktiv einsetzen würde. Ich hatte mir auch mehr erhofft, aber da kommt irgendwie nix,
 
  • Like
Reactions: Johannes S
Zunächst mal Danke für reichlich Anregungen!

@gurubert: das hilft mir schon mal weiter, danke.

@floh8: das SAN ist halt inzwischen 7 Jahre alt. Zum Austausch-Zeitpunkt wird es 8 Jahre alt sein. Ich bin definitiv auch kein Freund davon etwas auszumustern "nur" weil es alt ist. Muss mir aber Gedanken machen was passiert, wenn es eben doch ausfällt. Neue Festplatten bekomme ich nicht mehr, oder nur für den Preis in Gold aufgewogen. Einfach irgendeine Platte rein geht aufgrund der Firmware ja auch nicht. Ich habe mir schon Festplatten als „Cold“ hingelegt. Aber irgendwann ist es halt leider soweit. Wenn ein Netzteil oder eine Compute-Einheit aufgibt muss schnell Ersatz her. Das wird aber mit zunehmenden Alter schwieriger. Auch möchte ich nicht erleben, das 350Mitarbeiter ihrer Arbeit nicht richtig nachkommen können oder Medikamente nicht ausgegeben werden können, weil keiner weiß wer, was, wann und warum bekommt. Auch sind die Punkte von @devaux so für mich stimmig. Ich bekomme die Maschinen auch nicht in einer Nacht und Nebelaktion migriert. Der alte Cluster soll künftig als Backup und Test System noch her halten.

@Falk R.: Vielen Dank! Das sind insgesamt sehr inspirierende Antworten. Über ein Single CPU System mit einer hohen Anzahl an Cores habe ich noch gar nicht nachgedacht. Derzeit laufen bei uns halt insgesamt 6 CPUs mit je 16 Kernen. Das System verkraftet es, wenn ich ein Server komplett abschalte (was ab und an vorkommt um Firmware-Updates ein zu spielen. Also kann ich entsprechend Planen. NetApp kommt eigentlich nicht in Frage da ich ja eher kosten reduzieren möchte. Der Windows Cluster ist nur wegen den vhdx der RDS Farm da. Diesen als Cluster, damit wir die Möglichkeit haben Updates ein zu spielen, ohne das die RDS Farm ausgeschaltet werden muss. Hier wird 24/7 gearbeitet da die Menschen bei uns Wohnen. Das ist schon manchmal eine Herausforderung. Bei näherer Überlegung könnte ich an sich auch das ja noch intakte SAN für die Freigabe des vhdx Storage nutzen. Dann würde auch der Windows Cluster weg fallen. Relevante Daten sollen eh nicht auf dem Desktop gespeichert werden. Und ein Store für die vhdx im Bedarfsfall ist schnell wieder provisorisch aufgebaut. Dann kann auch der Ceph Cluster deutlich kleiner ausfallen.

Was ist denn jetzt eigentlich richtig? Ceph mit 3, oder mit 4 Hosts?

Da wir mit Templates bisher eh nicht gearbeitet haben werden wir diese auch nicht vermissen. ;-)

Deinem Footer werde ich wohl nachkommen. Verden (bei Bremen) ist jetzt nicht so weit von Kiel entfernt. Ist auch vom Chef schon abgesegnet. :)
 
  • Like
Reactions: Falk R.
Was ist denn jetzt eigentlich richtig? Ceph mit 3, oder mit 4 Hosts?
Noch besser wären 5 Hosts. 3 ist halt das absolut mindeste. Bei 4 gibt es zumindest beim Ausfall eines Hosts noch die Möglichkeit, Daten auf dem anderen wieder herzustellen (Ceph braucht 3 Kopien auf 3 separaten Hosts).
Bei 4 Hosts muss auf jedem Host 25% der Kapazität freigehalten werden, damit beim Ausfall eines Hosts genug Platz zum Wiederherstellen vorhanden ist.
Bei 10 Hosts sind das nur noch 10% Reservekapazität.
 
Noch besser wären 5 Hosts. 3 ist halt das absolut mindeste. Bei 4 gibt es zumindest beim Ausfall eines Hosts noch die Möglichkeit, Daten auf dem anderen wieder herzustellen (Ceph braucht 3 Kopien auf 3 separaten Hosts).
Bei 4 Hosts muss auf jedem Host 25% der Kapazität freigehalten werden, damit beim Ausfall eines Hosts genug Platz zum Wiederherstellen vorhanden ist.
Bei 10 Hosts sind das nur noch 10% Reservekapazität.
Sehe ich das also richtig das ich, wenn ich einen Server update will (oder warum auch immer offline schalten muss), ich eh min. 4 brauche, damit der Ceph Store Online bleibt?
 
Du kannst auch einen 3 Node Cluster einfach updaten, nur sollte während des Reboots kein weiterer Server oder DIsk ausfallen. Wenn die Konfigurierte Mindestanzahl von Datenkopien unterschritten wird (default=2) dann setzt Ceph die betroffenen Placement Groups (Datenchunks) auf Readonly. Daten sind dann keine weg, aber Downtime.
 
  • Like
Reactions: gurubert

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!