Release von OpenZFS 2.4.0, Implementierung von ZFS fĂŒr Linux und FreeBSD

Nach 11 Monaten Entwicklung wurde die Version OpenZFS 2.4.0 veröffentlicht, die die Implementierung des Dateisystems ZFS fĂŒr Linux und FreeBSD weiterentwickelt. Das Projekt erlangte Bekanntheit als „ZFS on Linux“ und beschrĂ€nkte sich zuvor auf die Entwicklung eines Moduls fĂŒr den Linux-Kernel, wurde nach der Fusion mit dem Code von FreeBSD jedoch als die Hauptimplementierung von OpenZFS anerkannt und umbenannt.

Die FunktionalitĂ€t von OpenZFS wurde mit Linux-Kernen von 4.18 bis 6.18 und allen Versionen von FreeBSD ab 13.3 getestet. Der Code wird unter der freien Lizenz CDDL veröffentlicht. OpenZFS wird bereits in FreeBSD verwendet und ist Bestandteil der Distributionen Debian, Ubuntu, Gentoo, NixOS und ALT Linux. Pakete mit der neuen Version werden in naher Zukunft fĂŒr die gĂ€ngigen Linux-Distributionen, einschließlich Debian, Ubuntu, Fedora und RHEL/CentOS, vorbereitet.

OpenZFS bietet eine Implementierung von ZFS-Komponenten, die sowohl mit dem Betrieb des Dateisystems als auch mit der FunktionalitĂ€t des Volumenmanagers zusammenhĂ€ngen. Implementierte Komponenten: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) und ZPL (ZFS POSIX Layer). Das Projekt ermöglicht es außerdem, ZFS als Backend fĂŒr das Cluster-Dateisystem Lustre zu verwenden. Die Fortschritte von OpenZFS basieren auf dem Originalcode von ZFS, der aus dem OpenSolaris-Projekt importiert und durch BeitrĂ€ge und Verbesserungen der Illumos-Community erweitert wurde. Das Projekt entwickelt sich in Zusammenarbeit mit Mitarbeitern des Lawrence Livermore National Laboratory im Rahmen eines Vertrags mit dem US-Energieministerium.

Der Code wird unter der freien CDDL-Lizenz verbreitet, die nicht mit der GPLv2 kompatibel ist, was die Integration von OpenZFS in den Hauptzweig des Linux-Kernels verhindert, da die Vermischung von Code unter den Lizenzen GPLv2 und CDDL unzulĂ€ssig ist. Um die LizenzinkompatibilitĂ€t zu umgehen, wurde entschieden, das Produkt fĂŒr Linux vollstĂ€ndig unter der CDDL-Lizenz als separaten herunterladbaren Modul anzubieten, der unabhĂ€ngig vom Kernel bereitgestellt wird. Die StabilitĂ€t des Codebasis von OpenZFS wird als vergleichbar mit anderen Dateisystemen fĂŒr Linux bewertet.

Wesentliche Ä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 kann jetzt ein Standardwert festgelegt werden, der angewendet wird, wenn fĂŒr einen bestimmten Benutzer keine Quote festgelegt wurde.
  • Die Möglichkeit, den Modus fĂŒr direkte Eingabe/Ausgabe (O_DIRECT, Direct I/O) zurĂŒckzusetzen, wurde hinzugefĂŒgt, um einen leichten Mechanismus fĂŒr nicht zwischenspeicherbare Eingabe/Ausgabe (Uncached I/O) fĂŒr nicht seitenaligned Anfragen zu verwenden, die in Direct I/O nicht unterstĂŒtzt werden.
  • Ein neuer einheitlicher Algorithmus zur Geschwindigkeitsbegrenzung von Schreiboperationen und der Platzierung von Blöcken wurde vorgeschlagen, der die Fragmentierung von vdev (Virtual Device) verringert, indem mehrere Schreiboperationen aggregiert und grĂ¶ĂŸere zusammenhĂ€ngende freie Bereiche verwendet werden, anstatt die Ergebnisse einzelner Schreiboperationen in kleinen freien Bereichen zu speichern.
  • Die Leistung der VerschlĂŒsselung wurde durch die Nutzung von AVX2-Befehlen in der Implementierung des AES-GCM-Algorithmus verbessert. In den durchgefĂŒhrten Tests wurde eine Beschleunigung von bis zu 80 % erzielt.
  • Die Platzierung von ZIL-Blöcken (ZFS Intent Log) ist jetzt nicht nur auf normalen vdev oder einem separaten SLOG-GerĂ€t, sondern auch auf speziellen vdev erlaubt. Wenn ein normaler vdev mit einer Festplatte verbunden ist, wĂ€hrend ein spezieller vdev mit einem SSD-Laufwerk verbunden ist, ermöglicht diese Änderung, Situationen auszuschließen, in denen Daten auf eine SSD geschrieben werden, wĂ€hrend die zugehörigen ZIL-Blöcke auf einer Festplatte landen, was zu ĂŒberflĂŒssigen Verzögerungen fĂŒhrt.
  • Die Eigenschaft special_small_blocks kann jetzt auch fĂŒr ZVOLs eingerichtet werden, nicht nur fĂŒr Dateisysteme, was die Platzierung kleiner Blöcke auf einem separaten speziellen vdev, beispielsweise auf einer SSD, ermöglicht.
  • Der „zfs rewrite -P“-Modus wurde hinzugefĂŒgt, der das logische Erstellungsdatum nach Möglichkeit unverĂ€ndert lĂ€sst, sodass Blöcke, die einfach in den Pool verschoben wurden, von Blöcken, die tatsĂ€chlich vom Benutzer geĂ€ndert wurden, unterschieden werden können.
  • FĂŒr die Befehle „zpool trim“, „zpool scrub“ und „zpool initialize“ wurde die Option „-a“ (—all) implementiert, die es ermöglicht, diese Befehle sofort fĂŒr alle importierten Pools auszufĂŒhren.
  • Der Befehl „zpool scrub -S -E“ wurde hinzugefĂŒgt, um die ÜberprĂŒfung der PrĂŒfziffern von Daten innerhalb der angegebenen Zeitspanne durchzufĂŒhren.
  • Neue Optimierungen des Deduplizierungsprozesses wurden hinzugefĂŒgt.

Quelle: opennet.ru

Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster