Schlagwort-Archive: RAID

BitBastelei #568 – bcachefs: Der neue Dateisystem-Alleskönner für Linux

BitBastelei #568 - bcachefs: Der neue Dateisystem-Alleskönner für Linux

(380 MB) 00:35:52

2023-12-03 11:00 🛈

Im Speicherumfeld gibt es einige All-in-one-Dateisysteme, welche viele Funktionen wie RAID, Volume Management, Snapshots, verteilen auf unterschiedlich schnelle Geräte, Kompression u.v.A. ineinander Vereinen. Am bekanntesten sind ZFS, welches jedoch lizenztechnisch schwierig ist, und BTRFS, welches – zumindest bei mir – nicht grade für seine Datensicherheit bekannt ist. Bcachefs verspricht diese Probleme zu lösen und noch mehr Funktion zu unterstützen. Ende 2023/Anfang 2024 soll das System das erste mal im stabilen Kernel verfügbar sein, also schauen wir mal wie man das nutzt.

Inhalt

  • 00:00 Dateisystemtheorie
  • 02:01 Copy-on-Write & Snapshots
  • 03:21 RAID & LVM
  • 06:09 bcachefs
  • 08:28 Voraussetzungen
  • 11:11 Partition fomatieren
  • 12:11 Verschlüsselung
  • 13:15 Kompression
  • 15:51 Attribute: Konfiguration pro Datei/Ordner
  • 16:59 Striping („RAID0“)
  • 18:27 Replicas („RAID1/RAID10“)
  • 20:28 Erasure Coding („RAID5/RAID6“)
  • 21:20 Tiered Storage / Caching
  • 28:21 Sysfs-Schnittstelle
  • 30:11 Subvolumes und Snapshots
  • 32:36 Ausblick und Fazit

Links zum Thema

Sonstige Hinweise

  • Den Grammatikfehler im Beispieltext hat ChatGPT ganz alleine hinbekommen… Oo
  • 14:46 Die Level unterscheiden sich je nach Algorithmus. Für zstd sollten laut Anleitung -7 bis 22 zulässig sein

Transparenz

Es ist Open Source und kostenlos. Was erwartet ihr hier? 😉

ext4 vs. BTRFS – mal wieder

OK, ok, zugegeben, das Thema gibt’s zu Hauf im Netz, aber ich vertraue lieber eigenen Zahlen: Was ist schneller: ext4 oder btrfs? Hintergrund ist ein Backupzwischensystem, welches große Datenmengen schnell verarbeiten muss. Die Kompression von BTRFS wäre angesichts der Kosteneinsparung durch weniger Plattenverbrauch ein schöner Bonus, aber darf nicht auf Kosten der Geschwindigkeit gehen.

Das System ist ein „Low-End“ Dualcore (Intel(R) Pentium(R) CPU G645 @ 2.90GHz) mit 16GB RAM und 4 Hitachi Deskstar 5K3000 á 2TB. Die Platten mit 5300rpm sehen zwar auf den ersten Blick etwas schwachbrüstig aus, da die Daten aber vermutlich sehr groß und entsprechend hoffentlich am Stück geschrieben werden sollte die geringe Drehzahl hoffentlich nicht wirklich ins Gewicht fallen. Das Mainboard (ASRock H77 Pro4/MVP) verfügt über zwei SATA-Controller – der Intel® H77 steuert neben 4 SATA2-Ports zusätzlich 2 Ports mit SATA3 bei, ein ASMedia ASM1061 stellt 2 zusächliche SATA3-Ports bereit. Die Platten wurden über die SATA3-Ports an beide Controller verteilt.

Die Tests liefen auf einem Arch Linux x86_64-System mit Kernel 3.11.2, als RAID kam das im Kernel enthaltene md-Framework zum Einsatz, auf die bei BTRFS integrierte RAID-Funktion verzichte ich, da ich separate Schichten für besser wartbar halte.

Erst einmal die rohen Werte der Platte: Diese lieferten im Test jeweils etwa 140MB/s sequential Read.

Erster Versuch: 1GB sequential Write, die Platten werden dabei erst mal als RAID5 genutzt, in der Hoffnung, dass die Geschwindigkeit noch ausreichend ist. Das Ergebnis ist etwas ernüchternd:

1GB Sequencial File Write
RAID5, EXT4 99MB/s
RAID5, BTRFS 134MB/s
RAID5, BTRFS (LZO) 144MB/s

BTRFS liegt zwar klar vor ext4 und auch die Kompression bringt auf Grund der gut komprimierbaren Quelle einen Geschwindigkeitsschub, insgesamt liegt die Leistung aber unter meinen Anforderungen – 144MB/s könnte die 2GBit/s Uplink grade so bewältigen, aber eigentlich hätte ich schon gerne noch etwas Reserve… Die Antwort dürfte klar sein: Da die Daten hier nur zwischengelagert werden bin ich auf das RAID5 nicht angewiesen, also RAID0 ftw – der erste Blick aufs rohe Device ist vielversprechend: 490MB/s sind ein guter Start – und was machen die Dateisysteme daraus?

RAID0, EXT4 349MB/s
RAID5, BTRFS 376MB/s
RAID5, BTRFS (LZO) 382MB/s

Viel ändert sich nicht – BTRFS mit Kompression erreicht gegenüber ext4 knapp 10% höhere Schreibraten. Die 380MB/s dürften erst bei etwa 4GBit/s uplink an ihre Grenzen stoßen – bis die fällig sind dürfte eher der Plattenplatz ausgehen. Sieger gefunden würde ich sagen: BTRFS schlägt ext4 sowohl bei Geschwindigkeit als auch beim Funktionsumfang – ob es auch die Stabilität der ext-Systeme nacheifern kann wird die Zeit zeigen.