December 14, 20232 yr I have a 2 drive cache pool and was trying to swap out both drives with new larger drives following this procedure: I missed the last step about stopping and restarting the array if I had replaced with a larger drive after the btrfs replace appeared to complete for the first drive. Instead I stopped the array and repeated the process to swap in the other new device. After I thought the btrfs replace process was complete for the second drive I was getting a "Unmountable: Invalid pool config" error. I stopped the array and swapped the old drive back into the cache pool hoping this would go back to what I thought was a working pool after the first disk swap. This gave me the same error again, so I stopped the array and swapped back to the new drive and restarted the array with the same error. I then rebooted the server and started the array. Now I'm getting an "UNMOUNTABLE: TOO MANY MISSING/MISPLACED DEVICES" error for the cache pool with the 2 new drives installed and I'm being told I need to format the drives. Unfortunately I forgot to grab my diagnostics before rebooting, but have included the diagnostics following the reboot. Is there any way to recover the data from the old cache pool configuration? I ran mover before swapping discs so I think my docker image and appdata should be the only info saved to the cache pool. If I can't recover the old data, what is the correct procedure to get my cache pool back up and running? tower-diagnostics-20231213-1931.zip
December 14, 20232 yr Community Expert No idea how how you arrived at this situation but the pool has three members but there are two missing devices, post the output of: btrfs-select-super -s 1 /dev/sdi1
December 15, 20232 yr Author And that gives: sdd is unassigned and one of my old cache drives. sdh is the other new cache drive.
December 16, 20232 yr Author It seems to be expecting that I have 3 drives in the cache pool even though I never changed from a 2 drive pool. Is this suggesting that it's expecting /dev/sdd (currently unassigned) to be included as a 3rd drive in the pool?
December 16, 20232 yr Community Expert Something went wrong during the replacement, try this: -stop the array -unassign all pool devices -start array -stop array -assign just sdd and sdh to the pool -start array, post new diags.
December 16, 20232 yr Author That appears to have done the trick. Although I think it's still expecting there should be 3 drives? New diags attached tower-diagnostics-20231216-0847.zip
December 17, 20232 yr Community Expert Solution Pool mounted but there are some corruptions, recommend copying what you can then recreate the pool with the new devices and restore the data.
December 18, 20232 yr Author Right, I knew there were some corrupts, which was part of my reason for swapping out drives. Given the corrupts should I have recreated the pool from the start instead of trying to replace drives? Just to make sure I've got my steps right for recreating the pool: Copied the data I could to the array (I did copy my docker.img but I know it's better to just recreate the .img file) Backed up appdata using CA Backup Disable docker Set all shares to not use cache Run mover From here I'm a bit unclear on the correct steps to follow, but think the process would be: stop the array unassign all pool devices restart the array stop the array set pool slots to 0 (trying to completely remove cache) restart array stop array set pool slots to 2 assign new drives to pool (sdh and sdi) restart the array format new drives to create new btrfs cache pool restore appdata recreate docker.img and restore dockers from templates copy any data back onto cache, as required
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.