Hello all. Sorry for asking here directly, but I'm in a desperate situation and out of options. I have a 72 TB btrfs filesystem which functions as a backup drive. After a recent controller hardware failure while the backup was running, both original and backup fs were severely damaged.
Kernel version is 5.7.7. btrfs-progs is (now) 5.9. At the moment I am unable to mount the btrfs filesystem. root@hikitty:~$ mount -t btrfs -o ro,recovery /dev/sdf1 /mnt/ mount: wrong fs type, bad option, bad superblock on /dev/sdf1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so. [165097.777496] BTRFS warning (device sdf1): 'recovery' is deprecated, use 'usebackuproot' instead [165097.777500] BTRFS info (device sdf1): trying to use backup root at mount time [165097.777502] BTRFS info (device sdf1): disk space caching is enabled [165097.777505] BTRFS info (device sdf1): has skinny extents [165101.721250] BTRFS error (device sdf1): bad tree block start, want 126718415241216 have 0 [165101.750951] BTRFS error (device sdf1): bad tree block start, want 126718415241216 have 0 [165101.755753] BTRFS error (device sdf1): failed to verify dev extents against chunks: -5 [165101.895065] BTRFS error (device sdf1): open_ctree failed Since I desperately need the data I ran btrfs restore. root@hikitty:~$ install/btrfs-progs-5.9/btrfs -v restore -i -s -m -S --path-regex '^/(|@(|/backup(|/home(|/.*))))$' /dev/sdf1 /mnt/dumpo/home/ checksum verify failed on 109911545430016 found 000000B6 wanted 00000000 checksum verify failed on 109911545462784 found 000000B6 wanted 00000000 checksum verify failed on 57767345897472 found 000000B6 wanted 00000000 Restoring /mnt/dumpo/home/@ Restoring /mnt/dumpo/home/@/backup Restoring /mnt/dumpo/home/@/backup/home … (2.1 GB of log file) … Done searching /@/backup/home Reached the end of the tree searching the directory Reached the end of the tree searching the directory Reached the end of the tree searching the directory Using that restore I was able to restore approx. 7 TB of the originally stored 22 TB under that directory. Unfortunately nearly all the files are damaged. Small text files are still OK. But every larger binary file is useless. Is there any possibility to fix the filesystem in a way, that I get the data less damaged? So far I ran no btrfs check --repair. Since the original and the backup have been damaged any help would be highly appreciated. Thanks for your assistance. Kind regards, Sebastian Roller ---------------- Attachment. All outputs. ------------------- uname -a Linux hikitty 5.7.7-1.el7.elrepo.x86_64 #1 SMP Wed Jul 1 11:53:16 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux root@hikitty:~$ install/btrfs-progs-5.9/btrfs --version btrfs-progs v5.9 (Version v5.10 fails to compile) root@hikitty:~$ btrfs fi show Label: 'history' uuid: 56051c5f-fca6-4d54-a04e-1c1d8129fe56 Total devices 1 FS bytes used 68.37TiB devid 2 size 72.77TiB used 68.59TiB path /dev/sdf1 root@hikitty:~$ mount -t btrfs -o ro,recovery /dev/sdf1 /mnt/hist/ mount: wrong fs type, bad option, bad superblock on /dev/sdf1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so. [165097.777496] BTRFS warning (device sdf1): 'recovery' is deprecated, use 'usebackuproot' instead [165097.777500] BTRFS info (device sdf1): trying to use backup root at mount time [165097.777502] BTRFS info (device sdf1): disk space caching is enabled [165097.777505] BTRFS info (device sdf1): has skinny extents [165101.721250] BTRFS error (device sdf1): bad tree block start, want 126718415241216 have 0 [165101.750951] BTRFS error (device sdf1): bad tree block start, want 126718415241216 have 0 [165101.755753] BTRFS error (device sdf1): failed to verify dev extents against chunks: -5 [165101.895065] BTRFS error (device sdf1): open_ctree failed root@hikitty:~$ btrfs rescue super-recover -v /dev/sdf1 All Devices: Device: id = 2, name = /dev/sdh1 Before Recovering: [All good supers]: device name = /dev/sdh1 superblock bytenr = 65536 device name = /dev/sdh1 superblock bytenr = 67108864 device name = /dev/sdh1 superblock bytenr = 274877906944 [All bad supers]: All supers are valid, no need to recover root@hikitty:/mnt$ btrfs rescue chunk-recover /dev/sdf1 Scanning: DONE in dev0 checksum verify failed on 99593231630336 found E4E3BDB6 wanted 00000000 checksum verify failed on 99593231630336 found E4E3BDB6 wanted 00000000 checksum verify failed on 124762809384960 found E4E3BDB6 wanted 00000000 checksum verify failed on 124762809384960 found E4E3BDB6 wanted 00000000 checksum verify failed on 124762809384960 found E4E3BDB6 wanted 00000000 checksum verify failed on 124762809384960 found E4E3BDB6 wanted 00000000 bytenr mismatch, want=124762809384960, have=0 open with broken chunk error Chunk tree recovery failed ^^ This was btrfs v4.14 root@hikitty:~$ install/btrfs-progs-5.9/btrfs check --readonly /dev/sdi1 Opening filesystem to check... checksum verify failed on 99593231630336 found 000000B6 wanted 00000000 checksum verify failed on 124762809384960 found 000000B6 wanted 00000000 checksum verify failed on 124762809384960 found 000000B6 wanted 00000000 checksum verify failed on 124762809384960 found 000000B6 wanted 00000000 bad tree block 124762809384960, bytenr mismatch, want=124762809384960, have=0 ERROR: failed to read block groups: Input/output error ERROR: cannot open file system FIRST MOUNT AT BOOT TIME AFTER DESASTER Feb 15 08:05:11 hikitty kernel: BTRFS info (device sdf1): disk space caching is enabled Feb 15 08:05:11 hikitty kernel: BTRFS info (device sdf1): has skinny extents Feb 15 08:05:12 hikitty kernel: BTRFS error (device sdf1): bad tree block start, want 141944039161856 have 0 Feb 15 08:05:12 hikitty kernel: BTRFS info (device sdf1): read error corrected: ino 0 off 141944039161856 (dev /dev/sdf1 sector 3974114336) Feb 15 08:05:12 hikitty kernel: BTRFS info (device sdf1): read error corrected: ino 0 off 141944039165952 (dev /dev/sdf1 sector 3974114344) Feb 15 08:05:12 hikitty kernel: BTRFS info (device sdf1): read error corrected: ino 0 off 141944039170048 (dev /dev/sdf1 sector 3974114352) Feb 15 08:05:12 hikitty kernel: BTRFS info (device sdf1): read error corrected: ino 0 off 141944039174144 (dev /dev/sdf1 sector 3974114360) Feb 15 08:05:12 hikitty kernel: BTRFS error (device sdf1): bad tree block start, want 141944037851136 have 0 Feb 15 08:05:12 hikitty kernel: BTRFS info (device sdf1): read error corrected: ino 0 off 141944037851136 (dev /dev/sdf1 sector 3974111776) Feb 15 08:05:12 hikitty kernel: BTRFS info (device sdf1): read error corrected: ino 0 off 141944037855232 (dev /dev/sdf1 sector 3974111784) Feb 15 08:05:12 hikitty kernel: BTRFS info (device sdf1): read error corrected: ino 0 off 141944037859328 (dev /dev/sdf1 sector 3974111792) Feb 15 08:05:12 hikitty kernel: BTRFS info (device sdf1): read error corrected: ino 0 off 141944037863424 (dev /dev/sdf1 sector 3974111800) Feb 15 08:05:12 hikitty kernel: BTRFS error (device sdf1): bad tree block start, want 141944040767488 have 0 Feb 15 08:05:12 hikitty kernel: BTRFS info (device sdf1): read error corrected: ino 0 off 141944040767488 (dev /dev/sdf1 sector 3974117472) Feb 15 08:05:12 hikitty kernel: BTRFS info (device sdf1): read error corrected: ino 0 off 141944040771584 (dev /dev/sdf1 sector 3974117480) Feb 15 08:05:12 hikitty kernel: BTRFS error (device sdf1): bad tree block start, want 141944035147776 have 0 Feb 15 08:05:12 hikitty kernel: BTRFS error (device sdf1): bad tree block start, want 141944035115008 have 0 Feb 15 08:05:12 hikitty kernel: BTRFS error (device sdf1): bad tree block start, want 141944035131392 have 0 Feb 15 08:05:12 hikitty kernel: BTRFS error (device sdf1): bad tree block start, want 141944036327424 have 0 Feb 15 08:05:12 hikitty kernel: BTRFS error (device sdf1): bad tree block start, want 141944036278272 have 0 Feb 15 08:05:12 hikitty kernel: BTRFS error (device sdf1): bad tree block start, want 141944035164160 have 0 Feb 15 08:05:12 hikitty kernel: BTRFS error (device sdf1): bad tree block start, want 141944036294656 have 0 Feb 15 08:05:16 hikitty kernel: BTRFS error (device sdf1): failed to verify dev extents against chunks: -5 Feb 15 08:05:16 hikitty kernel: BTRFS error (device sdf1): open_ctree failed