PVE mit ZFS (RAID 10) auf Heim-Server

becheesus

New Member
Jan 1, 2020
10
0
1
40
Hallo alle zusammen,

(Ich hoffe, es ist in Ordnung, dass ich hierfür einen eigenen Thread aufmache. Wie ich sehe, gibt es schon andere zu vergleichbaren Fragen - wollte allerdings nicht "hinein platzen".)

Mein Anliegen ist folgendes:

Auch ich plane, in absehbarer Zeit einen Heim-Server auf PVE-Basis einzurichten, auf dem zum einen einige Dienste laufen sollen, die ich tatsächlich "brauche", darüber hinaus aber auch Weiteres, zu Lernzwecken. Entscheidend sind vor allem ein Medien-Server (minidlna) und eine Nextcloud. Darüber hinaus so etwas wie OpenLDAP, ein zentraler MariaDB-Server und ein Monitoring-System mit Graylog, Zabbix und OSSEC. Insgesamt sollen so ca. 10 Container und eine VM (Nextcloud) darauf laufen.

Geplant ist, wenn das gut möglich wäre, ein RAID 10 auf Grundlage von 4 Seagate Exos X10, also je 10TB. An RAM werden 64GB DDR4-2666Mhz mit ECC zur Verfügung stehen. Alternativ würde ich einen einfachen Mirror von 2 Exos X16 einrichten. PVE selbst soll (bei RAID 10 mit 4 Platten) direkt auf den ZFS-Root-Pool installiert werden. Eine schnellere Log- und Cache-SSD ist erstmal nicht vorgesehen, könnte aber später ggf. noch hinzugefügt werden. (Das Mainboard hat 4 SATA-Anschlüsse und einen M.2-Slot für SATA oder PCIe.)

Die entscheidende Frage für mich ist nun: bei 40TB an tatsächlicher bzw. physischer HDD-Kapazität sollte man ja 40GB (oder, dem Admin-Guide nach, sogar 44GB) RAM für das ZFS allein einplanen. Blieben hier also noch 24 bzw. sogar nur 20GB für PVE + Container/VMs. Nun werden diese virtuellen Server in meiner Heimumgebung mit drei Usern alles andere als stark beansprucht, aber es soll halt doch eine ganze Menge virtualisiert werden (wie gesagt so ca. 10 Container + eine VM).
Ist davon auszugehen, dass ich mit 20GB einen flüssigen Betrieb erreichen kann, oder wären da schon Einschränkungen spürbar (wenn etwa mehrere Medien-Streams liefen, gleichzeitig die Nextcloud verwendet würde, der Graylog im Hintergrund die Logs analysiert usw.)?

Meine Frage hängt auch damit zusammen, dass ich bei einem Test auf einem alten PC (Core i3-2100, 16GB DDR3-1333, 2 x 500GB als ZFS-Mirror) feststellen musste, dass schon vier Container und eine VM im "Leerlauf" offenbar um die 10GB Speicher in Anspruch nehmen. Direkt übertragen wird man das bestimmt nicht können, aber wenn es so in die Richtung ginge, würde es, denke ich, bei der oben erwähnten Konfiguration schon eng werden.

Könnt Ihr das auf Grundlage dieser Informationen etwas einschätzen?

Vielen Dank schonmal für die Zeit und bis später.
 
Ergänzung: in der Zwischenzeit habe ich mal, wie es hier beschrieben wird, den RAM, der für ZFS bei meinem Test-System zur Verfügung stehen soll, auf 5GB beschränkt (4 + 1GB bei den insgesamt 2 x 500GB), und seit dem Neustart scheint in der Tat deutlich weniger Speicher beansprucht zu werden. Trotzdem werde ich aus der Anzeige nicht so ganz schlau. Bisher steht sie nun bei gut 2GB, wenn die vier Container und die VM laufen, was ja dann noch deutlich unter der gesetzten Grenze liegen würde. Vielleicht verstehe ich aber auch nicht so ganz, wie die Übersicht des Nodes in der Server-Ansicht der Web-Oberfläche genau zu lesen ist bzw. worauf sie sich alles bezieht. Da der komplette (physische) RAM erfasst zu werden scheint, bin ich davon ausgegangen, das da auch der Teil, der für ZFS verwendet wird, inbegriffen ist.
 
Hi,

wenn du 40 TB Raw hast im Raid 10 kannst du max 80% von ca 20 TB nutzen.
Also 16 TB Nutzdaten was zu ca 16 GB Metadaten für ZFS im Speicher führt.
Der ARC sollte bei einem solchen System min 8GB - 16GB sein.
Proxmox VE selber wird max 2 GB Memory brauchen.
Also werden dir für die Gäste min 30 GB Speicher zur Verfügung stehen.
 
wenn du 40 TB Raw hast im Raid 10 kannst du max 80% von ca 20 TB nutzen.

Hallo Wolfgang,

vielen Dank für die Antwort! Gut, ca. 30GB RAM würden mit Sicherheit ausreichen. Da bin ich schon mal beruhigt.

Was mir jetzt erst bewusst wird: wenn man so darüber liest, erfährt man in der Regel, dass bei einem Mirror eben 50% des Raw-Speicherplatzes tatsächlich zur Verfügung stehen würde. Ich nehme an, die zusätzlichen 4TB, die noch wegfallen, sind dann auch für Metadaten (Checksummen etc.)? Wäre das bei einem Mirror von zwei z.B. 16TB großen Platten identisch (also ca. 80% - so, dass da dann knapp 13TB rauskämen)? Interessanterweise habe ich von dem Umstand bisher noch gar nichts mitbekommen, obwohl ich schon einiges zu ZFS gelesen habe. Ist aber auch naheliegend...

Eine weitere Frage habe ich auch noch: in der Zwischenzeit habe ich noch etwas weiter gelesen und bin zu dem Schluss gekommen, dass eine ZIL-SSD in meinem Fall (nicht viele kleine Schreibanfragen) wohl nicht nötig wäre. Das hatte ich auch noch im Hinterkopf. Stattdessen würde ich den freien M.2-Slot jetzt evtl. für Proxmox VE selbst verwenden. Also eine kleine und dafür gute/langlebige SSD. Wäre das empfehlenswert? Oder würde ich doch besser fahren, PVE gleich auf den ZFS-Pool zu installieren?
 
Metadaten sind ca 4% der den benutzten Daten.
20% weil die Performance von ZFS, wie auch bei jeden anderen FS sehr schlecht wird wenn du mehr als 80% verwendest..

ZIL fängt nur sync und kleine bloecke unter ca. 64K ab.
Alles andere wird direkt geschrieben.

Stattdessen würde ich den freien M.2-Slot jetzt evtl. für Proxmox VE selbst verwenden. Also eine kleine und dafür gute/langlebige SSD. Wäre das empfehlenswert?
Ja kann man so machen.
schnell muss sie aber nicht sein nur eine hohe TBW haben.
Alle Logs werden lokal geschrieben.
 
Vielen Dank für die hilfreichen Hinweise! Das war mir in der Tat noch nicht bewusst... Das heißt, die 20% "Abzug" sollte ich dann selbst vornehmen, wenn ich den Pool einrichte?

schnell muss sie aber nicht sein nur eine hohe TBW haben

Alles klar. Darauf werde ich achten.
 
Eine Sache noch: es scheint etwas schwierig zu sein, passenden ECC-RAM für mein Board zu finden (unterstützt zwar ECC, aber nur als UDIMM), und überhaupt möchte ich eigentlich nur Hardware verwenden, die einen tatsächlichen (oder: nicht bloß einen theoretischen) Nutzen hat. Von daher frage ich mich noch, ob es, wie ich es in der Tat schon öfter gelesen habe, für den Betrieb von ZFS (speziell jetzt RAID 10) empfehlenswert ist, ECC-RAM einzusetzen. Klar, grundsätzlich ist so eine Fehlerkorrektur natürlich immer vorzuziehen, aber, in Anbetracht der Mehrkosten, auch z.B. bei so einem Heim-Server? Oder ist der mögliche Nutzen da eher zu vernachlässigen? (Bzw. der mögliche Schaden, wenn kein ECC eingesetzt wird...)
 
Wenn ZFS mitbekommt das Daten die noch nicht herausgeschrieben worden sind korrupt sind werden sie verworfen.
Also ECC hat mit ZFS einen Praktischen Wert.
Preis pro GB für ECC ist momentan bei 7 EUR und damit grade mal 2 Euro teurer als der billigste Speicher und den willst du nicht haben.
 
Danke nochmal für die Antwort, Wolfgang. Ja, so etwas habe ich darüber an mehreren Stellen gelesen - teilweise aber halt auch, dass es im Allgemeinen zwar nett sei, der Nutzen aber überschaubar. Tatsächlich habe ich in der Zwischenzeit passende ECC-Module gefunden und auch gekauft (was nicht so einfach war, weil die Auswahl doch überschaubar ist, wenn ausdrücklich keine R- bzw. LRDIMMs verwendet werden können...). Deine Antwort hat mir jetzt noch einmal bestätigt, dass ich mich da richtig entschieden habe.
 

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!