July 5, 20233 yr I'm hoping someone can help. I have a single device array, a 21 device pool for data and a 1 device pool for VMs. A device in the 21-device pool failed, so I selected "no device" and mounted the array, thinking btrfs would skip over the missing device and show the remaining data. However, since then the pool devices show "Unmountable: No file system". I've done some research but am not comfortable enough in Linux to figure this one out. Below is the output from a couple of commands I see frequently when troubleshooting this issue. After doing the btrfs-select-super command I stopped the array, unassigned devices, started the array, stopped the array, reassigned the devices and restarted the array. Unfortunately I still get the "Unmountable: No file system" error. I've attached Diagnostics as well. Can someone please help me figure this one out? root@unraid02:~# btrfs-select-super -s 1 /dev/sdh1 using SB copy 1, bytenr 67108864 root@unraid02:~# btrfs fi show Label: none uuid: 5ec35db6-28e3-4ca8-a71c-99f0c3267cc6 Total devices 1 FS bytes used 692.00KiB devid 1 size 20.00GiB used 4.52GiB path /dev/loop2 Label: none uuid: 29273544-12d6-436c-91d5-15b374827b3f Total devices 21 FS bytes used 70.56TiB devid 1 size 2.73TiB used 2.73TiB path /dev/sdt1 devid 2 size 2.73TiB used 2.73TiB path /dev/sdu1 devid 3 size 2.73TiB used 2.73TiB path /dev/sdv1 devid 4 size 2.73TiB used 2.73TiB path /dev/sdw1 devid 6 size 2.73TiB used 2.73TiB path /dev/sds1 devid 7 size 3.64TiB used 3.64TiB path /dev/sdh1 devid 8 size 3.64TiB used 3.64TiB path /dev/sdi1 devid 9 size 3.64TiB used 3.64TiB path /dev/sdj1 devid 10 size 3.64TiB used 3.64TiB path /dev/sdk1 devid 11 size 3.64TiB used 3.64TiB path /dev/sdl1 devid 12 size 3.64TiB used 3.64TiB path /dev/sdp1 devid 13 size 3.64TiB used 3.64TiB path /dev/sdr1 devid 14 size 3.64TiB used 3.64TiB path /dev/sdo1 devid 15 size 3.64TiB used 3.64TiB path /dev/sdn1 devid 16 size 3.64TiB used 3.64TiB path /dev/sde1 devid 17 size 3.64TiB used 3.64TiB path /dev/sdq1 devid 18 size 3.64TiB used 3.64TiB path /dev/sdd1 devid 19 size 3.64TiB used 3.64TiB path /dev/sdf1 devid 20 size 3.64TiB used 3.64TiB path /dev/sdm1 devid 21 size 3.64TiB used 3.64TiB path /dev/sdc1 *** Some devices missing unraid02-diagnostics-20230705-1803.zip
July 6, 20232 yr Community Expert What btrfs mode was this pool set to? It seems it was set to have no failure tolerance. Edited July 6, 20232 yr by Kilrah
July 6, 20232 yr Community Expert 32 minutes ago, Kilrah said: It seems it was set to have no failure tolerance. Yep, that why it's not mounting, pool wasn't redundant, or it had dual profiles, one of them not redundant 10 hours ago, Don Argo said: btrfs-select-super -s 1 /dev/sdh1 This device is already present: 10 hours ago, Don Argo said: devid 7 size 3.64TiB used 3.64TiB path /dev/sdh1 Looks like your missing devid 5, any idea where that device is?
July 6, 20232 yr Author I believe I set them to Single Mode. At the time I believed that would allow the rest of the drives to mount as individual drives in the event of a drive failure. Does this mean all of my data is gone? I can recreate it, it's just time consuming. Devid 5 is a drive that went bad. It's not coming back online.
July 6, 20232 yr Community Expert Looks like "single" mode is more like "single filesystem" rather than "independent drives" and files are still split across all disks in 1GB chunks: https://serverfault.com/a/929595 You might be able to manually mount read-only from command line and copy any files that didn't have any chunk on the failed drive, obviously that means you need temporary storage for those: https://unix.stackexchange.com/questions/340895/can-btrfs-recover-continue-after-disk-failure-in-single-mode
July 6, 20232 yr Author Is there a chance of bringing the whole thing back online if I find another 3TB (or larger) device to replace the missing devid 5? Don
July 6, 20232 yr Community Expert Read the posts on that 2nd link. Might be a bit of a mess in the unraid context, but you'll have to experiment. Edited July 6, 20232 yr by Kilrah
July 6, 20232 yr Community Expert Solution 1 hour ago, Don Argo said: At the time I believed that would allow the rest of the drives to mount as individual drives in the event of a drive failure. It doesn't, with single mode btrfs will still distribute writes to all disks for any file, they will be split in 1GiB chunks and go to the drive with more free space, next chunk goes to next drive and so on. 14 minutes ago, Don Argo said: Is there a chance of bringing the whole thing back online if I find another 3TB (or larger) device to replace the missing devid 5? Nope, you can try mounting the pool read only degraded, assuming at least the metadata was redundant, but any file that had at least a chunk in the missing drive will be incomplete.
July 7, 20232 yr Author Thank you everyone for your assistance. I ultimately threw in the towel and reformatted the drives. It was data I can recreate in less than a week (chia plots). It was ultimately more work to recover existing data than to just re-plot everything. Had it been important data, there would be backups in place. Again, thanks. I did learn from this exercise, and that's something. Don
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.