Docker cache is not a cache-only share....


Recommended Posts

I assume you are talking about the Min Free Space setting?     If so this is only checked at the point the file is initially created and used to select a disk.    There is no check that the file will not grow to use up all the free space, and then fail because it cannot get any more.

Link to comment

Normally we say you must set Minimum Free to larger than the largest file you expect to write. Unraid has no way to know how large a file will become when it chooses a disk to begin writing it to. If a disk has less than Minimum, it will choose another disk.

 

In the case of torrents, where you may begin writing lots of files simultaneously, that idea probably needs to be amended. Set Minimum Free to larger than the total of those files. You will probably have to figure that out on your own depending on your torrents.

  • Like 1
Link to comment
4 hours ago, trurl said:

Set Minimum Free to larger than the total of those files.

  For example: I have a 480GB cache disk. The size of the total number of downloads is equal to, say, 500GB.
Downloads consist of 7 files from 20 to 90 GB. In the "downloads" folder, what is the minimum free space specified - 90GB? Or some other? And whether it is necessary to prescribe this size in the folder Clobal Share Settings?

  I understand that in the end, I myself will have to pick up, but please indicate some fundamental points.

Thank you.

Edited by mikemas
Link to comment

I don't download torrents but if I did I think I would want enough scratch space to accommodate a complete batch of them. I assume you download them to your cache disk to speed up the assembly of the chunks into complete files and avoid thrashing the array disks before moving the files to more permanent array storage. With the figures you give I'd be looking to increase the size of my cache pool to accommodate them without overflowing and still leave space for the shares than really benefit from being kept permanently on the cache. Another alternative is to download to a separate hard disk (say, 1 TB capacity, or so) that is outside the array and managed by the Unassigned Devices plugin. That would free up space on your cache, while avoiding keeping your array disks spinning while the torrents download. It wouldn't be protected by parity but it's inexpensive storage for temporary files that you could download again if necessary

  • Like 1
Link to comment

Another thing to consider in the case of torrents. If they are on the array, parity is only involved when you are leeching (written). Parity does not get involved when you are seeding (reading). I have mine on a cache-no share with only one included disk. Since I am not that concerned with how fast they are written I don't care about how parity affects their downloading speed (it probably doesn't). They are protected by parity and can stay there seeding as long as I want.

 

If you have torrents seeding from cache, mover may not be able to move them to the array since it can't move open files.

 

  • Like 1
Link to comment
17 hours ago, trurl said:

I have mine on a cache-no share with only one included disk.

3 hours ago, mikemas said:

Did you use the Unassigned Devices plugin?

I do use Unassigned Devices but don't understand what your question has to do with that statement it is in reply to.

 

Just to break it down a bit.

 

A cache-no share means a User Share that is set to Use cache disk: No.

 

User Shares do not and cannot use Unassigned Devices.

 

A User Share with only one included disk means its Include setting only allows one specific array disk to be used.

 

 

Link to comment
  • 7 months later...
On 3/3/2019 at 3:46 PM, trurl said:

Set your appdata, domains, and system shares to cache-prefer.

 

Disable the Docker and VM services in Settings, then run mover. This will get those shares moved from the array to cache where they belong. The reason you want these to stay on cache is so your apps and VMs won't be affected by the slower writes of the parity array, and so your apps and VMs won't keep parity and array disks spinning.

 

Sorry to HiJack... I have a question about this...

 

I have this set up and when have the mover move files to the array weekly that is essentially "backing up" the docker and vm info to the array which is under parity protection?

Link to comment
32 minutes ago, emuhack said:

I have this set up and when have the mover move files to the array weekly that is essentially "backing up" the docker and vm info to the array which is under parity protection?

You shouldn't move those to the array, and if you have those shares set to cache-prefer, they won't be moved to the array.

 

Study this:

 

https://forums.unraid.net/topic/46802-faq-for-unraid-v6/page/2/#comment-537383

 

Then study what I said above again.

 

Nothing about the user share settings, or mover, creates any backup. If you want to back them up, see the CA Backup plugin:

 

https://forums.unraid.net/topic/61211-plugin-ca-appdata-backup-restore-v2/

 

 

Link to comment
1 hour ago, trurl said:

You shouldn't move those to the array, and if you have those shares set to cache-prefer, they won't be moved to the array.

 

Study this:

 

https://forums.unraid.net/topic/46802-faq-for-unraid-v6/page/2/#comment-537383

 

Then study what I said above again.

 

Nothing about the user share settings, or mover, creates any backup. If you want to back them up, see the CA Backup plugin:

 

https://forums.unraid.net/topic/61211-plugin-ca-appdata-backup-restore-v2/

 

 

Awesome... so let me know if this is correct and would be optimal

 

so my tv shows from sonarr and movies from radarr should be Cache: Yes -- then at the specified setting they will be moved to the array by mover.

 

any share that i want to have speed on should be Cache: yes - then at the specified setting they will be moved to the array by mover.

 

my vm and docker appdata should be Cache: Only -- if i want to backup this data then use the CA Appdata Backup or My Crash Plan pointed at the Cache drive.

Link to comment
36 minutes ago, emuhack said:

Awesome... so let me know if this is correct and would be optimal

 

so my tv shows from sonarr and movies from radarr should be Cache: Yes -- then at the specified setting they will be moved to the array by mover.

 

any share that i want to have speed on should be Cache: yes - then at the specified setting they will be moved to the array by mover.

 

my vm and docker appdata should be Cache: Only -- if i want to backup this data then use the CA Appdata Backup or My Crash Plan pointed at the Cache drive.

That looks OK. Normally your VM and dockers are in the User Shares named appdata, domains, system. These are cache-prefer by default, which means if they ever overflowed to the array then mover could move them back to cache. But mover can't move open files, so for that to actually work, docker and VM services have to be stopped.

 

It is really simpler to just have those shares cache-only, but you have to be careful and not fill up cache (or any other disk for that matter) or it could corrupt.

 

Each user share has a Minimum Free setting which Unraid uses to decide which disk to use when it begins writing a new file. It has no way to know how large a file will become when it chooses a disk to write. If a disk has less than Minimum Free it will choose another. You should set Minimum Free to larger than the largest file you expect to write to the user share.

 

Cache also has a Minimum Free in Global Share Settings. If cache has less than minimum, Unraid will use this setting to overflow to the array, but that only works for cache-yes and cache-prefer user shares as explained in that link I gave.

  • Like 1
Link to comment
1 hour ago, trurl said:

That looks OK. Normally your VM and dockers are in the User Shares named appdata, domains, system. These are cache-prefer by default, which means if they ever overflowed to the array then mover could move them back to cache. But mover can't move open files, so for that to actually work, docker and VM services have to be stopped.

 

It is really simpler to just have those shares cache-only, but you have to be careful and not fill up cache (or any other disk for that matter) or it could corrupt.

 

Each user share has a Minimum Free setting which Unraid uses to decide which disk to use when it begins writing a new file. It has no way to know how large a file will become when it chooses a disk to write. If a disk has less than Minimum Free it will choose another. You should set Minimum Free to larger than the largest file you expect to write to the user share.

 

Cache also has a Minimum Free in Global Share Settings. If cache has less than minimum, Unraid will use this setting to overflow to the array, but that only works for cache-yes and cache-prefer user shares as explained in that link I gave.

Sounds good. 

 

I will be getting a 1tb nvme cache drive in the next coming months so im not to worried about filling it up.

Link to comment

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

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.