• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

ZFS On Linux in den Ports

-Nuke-

Well-Known Member
#51
Könntest Du das etwas genauer erläutern? Wenn ich das richtig verstehe, meinst Du, man fügt einem schon erstellten RAIDZ mit 3 Platten eine vierte hinzu und erwartet, dass das RAIDZ sich automatisch auf die vier Platten verteilt, richtig?
Richtig. Das geht aktuell mit ZFS nicht und wird "schön" auch erst mal nicht gehen. Stichwort für Google ist hier "reflow". Hier fehlt ZFS das Feature für Blockpointer Rewrites und das Feature ist halt sehr kompliziert in ZFS umzusetzen, darum wird es aktuell nicht angefasst. Ein ZFS Macher sagte auch mal etwas in der Art "Wenn ZFS je Blockpointer Rewrites bekommt, dann wird es das letzte Feature von ZFS sein was je kommen wird".

Die Lösung die ZFS anpeilt ist das genannte Reflow. Als grobes Beispiel* mal zu dem was medV2 sagte: Du hast 3x1TB Platten im RAIDZ1. D.h. du hast 2TB Nutzdaten und 1TB Redundanz. 2:1 Ratio eben. Jetzt fügst du eine weitere 1TB Platte hinzu

Mit Blockpointer Rewrites könnte man diese Ratio eben auf 3:1 ändern. D.h. du hättest am Ende 3TB Nutzdaten und 1TB Redundanz.

Der Weg von ZFS ist aber, dass die 2:1 Ratio für alte Daten bleibt und nur neue Daten die 3:1 Ratio bekommen. D.h. du gewinnst nicht 1TB Daten, sondern nur 750GB. "Verlierst" also ganze 250GB an Nutzdaten.

Das Beispiel ändert sich natürlich je nachdem wie viel Daten im Vorfeld auf den ZFS Pool sind. Aber normalerweise will man ja erst erweitern, wenn der Pool auch wirklich voll ist.

Eigentlich sollte das Reflow Feature mit FreeBSD 12 kommen, ist es aber bisher nicht. Jetzt steht sicherlich auch erst mal die ZFSonLinux Umstellung an.

Vermutlich kann man als Privatnutzer dann auch einfach alle Snapshots löschen und die Daten per Hand neu schreiben, indem man sie Stück für Stück auf eine externe Platte packt und dann neu auf den Server kopiert. Das ist ja auch der (in)offizielle Weg für Defragmentierung, Änderung des Kompressionsalgorithmus oder sonstige Änderungen an der Datenspeicherung.

Der Weg über Vollbackups und dem Aufbau eines komplett neuen RAIDs geht natürlich auch immer, aber ist dann natürlich teuer. 10,20,30,40 TB und mehr müssen dann halt erst mal irgendwo hin. Reflow macht's für Privatnutzer halt ein bisschen billiger. Gerade wenn der Storage Server bereits das Backup ist. Somit braucht man kein Backup vom Backup.

* https://www.reddit.com/r/homelab/comments/83wo88/any_news_on_zfs_raidz_expansion/dysc76l/
 
Zuletzt bearbeitet:

Yamagi

Possessed With Psi Powers
Mitarbeiter
#52
Ein Teil des Reflow-Projekts, das Entfernen von vdev aus einem Pool, ist in 12.0 enthalten: https://svnweb.freebsd.org/base?view=revision&revision=329732 Allerdings künstlich beschränkt, es funktioniert nicht für redundante vdev.
Solche neuen Funktionen dürften von ZoL auch stark profitieren. Anstatt sie selbst aus Illumos mergen und testen zu müssen, landet in Zukunft alles in ZoL und kann von dort praktisch 1:1 übernommen werden. Eine funktionierende ZFS Testsuite (allo so yeah) gibt auch.
 

-Nuke-

Well-Known Member
#53

cabriofahrer

Well-Known Member
#55
Danke für die tolle Erläuterung. Verstehe nur nicht ganz, ob der Teil hier

Der Weg von ZFS ist aber, dass die 2:1 Ratio für alte Daten bleibt und nur neue Daten die 3:1 Ratio bekommen. D.h. du gewinnst nicht 1TB Daten, sondern nur 750GB. "Verlierst" also ganze 250GB an Nutzdaten.
sich darauf bezieht, was ZFS aktuell schon kann oder ob damit gemeint ist, was es in Zukunft können soll.