[SOLVED] ZFS - Belegter Speicherplatz größer als tatsächlich verwendet

Kaimane

New Member
Oct 22, 2020
3
0
1
36
Hallo zusammen.

Aus 4x 3TB HDDs habe ich einen RAIDz1 Pool erstellt, wodurch 7.7 TiB verfügbar sind. Den Pool nutze ich u.a. als Storage für zusätzliche Festplatten in den VMs (aktuell nur Dateien von der NAS-VM). Ein df -h innerhalb der NAS-VM zeigt eine Belegung von knapp 3 TB. Die Proxmox WebGUI zeigt mir jedoch eine Speicherbelegung von rund 4.3 TB auf dem Storage. Sie bedient sich vermutlich am zfs list <pool> Kommando, denn das zeigt ebenfalls knapp 4.3 TB, die in Verwendung sind.
Wenn ich ZFS richtig verstehe, stammt die 1.3 TB Differenz von Daten, die mal auf dem Storage waren und zwischenzeitlich innerhalb der VM gelöscht wurden - korrigiert mich, wenn ich falsch liege.
Wie ist es nun aber möglich ZFS dahin zu bewegen, den tatsächlich belegten Speicherplatz darzustellen?
Ein zpool trim <pool> brachte keinen Erfolg.

Vielen Dank!
Kai
 

Kaimane

New Member
Oct 22, 2020
3
0
1
36
Vielen Dank für den Hinweis. Wenn ich den Artikel richtig verstehe werden die 1.3 TB durch die Parität verbraucht. Ist für die Parität (bildlich gesprochen) nicht die vierte Festplatte im Verbund zuständig?. Also der Speicherbereich, der nicht nutzbar ist; in meinem Fall 'hinter' den 7.7 TB verfügbaren Speicherplatz.
Wenn man das nun weiter denkt wird es in aller Wahrscheinlichkeit darauf hinauslaufen, dass die 7.7 TB effektiv für Daten nicht nutzbar sind, sondern weitaus weniger. 1.3TB sind etwa 40% der 3TB. Auf die 7.7 TB hochgerechnet (bei 40% Belegung für Parität) wären es effektiv 5.5 TB nutzbarer Speicherplatz.
Bei einem RAID10 wären etwa 5.4 TB nutzbar. Ist in dem Fall die Verwendung eines RAID10 anstatt RAIDz1 nicht sinnvoller, allein wegen der Performance und des Speicherplatzes mit dem man bei einem Mirror rechnen kann?
 

fabian

Proxmox Staff Member
Staff member
Jan 7, 2016
7,619
1,432
164
Vielen Dank für den Hinweis. Wenn ich den Artikel richtig verstehe werden die 1.3 TB durch die Parität verbraucht. Ist für die Parität (bildlich gesprochen) nicht die vierte Festplatte im Verbund zuständig?. Also der Speicherbereich, der nicht nutzbar ist; in meinem Fall 'hinter' den 7.7 TB verfügbaren Speicherplatz.
nein. bei raidz ist nicht eine platte für die parität zuständig, sondern quasi jeder X-te block verteilt über alle platten. das problem ist dass ein parity-block eine gewisse mindestgröße hat (genauso wie ein datenblock), und daher bei kleinen datenblöcken das verhältnis von daten zu parität schlecht ist. im worst case schreibe ich einen datenblock und muss dafür einen gleich großen parity-block schreiben, und das verhältnis ist 1:1 statt N:1

Wenn man das nun weiter denkt wird es in aller Wahrscheinlichkeit darauf hinauslaufen, dass die 7.7 TB effektiv für Daten nicht nutzbar sind, sondern weitaus weniger. 1.3TB sind etwa 40% der 3TB. Auf die 7.7 TB hochgerechnet (bei 40% Belegung für Parität) wären es effektiv 5.5 TB nutzbarer Speicherplatz.
Bei einem RAID10 wären etwa 5.4 TB nutzbar. Ist in dem Fall die Verwendung eines RAID10 anstatt RAIDz1 nicht sinnvoller, allein wegen der Performance und des Speicherplatzes mit dem man bei einem Mirror rechnen kann?
ein mirror hat bei vier platten meiner meinung nach fast nur vorteile gegenüber raidz1.
 

Kaimane

New Member
Oct 22, 2020
3
0
1
36
nein. bei raidz ist nicht eine platte für die parität zuständig, sondern quasi jeder X-te block verteilt über alle platten. das problem ist dass ein parity-block eine gewisse mindestgröße hat (genauso wie ein datenblock), und daher bei kleinen datenblöcken das verhältnis von daten zu parität schlecht ist. im worst case schreibe ich einen datenblock und muss dafür einen gleich großen parity-block schreiben, und das verhältnis ist 1:1 statt N:1


ein mirror hat bei vier platten meiner meinung nach fast nur vorteile gegenüber raidz1.
... und genau dieses worst case Scenario sollte im besten Fall vermieden werden. In meinem Fall scheint es mit dem Verhältnis Daten zu Parität nicht so gut zu laufen. Dann lieber ein raid10 mit vier Platten, etwas weniger nutzbarer Speicher, aber weitaus mehr Vorteile.

In der Zwischenzeit habe ich einen interessanten Artikel ZFS: You should use mirror vdevs, not RAIDZ gelesen, der detailliert raidz1/2/3 mit zfs-raid10 vergleicht und auch hier zum Schluss kommt, raid10 gegenüber raidzX vorzuziehen.
 

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 your own in 60 seconds.

Buy now!