Vor einigen Tagen wurde die neueste stabile Version von ZFSonLinux veröffentlicht, einem Projekt, das nun im Zentrum der Entwicklung von OpenZFS steht. Leb wohl, OpenSolaris, willkommen in der gnadenlosen, GPL-CDDL inkompatiblen Welt von Linux.

Unter dem Kat gibt es eine Ăbersicht der interessantesten Dinge (was auch sonst, 2200 Commits!), und zum Dessert â ein wenig Aufregung.
Neue Funktionen
NatĂŒrlich ist die am meisten erwartete â natives VerschlĂŒsseln. Jetzt können Sie nur die benötigten DatensĂ€tze mit der in ZFS eingebauten VerschlĂŒsselung verschlĂŒsseln, und (was meiner Meinung nach das Wichtigste ist) â Sie können verschlĂŒsselte Daten ĂŒber zfs send und OHNE EntschlĂŒsselung die IntegritĂ€t der Daten mit den integrierten Mitteln ĂŒberprĂŒfen; alle Möglichkeiten zur Sicherstellung der DatenintegritĂ€t von ZFS stehen Ihnen zur VerfĂŒgung!
Als nĂ€chstes ist der lange erwartete TRIM. Ja, es hat sehr lange gedauert, bis es in die Produktion gelangt ist. Zum Teil, weil das Problem des SSD-VerschleiĂes fĂŒr CoW-Dateisysteme nicht so kritisch ist. Aber jetzt sind wir alle beruhigt â zpool trim wird unsere empfindlichen Flash-Laufwerke retten.
Jetzt können Sie zufĂ€llig hinzugefĂŒgte vdev Arrays aus dem Pool löschen (aber nur, wenn es sich um Sparse oder Mirror handelt). Eine nĂŒtzliche Kleinigkeit.
Als NĂ€chstes in unserem Hit-Parade â Pool Checkpoints. Kurz gesagt â Snapshots fĂŒr den gesamten Zustand des Pools, ABER mit der Möglichkeit, nicht nur Ănderungen an den Daten, sondern auch an den aktivierten Funktionen und Ănderungen in der Struktur des Pools zurĂŒckzusetzen. Eine weitere Möglichkeit, sich abzusichern.
Pool-Initialisierung â das Unterlager mit Nullen zu fĂŒllen. NĂŒtzlich fĂŒr den Einsatz in Umgebungen mit thin provisioned Festplatten, um Platz explizit zuzuweisen und unerwartete LeistungseinbrĂŒche in der Zukunft auszuschlieĂen.
Projektabrechnung und Quoten â im bestehenden Quotenmechanismus ist es nun möglich, eine Unterteilung in Projekte zu verwenden.
Channel-Programme â die Möglichkeit, administrative Aufgaben atomar mithilfe von Lua-Skripten auszufĂŒhren. Es gibt Grenzen fĂŒr AusfĂŒhrungszeit und Speicher. Wenn Sie Automatisierung betreiben â dann ist das etwas fĂŒr Sie.
Direct IO â zur Vereinfachung haben wir das Arbeiten mit Direct IO möglich gemacht, im Inneren hat sich nichts geĂ€ndert (die Aufrufe gehen einfach gröĂtenteils am Cache vorbei), aber jetzt wird die Software, die in diesem Modus arbeiten möchte, nicht frustriert sein.
Projekt Pyzfs wurde in das Hauptrepository integriert und wird von dem Projekt ZFSonLinux unterstĂŒtzt. Jetzt gibt es mehr Mittel zur Verwaltung aus Python (und es wird ruhiger sein um die UnterstĂŒtzung des Moduls). Auch viele Python-Skripte wurden auf Python3 angepasst.
Und jetzt das Leckerste â die Leistung
Jetzt werden bei Scrub- und Resilver-VorgĂ€ngen zunĂ€chst die Metadaten ausgelesen und erst danach in maximal sequentieller Form â die Daten. Dadurch erfolgt die Wiederherstellung des Arrays und die IntegritĂ€tsprĂŒfung mit maximaler Geschwindigkeit.
Zuweisungsklassen â bei vdev-Arrays ist ein neuer TrĂ€gertyp hinzugekommen, nun können Metadaten/Deduplizierungstabellen (DDT)/Datenblöcke unter X KByte auf ein separates vdev-Array von leistungsfĂ€higeren Festplatten ausgelagert werden. Mehr Geschwindigkeit dem Gott der Geschwindigkeit! (und ehrlich gesagt â diese Möglichkeit wird in naher Zukunft sehr nĂŒtzlich sein ).
Viele administrative Befehle arbeiten jetzt schneller durch gezielte Zwischenspeicherung von Metadaten (zum Beispiel, zfs list, zfs get).
Der Datenallokationsprozess wurde parallelisiert, jetzt wird fĂŒr jeden Bereich des freien Speicherplatzes (Metaslab) mehrere Allokatoren erstellt. Mit NVMe wird zwar nicht alles herausgeholt, aber es wird besser.
Die verzögerte Wiederherstellung der IntegritÀt des Arrays wird es ermöglichen, das Array nicht mit der gleichzeitigen Rekonstruktion mehrerer Festplatten zu belasten, sondern dies nacheinander zu tun. Dadurch wird sowohl der Einfluss auf die Leistung als auch die Rekonstruktionszeit reduziert.
Beim Import von Pools mit einer groĂen Anzahl von Volumes wurde die Geschwindigkeit ihrer Registrierung im System erhöht.
AuĂerdem QAT ermöglicht jetzt die Auslagerung der Berechnung von VerschlĂŒsselung und PrĂŒfziffern darauf.
Und als Dessert â die Intrigen
Obwohl ZFSonLinux schnell UnterstĂŒtzung fĂŒr aktuelle Linux-Kernel hinzufĂŒgt (derzeit werden die Versionen 2.6.32 â 5.1* unterstĂŒtzt), zeigen die Kernel-Maintainer ein offensichtliches Desinteresse an der UnterstĂŒtzung von Drittmodulen (â â greg k-hâ). So wurden die fĂŒr eine effiziente Arbeit erforderlichen Kernelaufrufe in der Version 5.0 . In den Kernen mit diesem Patch wird die Leistung von ZFS erheblich schlechter sein. Es ist jedoch zu beachten, dass diese FunktionalitĂ€t auf der Modulseite umgesetzt werden kann, was wahrscheinlich auch geschehen wird. WĂ€hrenddessen können Sie sich ein Beispiel an NixOS nehmen â sie haben đ
Das Projekt hat auch einen Verhaltenskodex eingefĂŒhrt, was eine Welle von Kontroversen ausgelöst hat. Aber wir sind standhaft geblieben đ
Allen arbeitsfÀhige Sicherungen und stabile Releases!
NĂŒtzliche Links:
â
â
Quelle: habr.com
