Veröffentlichung des Dateisystems Bcachefs 1.33.0

Kent Overstreet hat die Version 1.33.0 des Dateisystems Bcachefs veröffentlicht. Das Release umfasst zwei Pakete: bcachefs-kernel-dkms mit einem Kernel-Modul, das mit Hilfe des DKMS (Dynamic Kernel Module Support) Systems kompiliert wird, und bcachefs-tools mit dem im Benutzerraum laufenden Dienstprogramm bcachefs, das Befehle zum Erstellen (mkfs), EinhĂ€ngen, Wiederherstellen und ÜberprĂŒfen des Dateisystems implementiert. Die Pakete sind fĂŒr Debian, Ubuntu, Fedora, openSUSE, NixOS und Arch Linux zusammengestellt. Das DKMS-Modul unterstĂŒtzt Kernels von Linux ab Version 6.16.

In der neuen Version wurde die FunktionalitĂ€t „reconcile“ (rebalance_v2) hinzugefĂŒgt, die als die bedeutendste Änderung im Dateisystem der letzten zwei Jahre gekennzeichnet ist. Im Gegensatz zum zuvor verfĂŒgbaren „rebalance“-Modus ermöglicht der „reconcile“-Mechanismus die Neuverteilung nicht nur von Daten (zum Beispiel das Replizieren mehrerer Kopien auf verschiedene Speicher), sondern auch von Metadaten im Dateisystem (zum Beispiel zur Übertragung von Metadaten nach der HinzufĂŒgung eines weiteren Speichers zum Pool). DarĂŒber hinaus ist reconcile jetzt fĂŒr alle Eingabe-/Ausgabeoptionen anwendbar und nicht nur fĂŒr Hintergrundkopier- und Komprimierungsoperationen. Im reconcile werden auch automatisch Änderungen an den Optionen oder Einstellungen der GerĂ€te berĂŒcksichtigt, und degradierte Daten sowie Metadaten werden sofort repliziert.

Im reconcile werden separate Indizes verwendet fĂŒr: hochpriorisierte Operationen; Optimierung der Datenverarbeitung auf DatentrĂ€gern; Daten, deren Verarbeitung momentan nicht möglich ist (zum Beispiel aufgrund von Speichermangel). UnterstĂŒtzung fĂŒr die Erstellung eines Dateisystems auf einem einzigen Speichermedium im Modus mit doppelter Replikation (replicas=2) wurde hinzugefĂŒgt – in dieser Konfiguration fĂŒhrt die HinzufĂŒgung eines zweiten Speichers zur automatischen Replikation der Daten auf die hinzugefĂŒgte Festplatte, ohne dass der Benutzer irgendwelche Aktionen durchfĂŒhren muss.

Unter den weiteren Änderungen:

  • Die Befehle „reconcile status“ und „reconcile wait“ wurden hinzugefĂŒgt. Die Montageoptionen „mount_trusts_udev“ und „writeback_timeout“ wurden hinzugefĂŒgt. Die Befehle „data rereplicate“ und „data job drop_extra_replicas“ wurden als veraltet markiert.
  • Ein Wiederherstellungsmodus „merge_btree_nodes“ wurde hinzugefĂŒgt, der alle Knoten in btree-Strukturen ĂŒberprĂŒft, die unter die Fusionierungsoperationen fallen.
  • Der Code wurde fĂŒr den Übergang zur Nutzung der Programmiersprache Rust vorbereitet. Die Anzahl der im Code verwendeten goto-Operationen wurde von 2500 auf 600 reduziert. Anstelle von hartcodierten Vektoren wurde das Makro DARRAY() verwendet, das eine Ă€hnliche FunktionalitĂ€t wie dynamische Arrays in C++ und Rust bietet. Zur Behandlung von Fehlern wurde das Makro try() verwendet, das aus Rust entlehnt ist.
  • Im Team "bcachefs fs usage" wurde sichergestellt, dass die Informationen ĂŒber degradierte Daten korrekt sind.
  • Die Verarbeitung der von dem Befehl "bcachefs fs top" angezeigten ZĂ€hler wurde ĂŒberarbeitet. Das HinzufĂŒgen neuer ZĂ€hler wurde vereinfacht und die Möglichkeit zur Umwandlung von Tracepoints in Printbufs wurde implementiert.
  • Die QualitĂ€t der Fehlermeldungen wurde verbessert, die nun Informationen ĂŒber die Art der AusfĂ€lle (Software- oder Hardwarefehler), Maßnahmen zur Fehlerbehebung (z. B. Start des Wiederherstellungsprozesses) und Fehlercodes von BlockgerĂ€ten sowie fehlende GerĂ€te enthalten. Beim Scannen der B-Baum-Strukturen wird auch ĂŒber die Möglichkeit zur Wiederherstellung defekter Knoten informiert.
  • Beim Schreiben in das Protokoll wurde die Möglichkeit hinzugefĂŒgt, separate Grenzen fĂŒr die IntensitĂ€t der Ausgabe verschiedener Fehlerarten festzulegen. Solche Grenzen helfen, den Verlust von Meldungen ĂŒber einmalige Hardwareprobleme im Hintergrund vieler Softwarefehler zu verhindern.
  • FĂŒr alle Wiederherstellungsphasen wurden Fortschrittsanzeigen hinzugefĂŒgt.

Das Bcachefs-Projekt entwickelt ein Dateisystem, das darauf abzielt, erweiterte Funktionen, die fĂŒr Btrfs und ZFS typisch sind, mit der Leistung, ZuverlĂ€ssigkeit und Skalierbarkeit zu kombinieren, die fĂŒr XFS charakteristisch sind. Bcachefs unterstĂŒtzt Funktionen wie das Einbinden mehrerer GerĂ€te in eine Partition, mehrschichtige Speicheranordnungen (untere Schicht mit hĂ€ufig verwendeten Daten auf schnellen SSDs und obere Schicht mit weniger gefragten Daten von Festplatten), Replikation (RAID 1/10), Caching, transparente Datenkompression (Modi LZ4, gzip und ZSTD), Zustands-Snapshots, IntegritĂ€tsprĂŒfung durch PrĂŒfziffern, die Möglichkeit zur Speicherung von Reed-Solomon-Fehlerkorrekturcodes (RAID 5/6) und die Speicherung von Informationen in verschlĂŒsselter Form (Verwendung von ChaCha20 und Poly1305). In Bezug auf die Leistung ĂŒbertrifft Bcachefs Btrfs und andere auf Copy-on-Write basierende Dateisysteme und zeigt eine Arbeitsgeschwindigkeit, die nahe an Ext4 und XFS liegt.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster