Raid-Z2 - 5 oder 6 HDDs?

brightrgb

Member
Dec 26, 2021
72
4
13
38
Hallo,

ich möchte mir für die nächsten 5 Jahre oder mehr einen neuen Storage Server bauen.
In Frage kommt nach vielen Recherchen nur ein Raid-Z2. Problem ist die Anzahl der Platten. Der Preis ist aktuell bei 16 TB HDDs am besten. Hier würden mir erst einmal 3x16TB = 48TB locker reichen.

Also würde ich am besten mit einem Raid-Z2 aus 5 HDDs fahren.
Das wären ca. 40 TB netto Speicherplatz die ich bei einer Maximalbelegung von ca. 80% nutzen könnte. Würde locker mit viel Reserve reichen.

Jetzt ließt man aber überall, dass bei ZFS und Raid-Z2 nur 4, 6, 8, .... Platten sinnvoll sind, weil sonst sehr viel Speicherplatz und Performance verloren geht ....!
Ist das immer noch so im Jahr 2024 oder kann man inzwischen auch ein Raid-Z2 aus 5, 7, 9 HDDs mit gutem Herzen empfehlen?
 
Raid-Z2 nur 4, 6, 8, .... Platten sinnvoll
Nein, das ist schlicht überholt.

Aber der Netto-Nutzwert steigt eben mit der Anzahl der Platten, hier: 50%, 66%, 75%...

Generell ist ein "Special Device" eine gute Idee, sofern genügend freie Anschlüsse vorhanden sind. Es vervielfacht den Datendurchsatz hinsichtlich der möglichen IOPS. Dieses "SD" sollte naheliegender Weise dieselbe Redundanzklasse aufweisen. Ich würde also empfehlen einen kleinen Tripple(!) Mirror mit einzuplanen, damit auch dort zwei Platten ausfallen dürfen.
 
Nein, das ist schlicht überholt.
Danke für die Info. Dann bin ich das ja zum Glück recht frei.
Darf ich zum Verständnis fragen, wieso man das dann früher beim Raid-Z2 nur mit 4, 6, 8, ..... Platten machen sollte und jetzt ist es egal? ;)
 
ich möchte mir für die nächsten 5 Jahre oder mehr einen neuen Storage Server bauen.
Dann aber hoffentlich nicht mit Proxmox ;)
Finde Proxmox einen tollen Hypervisor, aber ein nicht so tolles NAS.

Wichtig finde ich, den Unterschied zwischen zvol und datasets zu verstehen.
Zvols sind in meinen kein geeigneter Ort für Daten, weil zvols eine fixe volblocksize haben.
Datasets haben eine flexible recordsize.

Ist das immer noch so im Jahr 2024 oder kann man inzwischen auch ein Raid-Z2 aus 5, 7, 9 HDDs mit gutem Herzen empfehlen?
Bei einer volblocksize von 64k und einem RAIDZ2, kann man eigentlich nur 6 Platten empfehlen.
Problem liegt hier auch wieder bei der fixen volblocksize.
Hier eine Effizienztabelle

RAIDZ2 mit 5 Platten ist grober Unfug!
Du hast eine storage Effizienz von 53.33% bei 64k. Belässt du es beim default 16k, sind es sogar nur 44,44% und du hast weniger Speicher als bei mirror!
 
Last edited:
Besonders gemein an ZFS:
Erstellst du ein 5 Platten RAIDZ2 mit 64k, zeigt dir ZFS zwar 48TB Speicher an.
Was ZFS dir aber nicht anzeigt, ist dass deine 1TB grosse Datei, deutlich über 1TB auf diesen 48TB beansprucht, weil da padding dazukommt!
Du meinst alles sei voll ok, füllst dein pool und landest dann wieder hier im Forum mit der Frage
"Warum ist mein pool voll? Ich habe doch nur 36TB an Daten in meinem 48TB pool?"

Darum muss ich @UdoB vehement widersprechen!
Nein, das ist schlicht überholt.
Nein, es ist bei weitem nicht überholt! Es ist mit dem neuen 16k default nicht mehr so dramatisch wie mit dem alten 8k default, aber es ist definitiv noch da!


Hier ist die Mathe, warum es nur 53.33% sind und nicht wie erwartet 60%.
With 5 drives, we get a stripe 5 drives wide.
But not all stripes have three 4k data sectors (12k) and two 4k parity sectors.
For a volblock of 64k, we need 5.33 stripes (64k/12k).
Five stripes have five 4k data sectors, in total 60k.
One stripe has one data sector and two parity sectors
In total, we have 16* 4k data sectors and 12* 4k parity sectors.
That gets us to 112k in total to store 64k.
112k is 28 sectors and that can't be divided by 3 so there is padding needed.
We add two padding sectors to get 40 sectors in total. That gets us to 120k in total to store 64k.
We expected a storage efficiency of 60%, but only got 53.33%!
Bist du interessiert and der Herleitung, empfehle ich dir den Link zu lesen.
 
  • Like
Reactions: brightrgb
Wenn dir das jetzt alles zu mühsam und zu kompliziert ist, mit folgenden Grundregeln fährst du nicht schlecht:
- Proxmox mit SSD mirror für VMs
- TrueNAS mit HDD RAIDZ2, 6 oder mehr Platten, recordsize von 128k oder 1MB (je nach Files) für grosse Daten die sequentiell gelesen und geschrieben werden.

Natürlich kannst du auch beides in ein System vereinen, das hat dann aber einige "negative" Konsequenzen.
Meiner Meinung nach ist Proxmox kein gutes NAS und TrueNAS ist kein guter Hypervisor.
 
Last edited:
Wichtig finde ich, den Unterschied zwischen zvol und datasets zu verstehen.
Zvols sind in meinen kein geeigneter Ort für Daten, weil zvols eine fixe volblocksize haben.
Datasets haben eine flexible recordsize.
Es ist mit dem neuen 16k default nicht mehr so dramatisch wie mit dem alten 8k default
Ach ..., man kann die zvol Volblocksize seinen Wünschen gerecht anlegen, wenn einem der default nicht paßt ...

zfs get volblocksize dpool/vm-2118-disk-0
NAME PROPERTY VALUE SOURCE
dpool/vm-2118-disk-0 volblocksize 32K -

cat /etc/pve/qemu-server/118.conf
boot: order=scsi0;ide2;net0
cores: 2
cpu: x86-64-v2-AES
ide2: sim04_ISOs:iso/AlmaLinux-8-latest-x86_64-dvd.iso,media=cdrom,size=11521M
memory: 2048
meta: creation-qemu=9.0.2,ctime=1723458484
name: haha
net0: virtio=BC:24:11:FE:30:7A,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: l26
scsi0: zfs-zv:vm-2118-disk-0,iothread=1,size=33G
scsihw: virtio-scsi-single
smbios1: uuid=ed873da3-c201-4f0d-a90c-6182358c1dbb
sockets: 1
tags: test
vmgenid: b66797d8-a944-4265-a8c0-a8cefcf3d679

qm list|grep 118
118 haha running 2048 33.00 2913

Geht nur halt dann nicht über die WebUI ... :)
 
Geht nur halt dann nicht über die WebUI ... :)
Geht schon über die WebUI ;)
1727678904079.png

Einfach die volblocksize auf 64k erhöhen kommt auch nicht ohne Nachteile.
RW amplification und Fragmentierung werden dann mit hoher Wahrscheinlichkeit ein Problem.

Darum nochmals mein Tipp, wer sich nicht darum kümmern möchte, einfach schneller SSD mirror für VMs und HDD RAIDZ2 dataset für Movies.
 
Last edited:
"ssd/vmdata64k" ist aber ein dataset anstatt zvol, aber geht auch tatsächlich direkt im pool, ulkig einfach,
einfach das grau hinterlegte (scheinbar fest gesetzte) 16k überschreiben, tja so einfach kann die Welt manchmal sein :)
 
Dann aber hoffentlich nicht mit Proxmox ;)
Finde Proxmox einen tollen Hypervisor, aber ein nicht so tolles NAS.
Danke dir nochmals für die Info. Das hätte ich dazu schreiben sollen.
Der Aufbau soll am Ende so sein:
ZFS-Mirror1: PVE
ZFS-Mirror2: VMs

Auf den VM-Datastore kommt dann TrueNAS Scale drauf und ein HBA (SAS3008) managt die HDDs.

Hier ist die Mathe, warum es nur 53.33% sind und nicht wie erwartet 60%.
Danke dir, da hätte ich ja fast den Gau gebaut. Da ist ja ein Raid-Z2 aus 4 Platten mit 50% netto fast gleich auf und es ist ausfallsicherer und billiger.
Jetzt muss ich mich wohl entscheiden zwischen 4 oder 6 Platten. :(
4 sind mir fast zu klein auf 5 Jahre und 6 sind sicher zu groß. Echt nicht einfach, weil Platten ab 16TB pro TB schnell viel teurer werden! :(
 
Nimm doch statt 5x16T zB 6x14T, kommt doch preislich und kapamäßig ähnlich.
 
Der Aufbau soll am Ende so sein:
ZFS-Mirror1: PVE
ZFS-Mirror2: VMs
Ich würde das nicht trennen. Würde für PVE und VMs zwei schnelle SSDs nehmen.
Schreibe doch mal bisschen über deinen use case und was du so machen möchtest.

Habe schon von anderen Usern hier gehört, die möchten auf dem ZFS einen Windows Server laufen lassen und darüber ein SMB Freigabe machen.
Halte ich für eine ganz doofe Idee.
 
  • Like
Reactions: brightrgb
Auf den VM-Datastore kommt dann TrueNAS Scale drauf und ein HBA (SAS3008) managt die HDDs.
Kann man machen. Allerdings konkurrenzieren dann zwei Systeme um RAM, NVME und Sata, die Komplexität ist deutlich höher.
Früher hätte ich dies auch gemacht. Heute investiere ich meine Zeit lieber in andere Dinge :)
Natürlich aber stromsparender als zwei Systeme.
 
Schreibe doch mal bisschen über deinen use case und was du so machen möchtest.
Aktuell habe ich noch zwei ESXi Homeserver (Master und Backup). Je Gerät mit TrueNAS als Storage VM.
Hier auf TrueNAS fühle ich mich wohl und komme gut mit der Rechtevergabe und den Tasks usw. klar. Daher will ich für Storage bei TrueNAS (Scale) bleiben.
Der neue Server soll am Ende der Master werden. ESXi ist aufgrund der neuen Lizenzierungspolitik keine Option mehr und nur TrueNAS als Hypervisor ist mir zu unflexibel. Daher Proxmox.
Am Ende soll der neue Server vor allem Storage, Hausautomatisierung (Home Assistent) und ein paar VMs stemmen.

Ich habe mich für zwei SSD Pools entschieden, weil ich so ohne "Nachdenken" auch mal die PVE Installation komplett neue auflegen kann ohne die VMs wieder einspielen zu müssen.
Für den ZFS-Mirror1 (PVE) habe ich auch nur gebrauchte Enterprise SSDs (PLP) gekauft. Die sind mir preislich fast schon zugeflogen.
Der andere Pool ist aus Kingston DC600.
Mir ist dauerhafte Verfügbarkeit wegen der darauf laufenden Hausautomatisierung sehr wichtig. Daher habe ich je auf einen Mirror gesetzt.
 
Ich habe mich für zwei SSD Pools entschieden, weil ich so ohne "Nachdenken" auch mal die PVE Installation komplett neue auflegen kann ohne die VMs wieder einspielen zu müssen.
Bedenke dabei, dass nur die Daten der VMs auf dem extra Pool landen. Die Configs der VMs und von PVE selbst sind auf dem OS-Pool.
 
  • Like
Reactions: brightrgb
Bedenke dabei, dass nur die Daten der VMs auf dem extra Pool landen. Die Configs der VMs und von PVE selbst sind auf dem OS-Pool.
Vielen Dank, das verringert den Nutzwert natürlich schon.
Gibt es dann noch einen Grund, wieso das Trennen selbst im PVE "Handbuch" empfohlen wird?

Edit: Von den Konfigs der VM könnte man aber leicht ein kleines Backup ziehen und wieder einspielen bei der Neuinstallation?
 
Last edited:
Daher will ich für Storage bei TrueNAS (Scale) bleiben.
Verständlich.
Die VM disk würde ich dennoch lokal per NVME haben wollen.
Cluster halte ich für overkill für Zuhause.
Edit: Von den Konfigs der VM könnte man aber leicht ein kleines Backup ziehen und wieder einspielen bei der Neuinstallation?
Bin mir nicht sicher, wie du dir das ganze vorstellst, darum erzähl ich einfach mal wie ich es mache.

Proxmox NVME mirror für VMs.
Daten und VM Backups auf TrueNAS.
Backups laufen mit ca. 300mbit zum TrueNAS (die zeros natürlich schneller).
Vor jedem Update oder Upgrade oder einfach nur einer Änderung, VMs ausschalten, eine Millisekunde für ein Snapshot.
Geht was schief, rollback von Snapshot auch wieder eine Millisekunde.
Möchte ich Proxmox platt machen (wollte ich wegen dem neuen 16k zvol anstelle von 8k), einfach vorher ein Backup aus TrueNAS machen.
Neues Proxmox installieren.
Altert Mails und Netzwerk einrichten.
Eventuelle HPE Software repos hinzufügen.
Subscription einrichten.
TrueNAS NFS mounten.
Backups zurückspielen.
Alles wieder wie vorher.

Ja, die Proxmox configs lassen sich leider nicht ganz so simpel zurückspielen.
 
Bin mir nicht sicher, wie du dir das ganze vorstellst, darum erzähl ich einfach mal wie ich es mache.
Danke für deine Erklärung.
Ich bin leider jetzt nicht sicher, ob ich das ganz richtig verstanden habe.
Wenn ich es richtig verstehe, dann machst du von deinem Laufwerk auf dem PVE&VMs liegen ZFS-Snapshots mit Proxmox und überträgst diese per ZFS-Replication nach TrueNAS?
Im Fehlerfall machst du ZFS-Replication von TrueNAS nach Proxmox.
Also du machst eigentlich ein inkrementelles Full-Backup des Laufwerks.

Würde das so mit meiner Idee von getrennten Laufwerken für PVE und VMs auch gehen?
Ich meine, weil ich ja sonst ggf. einen inkonsistenten Datenbestand haben könnte, wenn das Backup von PVE- und VM-Laufwerk nicht genau gleichzeitig sind.
 
Wenn ich es richtig verstehe, dann machst du von deinem Laufwerk auf dem PVE&VMs liegen ZFS-Snapshots mit Proxmox und überträgst diese per ZFS-Replication nach TrueNAS?
Nicht ganz. Ich mache lokale ZFS Snapshots. Die brauche ich aber nicht als Backup, nur um zurückrollen zu können.
Beispiel: Ich habe Nextcloud auf einem Ubuntu 22.04. Mache Snapshot. Update auf 24.04. Irgendwas hat mir die Installation zerschossen, aber ich habe aktuell keine Zeit. Also mache ich ein klick und bin wieder auf 22.04.

Die Backups mache in den NFS share von TrueNAS. Diese sind nicht inkrementell und immer full backups.

Theoretisch würde sich bestimmt auch was mit ZFS send lösen lassen. Aber dann hast du nur die Disk gesichert ohne configs.
 

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!