August 1, 2025Aug 1 I recently spent some time doing a drive replace in BTRFS Raid 1. I needed to use the command line, so the frontend and backend were out-of-sync in terms of the drives used. I did the following to attempt to re-add the devices:Go into storage settingsRemove poolAdd pool of 5 devices in the same order (the array started on device id 2, which might be the problem)Go back into storage settings for the pool and set filesystem type to btrfs because it didn't mount the first time.Unmount everything after unsuccessful mount and check btrfs filesystem show.The btrfs filesystem show doesn't show all 5 devices or even a placeholder for all of them.Is there a good way to resolve this, or would there potentially also be a different btrfs-specific forum to check?
August 1, 2025Aug 1 Author After doing an lsblk, it looks like the sdd1 and sdg1 partitions are missing
August 1, 2025Aug 1 Author Using fdisk, I can seee that some of them show up as having partitions while others don't.
August 1, 2025Aug 1 Community Expert There are 4 missing devices, any idea what happened to the partitions?Assuming sdg was part of the pool, type sfdisk /dev/sdg and enter, then type 64 and enter, then hit CTRL + C to abort, capture that output and post here.
August 1, 2025Aug 1 Author I think that unraid got rid of their association as a pool when I tried to mount them through the pool devices frontend. I wish that I copied the data to a different drive before trying to mount it with unraid since I did get it working again on the command line.
August 1, 2025Aug 1 Author Before I mounted them with unraid, they did have the partitions listed when using lsblk, but they aren't there anymore after attempting an unraid mount. There were initially gaps in the grouping, so that may also be why it had an error. I had two failing drives and needed to do a replace and then a remove and then another replace, so I ended up with something like:device id 2 - sdddevice id 3 - sdcdevice id 4 - sdgdevice id 5 - sdfdevice id 7 - sdb Edited August 1, 2025Aug 1 by muddles17
August 1, 2025Aug 1 Author I only had the extra 12tb disk that I tried to do a balance that didn't go well and then had to replace it in the following process (from memory):starting array:device id 1 - 2tb (currently sdb)device id 2 - 4tbdevice id 3 - 4tbdevice id 4 - 12tbdevice id 5 - 12tbI added a 12tb as device 6 and started a balance that errored out - then I couldn't remove device id 3 because it had an I/O errordevice id 1 - 2tb - sdbdevice id 2 - 4tb - sdddevice id 3 - 4tb - don't rememberdevice id 4 - 12tb - sdgdevice id 5 - 12tb - sdfdevice id 6 - 12tb - sdcI started but then stopped a remove of device 6 because I was concerned about it re-distributing the data onto the failed drivesI removed device id 1 because it didn't have any data on itdevice id 2 - 4tb - sdddevice id 3 - 4tb - don't rememberdevice id 4 - 12tb - sdgdevice id 5 - 12tb - sdfdevice id 6 - 12tb - sdcAfter the balance, device id 6 had less than 2tb, so I did a replace with the 2tb drive to free up the added 12tb that was device 6. I think somehow it got added as device 7 because of the previously attempted remove.device id 2 - 4tb - sdddevice id 3 - 4tb - don't rememberdevice id 4 - 12tb - sdgdevice id 5 - 12tb - sdfdevice id 7 - 2tb - sdbI then did a replace on device id 3 with the freed up 12tb drive so that it got rid of the worst drive. That successfully completed.device id 2 - 4tb - sdddevice id 3 - 12tb - sdcdevice id 4 - 12tb - sdgdevice id 5 - 12tb - sdfdevice id 7 - 2tb - sdbI then had the array mounted as the post above this one (I'm pretty sure - because I did a remove on device id 1, but I don't have 100% confidence that 6 was the other missing id.)I then unmounted the drives and then added them like this, which then broke the array when I tried to mount it. Edited August 1, 2025Aug 1 by muddles17 specifying the complete process
August 2, 2025Aug 2 Community Expert There's no BTRFS signature on that disk, try the same command for all the disks that were part of the pool and don't have a partition, always abort after entering 64 and post the output, it's just to see if a signature is found; we don't want to use sfdisk to create the partitions.
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.