JT-DFW Posted May 24, 2022 Share Posted May 24, 2022 I tried moving a large amount of very large files (uncompressed blu-ray rips) from my Windows server to my Unraid server - once my 1TB NVMe cache became full, all of the copies failed (robocopy from the Windows server) because of the error message in the title - I thought that once the cache became full that files would be copied directly to the array - (I had the option set to cache = yes for the share) - yes I have read some stuff about this online but this seems like a real miss on the part of Unraid - I have to turn off the cache for this share to copy everything unattended - on my Windows 10 server running Drivepool with two SSD cache drives, this would not happen - I know that I should not be setting the share to "prefer" if I want "spillover" to the array once the cache is full - can someone explain this? Quote Link to comment
tjb_altf4 Posted May 24, 2022 Share Posted May 24, 2022 (edited) Increase the minimum free space setting, it defaults to 0KB which basically stops the overflow from happening. To quote the inbuilt help on that setting: The minimum free space available to allow writing to any disk belonging to the share. Choose a value which is equal or greater than the biggest single file size you intend to copy to the share. Include units KB, MB, GB and TB as appropriate, e.g. 10MB. See this thread for the discussion Edited May 24, 2022 by tjb_altf4 Quote Link to comment
tjb_altf4 Posted May 24, 2022 Share Posted May 24, 2022 You could also look at disabling cache while doing continuous large transfers by setting cache to 'No', and re-enable cache once finished. Quote Link to comment
JT-DFW Posted May 24, 2022 Author Share Posted May 24, 2022 Thanks! That actually makes sense but unfortunate that it defaults to 0 Quote Link to comment
Crad Posted July 29, 2022 Share Posted July 29, 2022 Just ran into this issue and wanted to chime in. If you're trying to copy a whole folder of files, it seems to treat this as a single size when checking the available cache space and will throw at error. For example, I have a folder that is 700gb to move, full of 15gb files, my share is set to cache 'yes' and 200gb free space. When I drag an drop said folder, it gives the not enough space error because of the total filesize, even though each individual file is only 15gb or smaller. Worth noting that changing the share to cache 'no' will work, but because of the way unraid propagates share changes, it's something I personally can't do as I have scripts processing and files syncing via rclone which end up throwing errors when I do that. Quote Link to comment
JorgeB Posted July 29, 2022 Share Posted July 29, 2022 46 minutes ago, Crad said: For example, I have a folder that is 700gb to move, full of 15gb files, my share is set to cache 'yes' and 200gb free space. When I drag an drop said folder, it gives the not enough space error because of the total filesize, even though each individual file is only 15gb or smaller. That should not happen, as long as the array plus cache has enough space for all the files you're trying to copy to that share. Quote Link to comment
trurl Posted July 29, 2022 Share Posted July 29, 2022 1 hour ago, Crad said: my share is set to cache 'yes' and 200gb free space There are 2 separate settings involved. We have been talking about Minimum Free for a pool, such as cache. When writing to a cache:yes or cache:prefer share, if the designated pool for the share has less than Minimum, new files will go to the array (overflow). (cache:only will always go to the designated pool even if less than Minimum.) Each user share also has a Minimum Free. If an array disk has less than Minimum for the share, Unraid will choose another array disk when writing to the share. Other factors can prevent another array disk being chosen, such as Split Level or Include/Exclude. Quote Link to comment
DivideBy0 Posted July 29, 2022 Share Posted July 29, 2022 8 hours ago, trurl said: There are 2 separate settings involved. We have been talking about Minimum Free for a pool, such as cache. When writing to a cache:yes or cache:prefer share, if the designated pool for the share has less than Minimum, new files will go to the array (overflow). (cache:only will always go to the designated pool even if less than Minimum.) Each user share also has a Minimum Free. If an array disk has less than Minimum for the share, Unraid will choose another array disk when writing to the share. Other factors can prevent another array disk being chosen, such as Split Level or Include/Exclude. This whole thing is very CONFUSING. Can someone actually show a good working example of the 2 settings? I had a similar situation when transferring 1TB worth of data and my cache got full, system crashed and took a bit to recover from that mistake. I am still not sure how set this honestly. Quote Link to comment
JorgeB Posted July 30, 2022 Share Posted July 30, 2022 Usually you just need to set the share minimum free space, it should be set to twice the largest file you expect to copy to that share. Quote Link to comment
Recommended Posts
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.