Ich habe Mailinglisten durchsucht und bin schließlich auf Ubuntus btrfs
Seite gelandet. Ich habe das Gefühl, dass es btrfs
immer noch kein vollständiges Fixing-Dienstprogramm gibt (wie auf der Homepage angegeben ). Obwohl es vor Monaten als Standard für Oracle Linux vorgesehen war und in vielen Distributionen enthalten ist.
Gibt es stattdessen irgendwo eine Anleitung zur Fehlerbehebung, wie man das Problem behebt btrfs
?
Wenn dies nicht gelingt, werden durch das Kopieren meiner Backups über meinen FS Probleme behoben? (Beim Löschen von Snapshots, falls für Speicherplatz erforderlich? Oder zum Löschen von Beschädigungen?) Sollte ich stattdessen versuchen, zu einem vorherigen Snapshot zurückzukehren und dann fehlende Dateien aus der Sicherung wiederherzustellen? Oder fehlende Dateien aus meinen @ und @ home-Snapshots wiederherstellen?
Hinweis : Dies ist eine allgemeine Frage. Ich habe meine genauen FS-Probleme (im Moment) absichtlich weggelassen. Ich möchte einen allgemeinen / kanonischen Workflow und eine Anleitung zur Fehlerbehebung finden.
(Ok, ok - hier einige weitere Details;)) :
Ich habe mich während eines blockierten Herunterfahrens ausgeschaltet und wurde daher mit einer Systeminstabilität konfrontiert. Das System startet und läuft einige Zeit, bis es genügend Daten schreibt und einfriert. Das letzte Mal hatte ich gerade Thunderbird geöffnet. Diese erfordern mehr Hard-Resets und vermutlich mehr Korruption.
sudo btrfsck /dev/sda1
pendelt zwischen einigen Fehlern - oft beim ersten Mal der Form
root 338 inode 7861227 errors 1000
root 338 inode 7904568 errors 1000
root 338 inode 7955174 errors 400
found 46242054144 bytes used err is 1
total csum bytes: 43112400
total tree bytes: 2074640384
total fs tree bytes: 1889853440
btree space waste bytes: 547680627
file data blocks allocated: 110756974592
referenced 68393684992
Btrfs Btrfs v0.19
oooo, jetzt ist es richtig fruchtig (ich habe nur erwartet, parent transid verify failed
hier zu sehen ...)
parent transid verify failed on 14266105856 wanted 464223 found 464221
parent transid verify failed on 14266105856 wanted 464223 found 464221
Extent back ref already exists for 14261530624 parent 0 root 256
leaf parent key incorrect 14261751808
bad block 14261751808
Extent back ref already exists for 66455355392 parent 0 root 2
Extent back ref already exists for 66455257088 parent 0 root 2
Extent back ref already exists for 14257274880 parent 0 root 2
block 14262571008 rec extent_item_refs 2, passed 2
block 14262575104 rec extent_item_refs 1, passed 1
block 14262579200 rec extent_item_refs 1, passed 1
Extent back ref already exists for 14262579200 parent 0 root 257
leaf 14263906304 items 50 free space 132 generation 464224 owner 2
fs uuid 7d049403-cf6e-4b52-a624-32051e1f5b2a
chunk uuid be6f8f93-320c-4465-85d6-f53907698c32
item 0 key (14263341056 EXTENT_ITEM 4096) itemoff 3944 itemsize 51
extent refs 1 gen 464168 flags 2
tree block key (8332576 1 0) level 0
tree block backref root 257
item 1 key (14263345152 EXTENT_ITEM 4096) itemoff 3893 itemsize 51
extent refs 1 gen 464168 flags 2
tree block key (8332586 c 8332543) level 0
tree block backref root 257
failed to find block number 14263525376
(Alles natürlich stark zusammengefasst; ich wollte dich nie mit diesen Details überwältigen :))
Und jetzt lässt mich meine endgültige Hinrichtung mit dem Vertrauten zurück:
parent transid verify failed on 14265458688 wanted 464230 found 464221
parent transid verify failed on 14265458688 wanted 464230 found 464221
parent transid verify failed on 14265458688 wanted 464230 found 464223
btrfsck: root-tree.c:46: btrfs_find_last_root: Assertion `!(path->slots[0] == 0)' failed.
, einschließlich des optionalen Zufallsfehlers am Ende. Oh glückliche Freude. Beachten Sie, dass sich diese verify failed
ändern, wenn Daten auf das Laufwerk geschrieben werden.
Ein weiterer zufälliger Fehler:
btrfsck: disk-io.c:412: find_and_setup_root: Assertion `!(!root->node)' failed.