Die Veröffentlichung des OpenZFS 2.1-Projekts, das die Implementierung des Dateisystems ZFS fĂŒr Linux und FreeBSD weiterentwickelt, wurde bekannt gegeben. Das Projekt erlangte Bekanntheit als 'ZFS on Linux' und beschrĂ€nkte sich zuvor auf die Entwicklung eines Moduls fĂŒr den Linux-Kernel. Nach der EinfĂŒhrung der UnterstĂŒtzung fĂŒr FreeBSD wurde es jedoch als die Hauptimplementierung von OpenZFS anerkannt und der Verweis auf Linux im Namen wurde entfernt.
Die Arbeit mit OpenZFS wurde mit Linux-Kerneln von 3.10 bis 5.13 und allen FreeBSD-Zweigen ab 12.2-RELEASE 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, Sabayon Linux und ALT Linux. Pakete mit der neuen Version werden in naher Zukunft fĂŒr alle gĂ€ngigen Linux-Distributionen, darunter Debian, Ubuntu, Fedora und RHEL/CentOS, vorbereitet.
OpenZFS bietet eine Implementierung von ZFS-Komponenten, die sowohl mit der Funktionsweise des Dateisystems als auch mit dem Betrieb des Volume-Managers verbunden sind. Insbesondere sind die Komponenten SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) und ZPL (ZFS POSIX Layer) implementiert. ZusĂ€tzlich stellt das Projekt die Möglichkeit zur VerfĂŒgung, ZFS als Backend fĂŒr das Cluster-Dateisystem Lustre zu verwenden. Die Entwicklungen des Projekts basieren auf dem Original-ZFS-Code, der aus dem OpenSolaris-Projekt importiert und durch Verbesserungen und Korrekturen aus der Illumos-Community erweitert wurde. Das Projekt wird mit der UnterstĂŒtzung von Mitarbeitern des Lawrence Livermore National Laboratory im Rahmen eines Vertrags mit dem US-Energieministerium weiterentwickelt.
Der Code wird unter der Open-Source-Lizenz CDDL verbreitet, die mit GPLv2 inkompatibel ist. Dies verhindert die Integration von OpenZFS in den Hauptzweig des Linux-Kernels, da eine Mischung von Code unter den Lizenzen GPLv2 und CDDL unzulĂ€ssig ist. Um diese LizenzinkompatibilitĂ€t zu umgehen, wurde die Entscheidung getroffen, das Produkt vollstĂ€ndig unter der Lizenz CDDL als separat ladbares Modul bereitzustellen, das unabhĂ€ngig vom Kernel geliefert wird. Die StabilitĂ€t der OpenZFS-Codebasis wird als vergleichbar mit anderen Dateisystemen fĂŒr Linux eingeschĂ€tzt.
HauptÀnderungen:
- UnterstĂŒtzung der dRAID-Technologie (Distributed Spare RAID) hinzugefĂŒgt, die eine Variante von RAIDZ mit integrierter verteilt arbeitender Blockverarbeitung fĂŒr Hot-Spare-Wiederherstellung darstellt. dRAID hat alle Vorteile von RAIDZ geerbt, ermöglicht jedoch eine signifikante Steigerung der Geschwindigkeit der Speicherneubildung (Resilvering) und der Wiederherstellung von Redundanzen im Array. Der virtuelle Speicher von dRAID wird aus mehreren internen Gruppen von RAIDZ gebildet, wobei jede dieser Gruppen sowohl DatenspeichergerĂ€te als auch ParitĂ€tsgerĂ€te enthĂ€lt. Diese Gruppen sind auf alle Laufwerke verteilt, um die verfĂŒgbare Bandbreite der Festplatten optimal zu nutzen. Anstelle einer einzelnen Festplatte fĂŒr die Hot-Spare-Wiederherstellung wird in dRAID das Konzept der logischen Verteilung von Hot-Spare-Blöcken ĂŒber alle Laufwerke im Array angewendet.

- Eigenschaft âcompatibilityâ (âzpool create -o compatibility=off|legacy|file[,fileâŠ] pool vdevâ) implementiert, die es dem Administrator ermöglicht, eine Reihe von Funktionen auszuwĂ€hlen, die im Pool aktiviert werden sollen, um tragbare Pools zu erstellen und die KompatibilitĂ€t der Pools zwischen verschiedenen Versionen von OpenZFS und unterschiedlichen Plattformen aufrechtzuerhalten.
- Möglichkeit hinzugefĂŒgt, Pool-Statistiken im Format der InfluxDB-Datenbank zu speichern, die fĂŒr die Speicherung, Analyse und Manipulation von Daten in Form von Zeitreihen optimiert ist (Messwerte ĂŒber festgelegte Zeitintervalle). Zum Export im InfluxDB-Format wurde der Befehl âzpool influxdbâ vorgeschlagen.
- UnterstĂŒtzung fĂŒr Hot-Plugged RAM und CPU hinzugefĂŒgt.
- Neue Befehle und Optionen:
- âzpool create -uâ â automatische Montage deaktivieren.
- âzpool history -iâ â zeigt in der Befehlshistorie die AusfĂŒhrungsdauer jedes Befehls an.
- âzpool statusâ â Ausgabe einer Warnung fĂŒr Festplatten mit nicht optimaler BlockgröĂe hinzugefĂŒgt.
- âzfs send âskip-missing|-sâ â ignoriert fehlende Snapshots wĂ€hrend des Sendestreams zur Replikation.
- âzfs rename -uâ â Umbenennung des FS ohne erneutes Einbinden.
- In arcstat wurde die UnterstĂŒtzung fĂŒr L2ARC-Statistiken hinzugefĂŒgt, und die Optionen â-aâ (alle) und â-pâ (auswertbar) wurden hinzugefĂŒgt.
- Optimierungen:
- Die Leistung der interaktiven Ein-/Ausgabe wurde verbessert.
- Die Pre-Fetch-Leistung fĂŒr datenintensive parallele Zugriffsbelastungen wurde beschleunigt.
- Die Skalierbarkeit wurde verbessert, indem Blockierkonflikte reduziert wurden.
- Die Importzeit des Pools wurde verkĂŒrzt.
- Die Fragmentierung der ZIL-Blöcke wurde verringert.
- Die Leistung rekursiver Operationen wurde verbessert.
- Das Speichermanagement wurde optimiert.
- Die Ladezeit des Kernel-Moduls wurde beschleunigt.
Quelle: opennet.ru

