February 4, 20251 yr I logged into my Unraid server to mess around with some new Docker containers when I noticed my cache drive was very very full. 1.97 TB out of 2 TB used with only 27.8 GB free. I am assuming being that full cannot be a good thing. Tried to do some Googling but it seems like all the solutions are specific to and diagnostics logs. Which makes sense, but makes it difficult for me to troubleshoot on my own since I don't know how to read and understand the diagnostic files. Would someone be able to use my cache problem to explain to me how to read the diagnostic files. I am hoping to learn from this experience so next time I might be able to figure out the solution to my next problem on my own. Attached are my anonymized Diagnostic logs. jurassicpark-diagnostics-20250204-0258.zip
February 4, 20251 yr Community Expert Disable Docker and VM Manager in Settings and leave them disabled until we get things fixed. In your Diagnostics: system subfolder contains useful results from various commands. df.txt shows how full each mountpoint is. and plugins.txt shows you have Mover Tuning plugin installed. Remove it. config/pools/cache.cfg has the settings for your cache pool. It currently has no Minimum Free setting. Set that to larger than the largest file you expect to write to cache. That will make it overflow to Secondary:array if it gets below Minimum. shares subfolder contains .cfg files for your user shares, and a summary, shareDisks.txt, which we will be using as we fix things. Your appdata, domains, and system shares have files on the array. Ideally, these would have all files on pool such as cache, with nothing on the array, so Dockers/VMs will perform better and so array disks can spin down since these files are always open. But, we will need to leave those alone for now until we make some room on cache. Set them to Primary:cache; Secondary:none, then they won't be moved for now. The only other share currently with files on cache is d--a shareUseCache="yes" # Share exists on cache, disk1, disk2, disk3, disk4 and it is set to be moved to the array, so that's all good. Go to Main - Array Operations and run Mover. Wait for it to complete, then Post new diagnostics.
February 5, 20251 yr Author Quote config/pools/cache.cfg has the settings for your cache pool. It currently has no Minimum Free setting. Set that to larger than the largest file you expect to write to cache. That will make it overflow to Secondary:array if it gets below Minimum. What is a good way to figure that out? I have plex writing to Cache. Since it's a 2TB drive so maybe 1.5TB? Something also that just popped into my head. Does Unraid have some sort of Trash Can or Recycling feature? I just remember I have a Docker Application called Maintainerr. It's supposed to clean up unwatched Plex movies and tv shows (that is what is in the d - - a (aka data) folder). I was running out of space on my system so I accelerated the clean up process and it recently deleted about 10TB of files. Could that some how effect the cache drive? Quote Go to Main - Array Operations and run Mover. Wait for it to complete, then Post new diagnostics. I activated mover and will attach the new diagnostics data once it is finished Edited February 5, 20251 yr by SnugglyDino
February 5, 20251 yr Community Expert There is a Minimum Free setting for each of your pools (you only have cache), and for each of your User Shares. Unraid has no way to know how large a file will become when it chooses a pool or disk for it. Once it has made a choice, it will try to write the whole file there, and if it runs out of space it fails. You must set Minimum Free to larger than the largest file you expect to write there. For a pool (cache), if it has less than Minimum, then new files will overflow to Secondary storage (if set). For a user share, if a disk has less than Minimum, Unraid will choose another. If you are saving HD movies, then 50G (or more) might be appropriate. If you are saving photos, probably a few meg would be enough. Typically you will create different user shares for different purposes, and so they could have different Minimum Free settings.
February 5, 20251 yr Author The mover is still running. Will probably have to update with new diagnostics data in the morning. But it looks like it is working. Cache Used has already dropped to 1.41 TB. Ahhh I think I get "Minimum Free Space" setting inside the cache drive now. It only took me reading and rereading your description and Unraid's description like 10 times each. I was getting confused because you were talking in terms of "Files". While Unraid talks in terms of "Volume". You are both saying the same thing but slightly differently. If I understand it correctly, The "Minimum free space" setting is telling Unraid how much Free Space I want on my cache drive. That means if the remaining free space on my cache drive ever becomes less than this amount, so in my case less than 1.5 TB (ex: 1.4TB), then the mover will activate and start moving files off the Cache (like it is currently doing) until the remaining free space becomes 1.5 TB or larger. You talk about this setting in terms of File size because I never want Unraid to run into a situation where it cannot completely write a file onto a drive and cause an error. So you recommend to set the remaining free space to never drop below the largest individual file size that I might encounter. That way I maximize using my cache drive while never encountering a write error. Hopefully that explanation makes sense for future people. Now I mostly understand why you said 50G. My only remaining question is why you said "50G" (53,687,091,200) instead of "50 GB" (50,000,000,000)? Also does the space between the number and letter matter?
February 5, 20251 yr Community Expert 1 minute ago, SnugglyDino said: then the mover will activate and start moving files off the Cach No, Minimum Free has absolutely nothing to do with mover. Minimum Free only comes into play when Unraid is deciding where to write a new file.
February 5, 20251 yr Author Correction. Mover has just finished. But this is very interesting. Either I don't understand that "Minimum free space" setting, or mover did not work right. Because it finished moving files and I don't have 1.5TB of Free cache jurassicpark-diagnostics-20250205-0400.zip
February 5, 20251 yr Author 1 minute ago, trurl said: No, Minimum Free has absolutely nothing to do with mover. Minimum Free only comes into play when Unraid is deciding where to write a new file. That makes more sense now. Thank you.
February 5, 20251 yr Community Expert And Minimum Free doesn't try to keep a certain amount of free space either. It just makes Unraid choose a different destination if a disk or pool has less than Minimum. For example, Minimum is set to 20G. The disk has 25G free. Since it has more than Minimum, the disk can be chosen. If the disk is chosen, and the file is 22G, the file will be written, and after the write, the disk will only have 3G free. After that a different disk will be chosen since it no longer has Minimum Free. Another example, Minimum is set to 20G. The disk has 25G free. Since it has more than Minimum, the disk can be chosen. If the disk is chosen, and the file is 30G, the write will fail because it runs out of space.
February 5, 20251 yr Community Expert 14 minutes ago, SnugglyDino said: Mover has just finished On 2/3/2025 at 11:05 PM, trurl said: The only other share currently with files on cache is d--a shareUseCache="yes" # Share exists on cache, disk1, disk2, disk3, disk4 and it is set to be moved to the array, so that's all good. That share still has files on cache. Was anything still writing to that share? On the User Shares page, click Compute... for that share and post a screenshot of the result.
February 5, 20251 yr Community Expert 20 minutes ago, SnugglyDino said: 1.5TB of Free cache That would not be a good setting. It would just make it not use cache while it had less than 1.5TB free. So most of its space would never be used (unless it had 1.6TB free when you wrote a 1.5TB file, for example). Set it to larger than the largest file you expect to write to cache. If you expect to never write a file larger than 50G, then set it to somewhat larger than that, but not a lot larger, 60G for example. Since cache could be Primary for different user shares, you would need to consider the largest file that might be written to any of those user shares.
February 5, 20251 yr Community Expert So, we need to figure out why that share still has files on cache. 13 minutes ago, trurl said: On the User Shares page, click Compute... for that share and post a screenshot of the result. Then we can work on On 2/3/2025 at 11:05 PM, trurl said: Your appdata, domains, and system shares have files on the array. Ideally, these would have all files on pool such as cache, with nothing on the array, so Dockers/VMs will perform better and so array disks can spin down since these files are always open.
February 6, 20251 yr Author Sorry for my slow response. It has been another busy day and I cannot get to my hobbies as quickly as I like to more often than not. So I have not read your most recent 3 comments. Before I do I wanted to give you a server update. It looks like good news. My server has successfully freed up my entire cache drive (see pic). The bad news. I have no idea why. I have attached a new diagnostics file in case it can provide any insight on what changed since last night. jurassicpark-diagnostics-20250206-0117.zip
February 6, 20251 yr Author 21 hours ago, trurl said: That share still has files on cache. Was anything still writing to that share? On the User Shares page, click Compute... for that share and post a screenshot of the result. I just did a "compute all" instead. Figured it would be more insightful. Hopefully that's ok.
February 6, 20251 yr Author 20 hours ago, trurl said: That would not be a good setting. It would just make it not use cache while it had less than 1.5TB free. So most of its space would never be used (unless it had 1.6TB free when you wrote a 1.5TB file, for example). Set it to larger than the largest file you expect to write to cache. If you expect to never write a file larger than 50G, then set it to somewhat larger than that, but not a lot larger, 60G for example. Since cache could be Primary for different user shares, you would need to consider the largest file that might be written to any of those user shares. You are 100% right. 1.5TB was a bad choice. So I did change it but wanted to play things a bit safe. So I set it to 100G
February 6, 20251 yr Community Expert Looks like cache still has a data folder on it but no data. Since you are on v7, Dynamix File Manager is built-in. See if you can figure out how to use it to look in the data folder on cache. https://forums.unraid.net/applications/core/interface/file/attachment.php?id=156138&key=3f67cac285ead5d8c03dc4d9098f2aad
February 6, 20251 yr Community Expert 1 minute ago, trurl said: Looks like cache still has a data folder on it but no data. If that folder on cache is empty, delete it. It won't really affect anything though, it will just clean up that Compute... for that share so it doesn't show anything on cache and it won't have the "unprotected" triangle.
February 6, 20251 yr Community Expert Now we can work on On 2/3/2025 at 11:05 PM, trurl said: Your appdata, domains, and system shares have files on the array. Ideally, these would have all files on pool such as cache, with nothing on the array, so Dockers/VMs will perform better and so array disks can spin down since these files are always open. Nothing can move open files. Disable Docker and VM Manager in Settings. Set appdata, domains, and system shares to Primary:cache; Secondary:array; Mover action:array->cache Then run Mover and wait for it to complete Then post new diagnostics
February 6, 20251 yr Author 53 minutes ago, trurl said: If that folder on cache is empty, delete it. It won't really affect anything though, it will just clean up that Compute... for that share so it doesn't show anything on cache and it won't have the "unprotected" triangle. deleted 49 minutes ago, trurl said: Now we can work on Nothing can move open files. Disable Docker and VM Manager in Settings. Set appdata, domains, and system shares to Primary:cache; Secondary:array; Mover action:array->cache Then run Mover and wait for it to complete Then post new diagnostics Steps followed. Looks like everything is the way it should be. I attached the diagnostics as well. jurassicpark-diagnostics-20250206-0310.zip
February 6, 20251 yr Community Expert Solution Looks good! You can enable Docker and VM Manager again. I see you already have appdata backup plugin installed so that's good. How are you backing up flash?
February 6, 20251 yr Author My license key is tied to my Unraid.net account. And this is probably a big no no but I just have everything being backed up to the server itself
February 6, 20251 yr Community Expert How will you access it when flash fails and you can't boot your server? config folder on flash has all of your configuration, EVERY setting from the webUI, including your disk assignments.
February 6, 20251 yr Community Expert Unraid Connect plugin will keep a backup of your flash on Unraid Cloud where you can access it from your Unraid.net account.
February 6, 20251 yr Author 1 minute ago, trurl said: How will you access it when flash fails and you can't boot your server? config folder on flash has all of your configuration, EVERY setting from the webUI, including your disk assignments. You make a very good point. How do I backup to an off server location? Unrelated to backups. But do you have a recommendation for Mover settings/schedule?
February 6, 20251 yr Author 1 minute ago, trurl said: Unraid Connect plugin will keep a backup of your flash on Unraid Cloud where you can access it from your Unraid.net account. Oh looks like I have that going to. Don't remember setting it up lol.
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.