February 23, 20251 yr 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. 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 March 7, 20251 yr by Chao removed diags
February 23, 20251 yr 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.
February 23, 20251 yr 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.
February 24, 20251 yr 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.
March 7, 20251 yr 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. 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. 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?
March 7, 20251 yr 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.
March 7, 20251 yr 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 March 7, 20251 yr by Chao removed diags
March 7, 20251 yr 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
March 7, 20251 yr 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.