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.

Cache pool BTRFS too many profiles & other cache problems

Featured Replies

I've had multiple cache issues lately and my attempts to fix them have only made them worse. I'll try to explain to the best of my memory, but I know I'm forgetting some troubleshooting steps I tried.

 

Initial Conditions

Unraid Version: 7.0.0

Parity: 14TB HDD x1

Cache: 512GB SSD x2

Main Array: 10TB HDD x4

 

Timeline

1. Mover suddenly stopped moving files from cache to array. I put off finding a fix and instead copied the files off the cache manually.

2. Made the following hardware changes to the server during an upgrade:

- Removed one of my cache drives.

- Added a 20TB HDD as the parity drive.

- Set the previous 14TB parity drive to a regular array drive.

3. Received this error:

*Warning [ROSHAR] -  pool BTRFS too many profiles (You can ignore this warning when a pool balance operation is in progress)*
 SPCC_Solid_State_Disk_9F57079B048F00396741 (sdh)

4. All of my cache files appear to exist on the one installed SSD, nothing is missing. Unraid still shows that I have a pool of 2 devices and Cache 2 is not installed. If I stop the array, I can't start it again unless I change the cache pool from 2 to 1. This doesn't fix anything though, it just lets me start the array.

5. Ran a balance on the one installed cache drive.

6. Tried reinstalling the previously removed cache drive. I couldn't get it to properly start the array, so I removed it again.

7. Tried backing up the files on the cache. Copying files from the cache appdata folder to the array with Krusader didn't seem to do anything. I tried with Windows SMB, but i got a "A device attached to the system is not functioning" error. I stopped and started the array, then tried to copy just one folder in appdata to the array with Krusader. It was extremely slow with an ETA of over a week, so i canceled it.

 

image.thumb.png.57865b0e460a4103182815008da5d7bf.png

 

Goals

1. Fix the profiles on the one installed cache drive to get it to a useable state without deleting any of the data on it.

2. Fix the mover so it automatically moves files off the cache like it used to.

 

I would really appreciate any help. Please let me know if you need any more information. Thank you!

 

Edited by Chao
removed diags

Solved by JorgeB

  • Community Expert

You need to rebalance the pool, but first should move some data elsewhere, or the balance can fail due to not enough space, enable mover logging, run the mover, post new diags and the name of the shares you expect to be moved.

  • Author

Shares:
Downloads

Videos

 

Edited by Chao
removed diags

  • Community Expert

The Videos share is not set to be cached so mover will ignore it and any files left there.

Not sure why the Downloads share is not being moved.

 

i also notice that you have instances of system/docker.img on disk2 and system/libvirt.img on disk3 - is this deliberate as normally you only want one copy around and that on the ‘cache’ pool for optimal performance.

  • Community Expert

Downloads share cfg doesn't have a pool set, still not sure why, but sometimes those still work with 7, other times not, go to the share, set cache as primary and array as secondary, do the same for Videos since that one is set to cache=no and run the mover.

  • 2 weeks later...
  • Author

Thanks for all the help! I've changed my shares and share settings around and was able to get the mover to work. Everything that was supposed to be moved was moved.

image.png.26781449795db2add9b1f7a72985cd48.png

 

Then I ran a balance on the cache pool. The balance completed, but the pool still shows that it's twice the size it should be and that I'm missing a device.

image.png.caecc09c54cbeae1515eafc760a3c90e.png

 

On 2/23/2025 at 11:02 AM, itimpi said:

i also notice that you have instances of system/docker.img on disk2 and system/libvirt.img on disk3 - is this deliberate as normally you only want one copy around and that on the ‘cache’ pool for optimal performance.

Would it be safe to just delete the duplicates on disk2/disk3 or would I risk losing data?

  • Community Expert
3 hours ago, Chao said:

and that I'm missing a device.

I assume the pool is only one device? Post current diags.

  • Author

 

 

It was originally 2 512GB SSDs, but I had to remove one because I no longer have room for it. I want the cache pool to only be one device now.

Edited by Chao
removed diags

  • Community Expert
  • Solution

With the array running type:

 

btrfs dev del missing /mnt/cache

 

Then stop the array and reimport the pool:

 

on main click on the first device for that pool and then "remove pool"
back on main, create a new pool with the same name and 1 of slot
assign the pool devices, leave the filesystem set to auto
start the array to import the pool

 

 

  • Author

I followed those steps, then I deleted those extra copies of libvert.img and docker.img. Everything is back to normal now, thank you!

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.