Seiten: [1]
|
 |
|
|
Autor
|
Thema: Was tun, wenn btrfs Datei Korruption feststellt? (Gelesen 252 mal)
|
|
Sebastian
YaBB God
    
Offline
Einträge: 628

|
 |
Was tun, wenn btrfs Datei Korruption feststellt?
« am: 31. Dezember 2024, 20:18:40 »
|
|
Einleitung:
Es geht hierbei nicht um ein Dateisystem Check um festzustellen ob das Dateisystem an sich gesund ist. Es geht hier darum was passiert und was man tun kann, falls Btrfs feststellt, dass eine Datei sich nicht mehr im ursprünglichen Zustand befindet als sie Ursprünglich angelegt wurde. Die Ursache, warum ob Hardware defekt oder Bitrot etc. soll uns dabei auch erst einmal egal sein. Es geht hier darum, wie man so viel wie möglich noch von seinem Datenretten könnte.
Dies ist ein sehr großer Vorteil gegenüber anderen Dateisystemen das Btrfs uns Datenkorruption mitteilt und wir nicht mit defekten Daten weiter arbeiten. Aufgrund dessen wird Btrfs häufig auch als instabil angesehen, da gegenüber anderen Dateisystemen der Benutzer überhaupt darauf hingewiesen wird.
Beispiel:
Hinweis: Sollte das Dateisystem an sich einen Defekt haben, wären in Vorfeld andere Schritte zu unternehmen. Es empfiehlt sich auch ein btrfs scrub vorher durchzuführen, damit noch weitere defekte und auch selbst Heilung (bei redundanter Daten Haltung) aufgedekt bzw. durchgeführt werden können
Nun mal angenommen das Dateisystem ist Gesund und man kann plötzlich von einer Datei nicht mehr lesen. Und im System log bekommt man IO Fehler zusammen mit ein paar zusätzlichen angaben wie z.b. auch dem Dateipfad angezeigt. Das ist die Art und Weise wie uns Btrfs mitteilt, das hier etwas mit der Datei bzw. genauer gesagt mit Blöcken bzw, teil Blöcke, wo sich die Datei befindend nicht mehr stimmt und somit die Checksummen beim lesen der Datei nicht mehr übereinstimmen. Dies kann z.b. bei durch Bit rot oder Arbeitsspeicher defekt etc. pp. verursacht worden sein. Dadurch muss aber noch nicht die ganze Datei zerstört worden sein, und vieles kann man vielleicht noch retten.
Z.b. falls man vielleicht ein Backup in Form eines squashfs Datei Images gemacht hat, bedeutet ein Bit Fehler nicht das das ganze Image hinüber ist. Das Squashfs Dateisystem ist darauf ausgelegt, alle noch intakten Daten noch lesbar auszugeben. Nun verweigert uns aber Btrfs den Zugriff auf dieses Image und somit auf den Rest der noch heilen Daten.
Dies ist zum Glück seid Kernel 5.11 kein großes Problem mehr da man mit der Mount Option rescue=ignoredatacsums vorübergehend die Checksummen Prüfung ausschalten kann. Damit ist man in der Lage die defekte Datei an einer anderen stelle zu kopieren (kein reflink, sondern Hard Copy) es werden für die defekte Kopie neue Checksummen gebildet und für Btrfs ist dies nun eine intakte Datei. Womit man nun arbeiten kann, und weitere Rettungsversuche unternehmen kann.
Zu dieser Situation kann es natürlich auch nur kommen, falls Btrfs keine intakte Version der Datei im Dateisystem finden kann z.b. durch ein RAID1 oder falls die Daten per DUP Profil redundant vorgehalten wurden. In dem fall hätte Btrfs die Datei einfach mit einer intakten Kopie ersetzt und man hätte beim Arbeiten nichts gemerkt.
Nachwort:
Dies ist natürlich nur ein theoretisches Beispiel, und mir noch nicht wirklich passiert. Nur ich finde es wichtig so etwas im vorfeld zu wissen bevor man einem Dateisystem seine Daten anvertraut.
Und denkt daran der beste Schutz vor Datenverlust sind Backups! Ein Backup muss sich dabei immer auf einem anderen Datenträger befinden.
LG Sebastian
|
« Letzte Änderung: 31. Dezember 2024, 20:29:27 von Sebastian » |
Gespeichert
|
Richtig um Hilfe bitten
|
|
|
Seiten: [1]
|
|
|
|
|
|
|