btrfs! Und jetzt?

btrfs! Und jetzt?

Ich möchte an dieser Stelle mal über meine Erfahrungen mit btrfs im alltäglichen Einsatz berichten.
(das ist auch quasi meine schriftliche Ausführung von meinem Vortrag bei den Tux-Tagen 2022)
Zum Video

Dadurch das btrfs ein Cpoy On Write Dateisystem ist muss man einfach ein paar Dinge wissen um nicht böse auf die Nase zu fallen:

btrfs ist ein Copy On Write Dateisystem wie z.B. ZFS aber wie funktioniert so ein Copy On Write Dateisystem eigentlich?
Im Grunde ist es so:
Wird eine Datei verändert wird diese nicht einfach überschrieben sondern in den freien Speicher neu geschrieben, danach werden diese Verglichen anhand der Metadaten und geprüft ob diese Gesund sind.
Das ist sehr nützlich um Datenkorruption zu verhindern.
Wird eine Datei nicht verändert aber trotzdem kopiert, dann wird diese nur referenziert.
Das ermöglicht das erstellen von effizienten Snapshots, was euch ermöglicht einem Verschlüsselungstrojaner oder ähnliichen den digitalen Mittelfinger zu zeigen, indem Ihr einfach einen Snapshot zurückrollt.

Jetzt wieder zum eigentlichen Thema:
1. df -h sagt uns nicht mehr die Wahrheit

Durch die Funktionsweise von COW Dateisystemen kann es sein das df uns nicht mehr die ganze Wahrheit zeigt.
Sollte euch irgendwas komisch vorkommen dann hilft

sudo btrfs filesystem df -h /

um euch eine genaue Übersicht über btrfs zu erhalten mit den verwendeten Speicher- und Metadatenverbrauch.

Sollte dort etwas am Limit sein kann man mit

sudo btrfs scrub start /

Metadaten und die Datenintegrität überprüfen und aufräumen und mit

sudo btrfs scrub status /

kann man einsehen wie weit die Prüfung ist und ob es Fehler gab.
Das könntet Ihr übrigens regelmäßig machen, da das nicht weh tut.

Was hingegen weh tuen kann(besonders bei SSDs) ist das Defragmentieren und ja Fragmentierung spielt bei einem COW Dateisystem wieder eine Rolle aufgrund der Funktionsweise.
Daher ist das Defragmentieren bei SSDs mit Vorsicht zu genießen und sollte nur händisch ausgeführt werden,es sei denn Ihr habt das Geld um regelmäßig neue SSDs zu kaufen weil das Defragmentieren die Lebenszeit einer SSD deutlich verkürzt.

Defragmentzieren könnt Ihr mit:

sudo btrfs filesystem defragment -r /

Kurz noch angemerkt das es die Mountoption autodefrag gibt die Ihr auch nur bei HDDs nutzen solltet.

Kommen wir jetzt zu Snapshots, denn Snapshots sind cool und mächtig.

Snapshots können einfach angelegt werden mit z.B.:

sudo btrfs subvolume snapshot /home /snapshots/home-1

und genauso einfach wieder entfernt mit:

sudo btrfs subvolume delete /snapshots/home-1

und euch alle eure Snapshots anzeigen lassen mit:

sudo btrfs subvolume list -p /

Und wozu jetzt Snapshots? Ganz einfach Snapshots werden als Subvolumes angelegt was bedeutet das Ihr die Snapshots quasi überall mounten könnt wo Ihr wollt.
Ihr braucht ein Backup eurer Daten? Snapshot! Ihr brauch eine Bastel- oder Entwicklungsumgebung? Snapshot! Euer System bootet nicht mehr nach dem letzten Update? Snapshot!

Wer nicht im Terminal arbeiten möchte, dem kann ich btrfs assistant empfehlen.
(leider noch nicht in den offiziellen Repos und muss daher selber kompiliert werden)

Und für das letzte bisschen Zuckerguss obendrauf verweise ich auf timeshift-autosnap-apt und auf grub-btrfs wie in meinem Serviervorschlag beschrieben.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert