Es hat etwa zwei Jahre und 5 RC-Versionen gedauert, bis die Entwickler von ZFS on Linux (kurz ZoL) eine äußerst wichtige Version herausbrachten — ZFS-0.8.0.
Neue Funktionen:
- "Natives" Verschlüsseln sowohl für Dateisysteme als auch für Partitionen. Standardmäßig wird der Algorithmus aes-256-ccm verwendet. Die Schlüssel für das Dataset werden mit dem Befehl „zfs load-key“ und den zugehörigen Unterbefehlen verwaltet.
- Verschlüsselung bei zfs send/receive. Ermöglicht die Speicherung von Backups auf nicht vertrauenswürdigen Diensten, ohne dass eine Kompromittierung möglich ist.
- Entfernen eines Geräts aus dem Pool mit dem Befehl „zpool remove“. Alle Daten werden im Hintergrund auf die verbleibenden Obergerät übertragen, wodurch die Kapazität des Pools entsprechend reduziert wird.
- Der Unterbefehl „zpool checkpoint“ ermöglicht es, den gesamten Zustand des Pools zu speichern und bei Bedarf zu diesem genauen Zustand zurückzukehren. Dies kann als erweiterter Snapshot des Pools angesehen werden. Es ist nützlich bei komplexen administrativen Aktionen, die andernfalls irreversibel sind (z. B. Aktivierung einer neuen Funktion, Zerstörung eines Datasets usw.)
- TRIM für die Geräte des Pools. Ermöglicht eine effizientere Nutzung von Solid-State-Laufwerken und verhindern, dass ihre Leistung und/oder Lebensdauer beeinträchtigt wird. Trim kann sowohl mit dem separaten Befehl „zpool trim“ als auch durch Aktivieren der Option discard — der neuen Pool-Eigenschaft „autotrim“ — durchgeführt werden.
- Initialisierung des Pools. Der Unterbefehl „zpool initialize“ schreibt sein Muster in den gesamten nicht zugewiesenen Speicher. Dies beseitigt den anfänglichen Leistungsabfall, der in einigen virtualisierten Speicherlösungen (z. B. VMware VMDK) auftreten kann.
- Unterstützung für Projektabrechnung und Quoten. Diese Funktion fügt der bestehenden Speicher- und Quotenabrechnung eine Projektverwendung und Quoten hinzu. Die Projektquoten fügen eine zusätzliche Dimension zu den traditionellen Quoten für Benutzer/Gruppen hinzu. Die Unterbefehle „zfs project“ und „zfs projectspace“ wurden hinzugefügt, um Projekte zu verwalten, Quotenlimits festzulegen und Nutzung zu berichten.
- Kanalprogramme. Der Unterbefehl „zpool program“ ermöglicht die Verwendung von LUA-Skripten zur Ausführung administrativer Aufgaben. Die Skripte werden in einer „Sandbox“ mit Zeit- und Speicherkapazitätsgrenzen ausgeführt.
- Pyzfs. Neue Python-Bibliothek zur Bereitstellung einer stabilen Schnittstelle für die Verwaltung von ZFS. Dieses Wrapper sorgt für eine eindeutige Zuordnung (one-to-one) zu den Funktionen der libzfs_core API, jedoch sind die Signaturen und Typen natürlicher für den Python-Dialekt.
- Kompatibilität mit Python3. Die Dienstprogramme «arcstat», «arcsummary» und «dbufstat» wurden für die Kompatibilität mit Python3 aktualisiert.
- Direct IO. Unterstützung für die Verwendung des direkten Zugriffs (O_DIRECT) hinzugefügt.
Die Subkommandos scrub/resilver/list/get wurden ebenfalls beschleunigt, die Möglichkeit hinzugefügt, Metadaten auf einem separaten Gerät (z.B. einem leistungsstarken SSD mit geringem Volumen) auszugeben, die Leistung von ZIL durch Caching und Optimierung erhöht sowie Unterstützung für hardwarebeschleunigte SHA256-Prüfziffern und AES-Verschlüsselung mit Intel QAT (Quick Assist Technology) hinzugefügt.
Unterstützte Linux-Kernel: 2.6.32 — 5.1 (auf Kernen 5.0 und höher wird SIMD-Beschleunigung derzeit noch nicht unterstützt)
Vollständig Änderungsliste
Standardwerte der Modulparameter wurden so gewählt, dass eine optimale Belastung für die meisten Arbeitslasten und Konfigurationen gewährleistet ist. Für eine vollständige Liste der Optionen — man 5 zfs-module-parameters
Quelle: linux.org.ru
