Schlagwort: Bcachefs

  • Bcachefs lernt Snapshots und Subvolumes

    Bcachefs lernt Snapshots und Subvolumes

    Kent Overstreet, seit 2015 Hauptentwickler des Copy-on-Write (COW)-Dateisystems Bcachefs hat bereits vor einem knappen Jahr den Code zum Review für den Kernel eingereicht. Jetzt hat er einen weiteren wichtigen Patch nachgelegt. Das neue Dateisystem soll einmal mit den modernen Funktionen von ZFS und Btrfs und der Geschwindigkeit und Leistung von ext4 oder XFS konkurrieren.

    Konkurrenz für etablierte Dateisysteme

    Zu den geplanten oder bereits vorhandenen Funktionen von Bcachefs gehören Caching, vollständige Dateisystemverschlüsselung mit den Algorithmen ChaCha20 und Poly1305, native Komprimierung per zlib, LZ4- und Zstandard-Unterstützung sowie CRC-32C und 64-Bit-Prüfsummenbildung. Bcachefs bietet die gesamte Funktionalität von Bcache, einem ebenfalls von Overstreet geschriebenen Block-Layer-Cache-System, das bereits im Block-Layer des Linux-Kernel aufgenommen ist und mit dem sich Bcachefs rund 80 % des Codes teilt.

    Wichtiger Meilenstein

    Mit dem jetzt eingereichten Patch erreicht das Dateisystem einen aus Anwendersicht wichtigen Meilenstein, nämlich die Einführung von Snapshots und Subvolumes. Dahinter stehen neun Monate Arbeit und 3.000 Zeilen Code. Einige Eigenschaften dieser neuen Funktionalität sind:

    • eine Schnittstelle ähnlich der von Btrfs für Subvolumes und Snapshots
    • beschreibbare Snapshots
    • Hochgradig skalierbar: Die Anzahl der Snapshots ist nur durch den verfügbaren Speicherplatz begrenzt
    • sehr platzsparend: keine internen Fragmentierungsprobleme

    Dateisysteme reifen langsam

    Go wild, please try and break it.

    Kent Overstreet

    Overstreet schreibt, die Kernfunktionalität sei vollständig – Snapshot-Erstellung und -Löschung sowie fsck funktionieren. Abgesehen davon bleibe aber noch einiges zu tun. Weitere Designentscheidungen der Implementierung sind in der Dokumentation aufgeführt. Einen Grundlagenartikel hat 2018 LWN veröffentlicht.

    Gute Dateisysteme haben die Angewohnheit, langsam zu reifen. Wird das vernachlässigt, hat man hinterher mit Problemen wie von Btrfs bekannt zu kämpfen. Bcachefs wird daher bestimmt noch einige Zeit brauchen, bis es reif für den Mainline-Kernel ist.

  • Bcachefs erneut zur Überprüfung eingereicht

    Bcachefs erneut zur Überprüfung eingereicht

    Kent Overstreet, Entwickler des Copy-on-Write (COW)-Dateisystems Bcachefs hat seine aktuellen Patches zur Überprüfung bei den Kernel-Entwicklern eingereicht. Overstreet hält Bcachefs für reif für eine Aufnahme in den Kernel. Deshalb hat er seinen Review-Wunsch gleich als Pull-Request eingereicht, im Fall, dass die Kernel-Entwickler keine Einwände mehr haben sollten.

    Erstmals 2015 vorgestellt

    Overstreet stellte sein Dateisystem erstmals 2015 auf lklm.org vor, nachdem er bereits mehrere Jahre daran gearbeitet hatte. Entstanden war die Idee aus dem seit Linux 3.10 im Kernel integrierten und ebenfalls von Overstreet geschriebenen Gerätetreiber bcache, der, mit den damals aufkommenden SSDs im Blick, die Möglichkeit bietet, langsame Block-Devices wie Festplatten mithilfe schnellerer Block-Devices wie SSDs zu cachen. Somit erklärt sich der Name, der für block device cache steht.

    Robust und zuverlässig

    Overstreet erkannte, dass bcache bereits viele Grundelemente eines Dateisystems hat und beschloss, es zu einem solchen auszubauen. Dies dauerte allerdings länger als erwartet. Das definierte Entwicklungsziel ist, mit Ext4 und XFS gleichzuziehen, was Leistung und Zuverlässigkeit betrifft, aber mit den zusätzlichen Eigenschaften von Btrfs und ZFS. Dazu zählen COW, Prüfsummen für Daten und Metadaten, Caching, Kompression, Verschlüsselung und Snapshots. Dabei soll aber immer »Robustheit und Zuverlässigkeit vor Features und Hype« stehen.

    Zweiter Anlauf

    Vor rund 18 Monaten begann Overstreet eine Patch-Serie einzureichen, von der er glaubte, sie sei ausreichend stabil und fehlerfrei für die Aufnahme in den Mainline-Kernel. Linus Torvalds sah das anders und kritisierte die Patches sowohl inhaltlich als auch von der Form her. Jetzt macht Overstreet einen weiteren Anlauf, der aber selbst, wenn es keine Beanstandungen mehr geben sollte, wegen der Feiertage für Linux 5.11 vermutlich zu spät kommt. Die Chancen für eine Aufnahme im Jahr 2021 stehen aber nicht schlecht, was zur weiteren Reifung beitragen würde.

    Wird Bcachefs in den Kernel aufgenommen, so kann der Gerätetreiber bcache entfallen. Overstreet hofft, Btrfs bei Zuverlässigkeit und Geschwindigkeit überholen zu können. Ein Vorteil gegenüber Btrfs ist bereits jetzt die Möglichkeit, es als Cache einzusetzen, die Btrfs offiziell nicht bietet. Weitere technische Details bietet ein Artikel auf LWN.