Haftungsausschluss: Ich übernehme keine Verantwortung für Datenverluste, die durch das Befolgen dieser Anleitung entstehen. Versuch bitte zu verstehen, was du tust und kopiere keine Befehle, ohne sie sorgfältig zu lesen.
BTRFS ist ein leistungsfähiges Dateisystem zur Datenspeicherung. Es handelt sich um ein modernes Copy-on-Write-Dateisystem (COW) mit verbesserten Datenintegritätsmechanismen, um stille Datenkorruption zu vermeiden. Zu den wichtigsten Funktionen gehören:
- Snapshots, die remote synchronisiert werden können
- Transparente Datenkompression
- Effiziente Verwaltung großer Speicherkapazitäten
Allerdings geht dies zulasten der Schreibgeschwindigkeit, da jeder Schreibvorgang auch eine Lese- und Kopieroperation erfordert. Dies macht COW-Dateisysteme bei Anwendungen mit häufigen Schreibvorgängen, wie z. B. Datenbanken, weniger performant.
Die Verwendung von RAID, das BTRFS nativ unterstützt, ist eine professionelle Methode, sich gegen Festplattenausfälle abzusichern. RAID hat jedoch sowohl finanzielle als auch leistungsbezogene Nachteile. Ich konzentriere mich hier auf Szenarien ohne RAID.
Wir Selbst-Hoster und Datensammler müssen damit rechnen, Daten von einer beschädigten Festplatte wiederherstellen zu müssen. Alle Festplatten fallen irgendwann aus, was eine dramatische und unangenehme Situation sein kann. Da BTRFS komplex ist, kann der Wiederherstellungsprozess verwirrend sein. Wichtig ist, ruhig zu bleiben und sich bewusst zu machen, dass BTRFS Mechanismen bietet, um Datenverlust oder -korruption zu vermeiden.
Wenn BTRFS die Partition nicht einhängt oder das System schreibgeschützt wird, liegt dies meist an Hardwarefehlern. Ziel ist es, die Daten schnell zu sichern, bevor die Festplatte vollständig ausfällt.
- Datenkorruption:
- Symptome: Teile der Dateien sind fehlerhaft oder unzugänglich. Prüfsummenfehler erscheinen im Log.
- Lösung: Datenprüfung mit
btrfs scrub
.
- Inkonsistentes Journal:
- Symptome: Schreibvorgänge wurden unterbrochen.
- Lösung: Unvollständige Transaktionen mit
btrfs rescue zero-log
verwerfen.
- Beschädigter Superblock:
- Symptome: Die Partition lässt sich nicht einhängen.
- Lösung: Alternativen Superblock nutzen oder
btrfs rescue super-recover
ausführen.
- Beschädigte Metadaten:
- Symptome: Dateisystem erkennt Dateien nicht mehr.
- Lösung: Metadatenbaum mit
btrfs rescue chunk-recover
wiederherstellen (risikoreich).
Vorbereitung
- Regel 0: Backups erstellen! Mindestens drei Kopien an zwei verschiedenen Orten.
- Regel 1: Zustand der Festplatten überwachen (z. B. SMART-Werte).
Wenn die Partition noch eingebunden werden kann
- Partition aushängen und Festplatte abschalten.
- Im Nur-Lese-Modus einhängen und Daten sichern:
mount -o ro /dev/sdXY /mnt
- Kernel-Logs auf Fehler prüfen:
dmesg -w
- Scrub-Vorgang durchführen:
btrfs scrub start /mnt btrfs scrub status /mnt
- Fehlerhafte Dateien erneut kopieren.
Wenn die Partition nicht eingebunden werden kann
- Superblock reparieren:
btrfs rescue super-recover /dev/sdXY
- Daten wiederherstellen:
btrfs restore /dev/sdXY /mnt/
Letzter Ausweg
Verwende btrfs check --repair
nur als letzte Maßnahme! Dieser Befehl birgt ein hohes Risiko für weitere Schäden.
Daten vergleichen
Vergleiche gerettete Daten mit Backups:
rsync --dry-run -ri --delete --ignore-existing /copy/ /old-backup/
rsync --dry-run -ri --delete --checksum /copy/ /old-backup/
- BTRFS-Stabilität: Die Stabilität von BTRFS hat sich deutlich verbessert und gilt heute als zuverlässig für den Produktiveinsatz.
- Neue Tools: Das
btrfs-progs
-Paket wurde erweitert. Besonders nützlich istbtrfs rescue
mit verschiedenen Unterkommandos. - Verbesserte Fehlererkennung: Neuere Kernel-Versionen bieten eine verbesserte Fehlererkennung und -meldung für BTRFS.
- Snapshot-Management: Nutzen Sie BTRFS-Snapshots regelmäßig für inkrementelle Backups.
- RAID-Funktionalität: Verwenden Sie RAID5 und RAID6 nur mit Vorsicht. Diese Modi sind aufgrund unvollständiger Implementierungen anfällig für den sogenannten RAID5/6 write hole. Dabei können durch unterbrochene Schreibvorgänge inkonsistente Datenblöcke entstehen, die nicht korrekt wiederhergestellt werden können. Dies führt zu Datenverlusten, insbesondere bei fehlerhaften oder ausgefallenen Laufwerken.
- Kompression: BTRFS unterstützt
zstd
, was bessere Kompressionsraten bei geringerem CPU-Verbrauch bietet. - Kernel-Unterstützung: Verwenden Sie eine aktuelle Kernel-Version, um die neuesten Funktionen zu nutzen.
- Automatisierte Reparatur: Neuere BTRFS-Versionen können einige Fehler automatisch beheben.
Diese Anleitung soll helfen, eine sinnvolle Strategie für die Wiederherstellung einer BTRFS-Partition zu entwickeln und die verfügbaren Tools besser zu verstehen. Mit den aktuellen Verbesserungen bietet BTRFS robuste Möglichkeiten zur Datensicherung und -wiederherstellung. Dennoch bleibt es essenziell, regelmäßig Backups zu erstellen und den Zustand deiner Festplatten zu überwachen.