RAIDZ Calculator

achim22

Renowned Member
May 21, 2015
419
5
83
59
Dortmund
Hallo,
ich habe einen Server, 20 x Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz (1 Socket) mit 256 GB RAM und 6 SSDs a 2.05 TB am laufen, was unter raidz1-0 mit einer Gesamtgröße von 12.28 TB angezeigt wird. Verfügbar sind noch 8.41 TB und Zugeteilt 3.87 TB.

In der Übersicht werden unter Storage 30% belegt angezeigt von 40.71 TB, wegen der Komprimierung.

Worum es mir geht ist, ich muss einen neuen Server aufbauen und versuche die Kapazität neu zu berechnen.

Wenn nur 30% genutzt werden sollte ich doch auch mit 4 SSDs a 2.00 TB auskommen oder ? So müsste ich bei raidz-0 dann, komprimiert auf ca 20 TB kommen was ausreichend sein sollte.

Als Hardware kommt 2x Intel Xeon Silver 4210CPU: 2x 3,2 Ghz - 20 Cores / 40 Threads mit 384 GB DDR4 RAM ohne Raid zum Einsatz.


VG

PS: Komme ich dann, wegen der anderen CPU, noch mit der Community Lizenz aus oder dann
 

Attachments

  • Screenshot 2022-05-05 162716.png
    Screenshot 2022-05-05 162716.png
    33.6 KB · Views: 12
  • Screenshot 2022-05-05 162648.png
    Screenshot 2022-05-05 162648.png
    42.6 KB · Views: 10
  • Screenshot 2022-05-05 162602.png
    Screenshot 2022-05-05 162602.png
    19.6 KB · Views: 10
Mittlerweile hat sich die Situation geändert und es wird ein 2 Node Cluster mit einem dritten für das QDevice.
Funktioniert das vdevs auch mit der Replication oder sollte man, jetzt nach der neuen Situation, doch bei raidz bleiben.
?

Und ja da laufen VMs drauf.
 
Last edited:
Du solltest dich mal mit der Volblocksize und Padding Overhead bei Raidz beschäftigen: https://www.delphix.com/blog/delphi...or-how-i-learned-stop-worrying-and-love-raidz

Kurz: Nimmst du keine recht hohe Volblocksize, was die Performance von DBs wie MySQL und Posgres schrecklich macht, dann verschwendet Raidz massig Kapazität wegen Padding Overhead den du nicht direkt sehen kannst, weil einfach alle Zvols deutlich mehr Platz verbrauchen (z.B. 133%, 150% oder 166%).
Und dann nicht vergessen, dass da ein ZFS Pool immer nur zu 80% gefüllt werden sollte, weil er sonst langsam wird.

Mit 6x 2TB SSD im Raidz1 mit ashift=12 und volblocksize=8k hast du also:
(12 TB Rohkapazität - 2 TB Parität - 4TB Padding Overhead) * 80% = 4,8 TB

Effektiv kannst du also nur 4,8 TB bzw 4.37 TiB an Zvols auf dem Pool speichern. Mit einem Striped Mirror (Raid10) hättest du die gleichen nutzbaren 4,8 TB aber viel bessere Zuverlässigkeit (1-3 SSDs dürften ausfallen statt nur 1) und 3x bessere Performance bei kleinen Blockgrößen (was ja beim VM-Storage das wichtigste ist).
Raidz1 mit 6 Disks macht da also höchstens Sinn, wenn du die Volblocksize auf 8x deine Sektorgröße anhebst. Bei 4K Sektorgröße (ashift=12) müsstest du also wenigstens eine Volblocksize von 32K wählen um nur 3% statt 33% deiner Rohkapazität an Padding-Overhead zu verlieren. Und dann ist die Performance für alles an IO schrecklich was mit einer Blockgröße unter 32K arbeiten will (wie eben Posgres mit 8K oder MySQL mit 16k).
 
Last edited:
Dann würde ich es mit ZFS Raid 10 aufbauen. Wenn ich das richtig verstanden habe würde die Berechnung dann folgendermassen aussehen.
4 SSDs mit jeweils 2 TB :
8 TB Rohkapazität - 2 TB Parität -4 TB Padding Overhead * 80% = 1,6 TB

Dann komme ich mit 4 SSDs nicht wirklich so weit, oder ?

Auf dem jetzigen Host habe ich 6 VMs mit jeweils 300 MB
virtual hard disks am laufen.
Die Gäste sind Windows Server 2019. Hinzu kommen noch 6 VMs mit pfSense für die VPN Verbindung damit man per openVPN / RDP auf die Windows Maschinen kommt.

Auf dem neuen Host sollen mindestens 8-10 VMs mit Windows Server 2019 laufen. Pro Server rechne ich mit jeweils 500 MB virtual hard disks.
RAM für jede VM 20 MB. Dann noch 8 pfSense.

Ich komme, ehrlich gesagt, nicht mit der Berechnung der Platten klar. Wenn ich jetzt 4 x 14 TB HDD nehme ist das okay oder wären HDDs zu langsam? HDDs sind je wesentlich günstiger als SSDs.

VG
 
Dann würde ich es mit ZFS Raid 10 aufbauen. Wenn ich das richtig verstanden habe würde die Berechnung dann folgendermassen aussehen.
4 SSDs mit jeweils 2 TB :
8 TB Rohkapazität - 2 TB Parität -4 TB Padding Overhead * 80% = 1,6 TB

Dann komme ich mit 4 SSDs nicht wirklich so weit, oder ?
Padding Overhead hast du nur bei Raidz1/2/3 glaube ich. 4x 2TB SSDs im Raid10 (bei ZFS "Striped Mirror" genannt) hättest du:
(8 TB Rohkapazität - 4 TB Parität) * 80% = 3,2 TB nutzbar

Und bei 6x 2 TB SSDs im Raid10 wären es 4,8 TB.
Auf dem jetzigen Host habe ich 6 VMs mit jeweils 300 MB
virtual hard disks am laufen.
Die Gäste sind Windows Server 2019. Hinzu kommen noch 6 VMs mit pfSense für die VPN Verbindung damit man per openVPN / RDP auf die Windows Maschinen kommt.

Auf dem neuen Host sollen mindestens 8-10 VMs mit Windows Server 2019 laufen. Pro Server rechne ich mit jeweils 500 MB virtual hard disks.
RAM für jede VM 20 MB. Dann noch 8 pfSense.

Ich komme, ehrlich gesagt, nicht mit der Berechnung der Platten klar. Wenn ich jetzt 4 x 14 TB HDD nehme ist das okay oder wären HDDs zu langsam? HDDs sind je wesentlich günstiger als SSDs.
HDDs würde ich heute nicht mehr als Storage für VMs/LXCs benutzen. Die sind dann zu schnell der Flaschenhals wegen der schrecklichen IOPS-Performance.
 
Last edited:
Am besten bei ZFS Enterprise/Datacenter SSDs nehmen die auch eine Powerloss Protection haben:
1.) kann dir ein Stromausfall sonst den gesamten Pool zerschießen, weil dann alle SSDs gleichzeitig die im SSD-internen RAM-Cache befindlichen Daten verlieren und dann hilft auch ein Mirror nichts, wenn alle Disks des Mirrors gleichzeitig die Daten verlieren
2.) nutzt ZFS viele Sync Writes und da ist die Sync-Write-Performance von Consumer SSDs teils fast so schlecht wie HDD-Niveau, da ohne eine Powerloss Protection auch keine Sync Writes im RAM-Cache optimiert werden können (mit Powerloss Protection hat die SSD noch für wenigen Sekunden Notstrom und kann zur Not noch schnell die Daten aus dem flüchtigen RAM auf den nichtflüchtigen NAND sichern)
3.) hat ZFS massiven Overhead und die Write Amplification von ZFS mit seinem Copy-on-Write, verschachtelten Dateisystemen, gemixten Blockgrößen, Virtualisierungsoverhead, ... addiert sich nicht auf sondern multipliziert sich, dass da der Overhead durch die Write Amplification exponentiell steigt. Enterprise SSDs sind da für 3-, 10- oder 30-fache (je nachdem ob SSD für Lese-, Mixed- oder Schreibintensive Workloads) Schreib-Haltbarkeit ausgelegt und leben entsprechend länger. ZFS kann da je nach Workload durchaus Consumer SSDs in wenigen Monaten kaputtschreiben

PS: Man kann auch 2,5" U.2 SSDs an einem M.2 Slot betreiben wenn man entsprechende M.2-auf-U.2-Adapterkabel kauft. Mit U.2 hat man deutlich mehr Auswahl, da der M.2 Formfaktor eigentlich total ungeeignet für hochwertige SSDs ist, da die Platine einfach zu klein ist, um hochwertigen NAND-Speicher in großer Kapazität mit ausreichend Spare-Chips, zusätzlichen RAM-Cache oder Kondensatoren für eine Notstromversorgung unterzubringen.
 
Last edited:
  • Like
Reactions: philvomgrill

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!