Lösung für mein Proxmox Cluster

Corin Corvus

Lieutenant
Registriert
Dez. 2010
Beiträge
831
Moin,

ich bin aktuell am überlegen, wie ich möglichst unkompliziert und effektiv einen Shared Storage für mein Proxmox Cluster erstelle.

Folgende Situation:
Ich habe 3 Proxmox Nodes über Gbit angeschlossen. Mehr können die Netzwerkschnittstellen auch nicht. Da es sich um ein Homelab handelt, habe ich da auch keine professionellen Ansprüche.
Einer ist ein Minisforum Elitemini B550 mit Ryzen 5600g, 64gb Ram und 2 M.2 SSDs mit zusammen 4TB Speicherplatz, sowie 2,5gbit Netzwerkanschluss.
Die anderen beiden sind Dell Wyse 5070 mit 16gb interner SATA SSD und jeweils einer USB3.2 SSD Platte (Ich weiß nicht so geil) und 1gbit Anschluss.

Desweiteren habe ich 2 NAS Systeme, welche aktuell nicht im Dauerbetrieb sind.
1 ist ein etwas älterer 4 Kern Intel I5 mit 16 GB Ram auf einem ITX Board mit einer Erweiterungskarte, sowie 12 Festplatten und mit Truenas Scale verwaltet. Hier liegen viele sensible Daten drauf und diese werden in regelmäßigen Abständen auf 4 Platten gesichert in Zyklen.

Mein zweites NAS ist ein Qnap TS431 4 Bay NAS, mit aktuell 2 Platten drin. Wirklich viel tut das NAS nicht, hätte die Möglichkeit dort 4x 2,5 Zoll Sata SSDs einzubauen und es als Shared Storage zu nutzen.


Nun meine Frage. Was macht für euch in einem Gbit Netzwerk am meisten Sinn? Mehr als 125mb/s werde ich eh nicht haben, bei beiden NASs könnte ich noch eine zweite Netzwerkkarte einbauen und dann auf dem Switch Load Balancing einrichten.
Zugriffszeiten sollten recht niedrig sein, wo sich meiner Ansicht nach SSDs eher eignen.

Nun überlege ich aktuell mehrere Szenarien.
  • Ich lasse NAS 1 (Truenas) dauerhaft laufen. Finde ich aufgrund des Stromverbrauchs (30-120w je nach auslastung) etwas to much.
  • Ich baue das Qnap NAS mit Sata SSDs auf, baue aus den 4 SSds ein Verbund und baue damit einen Shared Storage auf (16-20w Verbrauch)
  • Ich nehme Proxmox Node 1, der ja schon 2 sehr schnelle SSDs intern hat, baue diesen um zu einem Truenas Shared Storage und hole mir einen dritten Dell Wyse 5070 als Proxmox Node, da aktuell der einzige Grund, warum der Node 1 mit dem Ryzen noch im Spiel ist, seine Speicherkapazität für beispielsweise eine Nextcloud ist, welcher bei Shared Storage wegfällt.
  • Was ganz anderes

Da ich mit allen 3 Szenarien sowieso nichts an Performance gewinnen kann, da das Netzwerk der Flaschenhals sein wird, könnten mir eventuell zu hohe Zugriffszeiten bei einem der Szenarien noch die Suppe versalzen. Daher würde ich mich über ein wenig Feedback freuen, was ihr auswählen würdet.

Freue mich auf Eindrücke

LG
 
Frage zu NAS 1: wie groß sind die 12 Festplatten?
 
0x8100 schrieb:
oder du verzichtest auf ein separates storage und setzt proxmox als hyper-converged cluster auf. damit hast du dann ein verteiltes storage über die jeweiligen proxmox-nodes.
Das ist aber recht langsam und ich habe nicht die möglichen Speicherkapazitäten auf den einzelnen Nodes.
Die USB Platten sind recht schnell ausgelastet, was zugriffszeit angeht, wenn ich zur VM Last noch Replizierung und Co. über Ceph einrichte. Wurde mir zumindest von abgeraten, das mit SSDs über USB zu versuchen.

Würde ja bedeuten, jede VM in dem Cluster muss sich auf mindestens einen anderen Node alle 15-30 Sekunden replizieren und die Platten schreiben dann ständig neben der eh schon vorhandenen Last.

Oder habe ich da was grundlegend falsch verstanden? Und wenn Ceph, wie richte ich das ein mit Platten, die bereits beschrieben sind?

Ergänzung ()

wahli schrieb:
Frage zu NAS 1: wie groß sind die 12 Festplatten?
Unterschiedlich.
Die meisten sind als Raid 1 im Verbund mit jeweils 2 Platten.
4-12TB.
Das NAS ist aktuell höchstens einmal die Woche, eher 1x im Monat überhaupt an, dient halt wirklich nur dazu um Daten abzulegen und bei Bedarf aus der Ferne via VPN oder Zuhause drauf zuzugreifen mit WOL und dann Netzwerk.
 
Zuletzt bearbeitet:
Corin Corvus schrieb:
Würde ja bedeuten, jede VM in dem Cluster muss sich auf mindestens einen anderen Node alle 15-30 Sekunden replizieren und die Platten schreiben dann ständig neben der eh schon vorhandenen Last.
die vms werden nicht ständig repliziert sondern die anfallenden daten werden wie bei einem raid verteilt gelesen/geschrieben, nur eben auch übers netzwerk hinweg.
Corin Corvus schrieb:
Und wenn Ceph, wie richte ich das ein mit Platten, die bereits beschrieben sind?
das geht nicht, ist das gleiche als wenn du auf den platten ein anderes system benutzen willst: plattmachen und die images zurückschreiben.

du kannst natürlich die proxmox-nodes komplett nur mit lokalem speicher zu betreiben. wenn du vms zwischen den nodes verschieben willst, müssen diese dann eben komplett repliziert werden. k.a. wie häufig das bei dir vorkommt.
 
Hast du eventuell ein Video, wo ich mir einmal detailliert anschauen kann, wie man das Ceph korrekt einrichtet?
Auf der verlinkten Seite sind sehr viele Bereiche, die ich nicht so durchblicke.

Meinst nicht, dass die USB Platten hier Probleme machen werden?
Aktuell hängen da M.2 SSDs über einen USB 3.2 Controller mit USB-C An den Nodes dran. Die Nodes haben auch USB 3.2.

Hier ist ein Bench mit hdparm:
Code:
sudo hdparm -Ttv /dev/sdb

/dev/sdb:
 multcount     =  0 (off)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 121601/255/63, sectors = 1953525168, start = 0
 Timing cached reads:   8252 MB in  1.99 seconds = 4145.01 MB/sec
 Timing buffered disk reads: 1312 MB in  3.00 seconds = 436.91 MB/sec

Sagt halt so erstmal nicht viel aus, weil ich auch nicht weiß, wie viel die so dann tun müssen. Aktuell sind das alles ZFS Laufwerke pro Node 1 Laufwerk und heißen identisch, damit ich migrieren und replizieren kann.
 
Mit bestehendem Speicher könntest noch auf GlusterFS setzen, da musst die alten Laufwerke nicht plätten. Schnell wir nix davon sein bzw. die noch halbwegs performanteste Lösung dürfte die QNAP mit SSDs oder HDDs + SSDs als Cache sein sofern von der QNAP unterstützt.
 
Corin Corvus schrieb:
Hast du eventuell ein Video, wo ich mir einmal detailliert anschauen kann, wie man das Ceph korrekt einrichtet?
das ist ziemlich straight-forward, ich habe das gerade nochmal mit 3 proxmox-vms durchgespielt:

  • sicherstellen, dass ntp läuft (sollte im cluster immer sein)
  • auf jedem node ceph installieren, einfach auf "ceph" klicken

1681399240912.png


- für die anderen nodes einen monitor einrichten

1681399321205.png


- auf jedem node die osd(s) erstellen - das wären deine platten (evtl. musst du die erst plätten, d.h. keine partition -> ceph-volume lvm zap /dev/sdX --destroy)

1681399386501.png


- zum schluss noch einen pool anlegen

1681401394432.png


damit hat man einen pool, der auf 3 osd repliziert wird.

1681401578641.png
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Corin Corvus und snaxilian
Zurück
Oben