Leistungsfähiges Dateisystem für Linux: Bcachefs im Test

Bcachefs verspricht die Vorteile bekannter Vertreter wie Btrfs oder ZFS, will aber leistungsfähiger, sauberer und einfacher sein. Ein Realitätscheck.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 60 Kommentare lesen
Lesezeit: 18 Min.
Von
  • Dr. Udo Seidel
Inhaltsverzeichnis

Seit Version 6.7 ist das neue Dateisystem Bcachefs Teil des Linux-Kernels. Nun ist es nicht so, dass es dem freien Betriebssystem an Dateisystemen mangelt. Auch ist die Entwicklung von Bcachefs fast eine Ein-Mann-Show. Dennoch hat es die Aufnahme in die offiziellen Kernelquellen geschafft, was oft genug ein sehr schwieriges Unterfangen ist. Der Zwischenspeichermechanismus Bcache hat hierbei Hilfestellung gegeben. Der gehört schon seit über zehn Jahren, genauer seit Version 3.10, zum Kernel.

Beim ersten Kennenlernen von Bcachefs fallen viele bekannte Schlüsselwörter auf: Extents, B-Trees, Inodes oder Copy-on-Write (COW). Das sind keine neuen Techniken, manche sind im Dateisystemumfeld schon seit Jahrzehnten bekannt. Liest man weiter, stößt man auf Prüfsummen oder Verschlüsselung oder gar die Verwendung mehrerer Festplatten. Auch dies ist nicht wirklich neu. Was ist also anders an Bcachefs – so anders, dass es in den Linux-Kernel wandert?

Mehr zu Linux
Dr. Udo Seidel

Dr. Udo Seidel war seit 1996 als Linux-/Unix-Trainer, Administrator, Senior Solution Engineer und Chefarchitekt tätig. Er arbeitet heute als Customer Success Manager im DACH-Bereich für XM Cyber.

Grob gesagt ist es die Herangehensweise an das Filesystem an sich und die damit verbundene Entwicklung. Bcachefs kommt ursprünglich nicht aus der Welt der Dateisysteme. Der Entwickler unterteilt es in zwei Bestandteile. Da ist einmal die grundlegende Maschinerie. Sie basiert auf den bekannten B-Trees, ist aber per se nicht zwingend für Dateisysteme ausgelegt. Eigentlich geht es zunächst nur um die Verwaltung beliebiger Schlüssel-Wert-Paare. Kent Overstreet vergleicht diesen Teil gerne mit einem transaktionalen Key-Value Store. Dieser Teil von Bcachefs könnte quasi beliebige Daten verwalten.