Die Version OpenZFS 2.4.0, einer Implementierung von ZFS fĂŒr Linux und FreeBSD, wurde veröffentlicht.

Nach 11 Monaten Entwicklung wurde die Version 2.4.0 des Projekts OpenZFS veröffentlicht, das die Implementierung des Dateisystems ZFS fĂŒr Linux und FreeBSD weiterentwickelt. Das Projekt ist als „ZFS auf Linux“ bekannt geworden und war zunĂ€chst auf die Entwicklung eines Moduls fĂŒr den Linux-Kernel beschrĂ€nkt. Nach der Verschmelzung mit dem Code aus FreeBSD wurde es jedoch als die Hauptimplementierung von OpenZFS anerkannt und umbenannt.

Die FunktionsfĂ€higkeit von OpenZFS wurde mit Linux-Kernen von 4.18 bis 6.18 und allen FreeBSD-Zweigstellen ab Version 13.3 ĂŒberprĂŒft. Der Code wird unter der freien Lizenz CDDL veröffentlicht. OpenZFS wird bereits in FreeBSD verwendet und ist in die Distributionen Debian, Ubuntu, Gentoo, NixOS und ALT Linux integriert. Pakete mit der neuen Version werden in KĂŒrze fĂŒr die Haupt-Linux-Distributionen, einschließlich Debian, Ubuntu, Fedora und RHEL/CentOS, vorbereitet.

OpenZFS bietet eine Implementierung der ZFS-Komponenten, die sowohl mit dem Betrieb des Dateisystems als auch mit der Funktionsweise des Volume-Managers verbunden sind. Es wurden die Komponenten SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) und ZPL (ZFS POSIX Layer) implementiert. Das Projekt ermöglicht es auch, ZFS als Backend fĂŒr das Cluster-Dateisystem Lustre zu verwenden. Die Arbeiten an OpenZFS basieren auf dem ursprĂŒnglichen ZFS-Code, der aus dem Projekt OpenSolaris importiert und durch Verbesserungen und Korrekturen der Illumos-Community erweitert wurde. Das Projekt wird mit UnterstĂŒtzung von Mitarbeitern des Lawrence Livermore National Laboratory im Rahmen eines Vertrags mit dem US-Energieministerium weiterentwickelt.

Der Code wird unter der freien Lizenz CDDL veröffentlicht, die nicht mit GPLv2 kompatibel ist, was eine Integration von OpenZFS in den Hauptzweig des Linux-Kernels verhindert, da eine Vermischung von Code unter den Lizenzen GPLv2 und CDDL nicht zulĂ€ssig ist. Um die LizenzunvertrĂ€glichkeit zu umgehen, wurde beschlossen, das Produkt fĂŒr Linux vollstĂ€ndig unter der Lizenz CDDL in Form eines separat ladbaren Moduls zu verbreiten, das von dem Kernel getrennt bereitgestellt wird. Die StabilitĂ€t der Codebasis von OpenZFS wird als vergleichbar mit anderen Dateisystemen fĂŒr Linux bewertet.

HauptÀnderungen:

  • Die Möglichkeit, Standardquoten fĂŒr Benutzer, Gruppen und Projekte festzulegen, wurde implementiert. In frĂŒheren Versionen konnten Quoten nur einzeln fĂŒr jede Benutzer-ID festgelegt werden. In der neuen Version ist es möglich, einen Standardwert festzulegen, der angewendet wird, wenn fĂŒr einen bestimmten Benutzer keine Quote festgelegt wurde.
  • Die Möglichkeit zur RĂŒckkehr vom Direkt-Eingabe-/Ausgabemodus (O_DIRECT, Direct I/O) auf die Verwendung eines leichtgewichtigen Mechanismus fĂŒr nicht zwischengespeicherte Eingabe/Ausgabe (Uncached I/O) wurde hinzugefĂŒgt, um Anfragen zu unterstĂŒtzen, die nicht seitenaufrichtig sind, was in Direct I/O nicht unterstĂŒtzt wird.
  • Ein neuer einheitlicher Algorithmus zur Begrenzung der Schreibgeschwindigkeit und der Anordnung von Blöcken wurde vorgeschlagen, der die Fragmentierung von vdev (Virtual Device) verringert, indem mehrere SchreibvorgĂ€nge aggregiert und grĂ¶ĂŸere zusammenhĂ€ngende FreiflĂ€chen anstelle von kleinen FreiflĂ€chen fĂŒr die Ergebnisse einzelner SchreibvorgĂ€nge verwendet werden.
  • Die Leistung der VerschlĂŒsselung wurde durch die Nutzung von AVX2-Befehlen in der Implementierung des AES-GCM-Algorithmus gesteigert. In durchgefĂŒhrten Tests wurde eine Beschleunigung von bis zu 80 % erreicht.
  • Es wurde erlaubt, ZIL-Blöcke (ZFS Intent Log) nicht nur auf normalen vdev oder auf einem separaten SLOG-GerĂ€t zu platzieren, sondern auch auf speziellen vdevs. Wenn ein normaler vdev mit einer Festplatte verbunden ist und ein spezieller vdev mit einem SSD-Laufwerk, ermöglicht diese Änderung, Situationen zu vermeiden, in denen Daten auf SSD geschrieben werden, wĂ€hrend die zugehörigen ZIL-Blöcke auf die Festplatte geschrieben werden, was zu zusĂ€tzlichen Verzögerungen fĂŒhrt.
  • Es wurde erlaubt, die Eigenschaft special_small_blocks fĂŒr ZVOLs festzulegen, nicht nur fĂŒr Dateisysteme, was es ermöglicht, kleine Blöcke auf einem separaten speziellen vdev, z.B. auf einem SSD-Laufwerk, zu platzieren.
  • Der Schreibmodus „zfs rewrite -P“ wurde hinzugefĂŒgt, der, wenn möglich, die logische Erstellungszeit unverĂ€ndert lĂ€sst, was es ermöglicht, zwischen Blöcken zu unterscheiden, die einfach in den Pool verschoben wurden, und Blöcken, die tatsĂ€chlich vom Benutzer verĂ€ndert wurden.
  • FĂŒr die Befehle „zpool trim“, „zpool scrub“ und „zpool initialize“ wurde die Option „-a“ (—all) implementiert, die es ermöglicht, diese Befehle fĂŒr alle importierten Pools gleichzeitig auszufĂŒhren.
  • Der Befehl „zpool scrub -S -E“ wurde hinzugefĂŒgt, um die ÜberprĂŒfung der PrĂŒfziffern fĂŒr Daten, die in die angegebenen Zeitintervalle fallen, durchzufĂŒhren.
  • Neue Optimierungen des Deduplikationsprozesses wurden hinzugefĂŒgt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4