Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

"UNMOUNTABLE: TOO MANY MISSING/MISPLACED DEVICES" Error Following Cache Pool Drive Upgrade

Featured Replies

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

Solved by JorgeB

  • Community Expert

Post the output of:

btrfs fi show

 

  • Author

image.png.f6fa1591edbdb55aae687924be64a048.png

Looks like it can't find the drives?

image.thumb.png.04c8995864e85995215d132eeb43b9e3.png

  • 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

 

  • Author

Here's what that gives me:

image.png.b478eedec19fec16b9dd50dded4192c9.png

 

 

  • Community Expert

Now try

btrfs-select-super -s 1 /dev/sdd1

 

  • Author

And that gives:

image.png.a8e1332eb131095d283d68693fd59251.png

sdd is unassigned and one of my old cache drives.

 

sdh is the other new cache drive.

  • Community Expert

Now output of

btrfs fi show

 

  • Author

image.png.9979ab709ba85891e849d75f17833d23.png

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?

  • 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.

  • Author

That appears to have done the trick. Although I think it's still expecting there should be 3 drives?

 

New diags attached

 

image.png.65140f2be2788bcbed7ace4cc27c4ba9.png

 

image.thumb.png.f50e780277402fc8a1c7b762330cf2f9.png

tower-diagnostics-20231216-0847.zip

  • 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.

  • 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:

  1. stop the array
  2. unassign all pool devices
  3. restart the array
  4. stop the array
  5. set pool slots to 0 (trying to completely remove cache)
  6. restart array
  7. stop array
  8. set pool slots to 2
  9. assign new drives to pool (sdh and sdi)
  10. restart the array
  11. format new drives to create new btrfs cache pool
  12. restore appdata
  13. recreate docker.img and restore dockers from templates
  14. copy any data back onto cache, as required
  • Community Expert

That should do it.

  • Author

Thanks, @JorgeB. Looks like things are back up and running.

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.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.