Separate Cache and disk for VM/Docker/Plugins good practice?


NLS

Recommended Posts

Well title says it all.

Since I am planning things and have SATA ports to spare, I wonder if it is good practice to keep Cache for... erm caching and VMs/Docker/Plugins to go to other disk.
Probably both as SSD (a larger for caching and smaller for rest).

 

Bonus questions:
- What happens if a fresh transfer is larger than Cache SSD? Example I have 120GB SSD and try to move to array 200GB of updated data (includes both new data and existing "changed" data). How does unRAID handle that?

- Can "mover" be forced to run?

- If I swap disks in the future, let say I start from spare mechanical disks and in a month I get some SSD... how easy is it to move (a) cache, (b) VMs, (c) Docker stuff?
 

Link to comment

When writing new data Unraid works at the file level and selects an appropriate drive when a file is first created.  Once a file has been selected then Unraid will keep writing to that drive until the file write completes.    If the disk runs out of space while writing the file then an an error occurs and the write fails.    
 

There is a Minimum Free Space option for the cache drive under Settings->Global Share Settings and when the free space on the cache falls below this value Unraid starts by-passing the cache and writing new files directly to the array bypassing the cache.    Ideally this option to be set to be larger than the largest file you are likely to be writing to Unraid.

 

For existing files to be updated Unraid simply selects the drive already containing  the file.

 

there is an option to run mover immediately on the Main tab.    There is an option to schedule mover runs under Settings->Scheduler. There is also the Mover Tuning plugin allowing for more sophisticated automated control.

 

Moving cache/dockers/VMs is easy enough although it can be time consuming.    It is basically just a copy operation.

  • Like 1
Link to comment
10 hours ago, NLS said:

I wonder if it is good practice to keep Cache for... erm caching and VMs/Docker/Plugins to go to other disk.

Many users (myself included), don't bother with using the cache drive for anything that's going to wind up on the array, and use the cache exclusively for docker apps / vms.

 

Back in the day when write speeds were horrendous, things were different, but nowadays (if you're on a 1G network), there isn't a huge difference in speed when transferring files over the network.

Link to comment

Yes but the cache disk if it exists, it is used for caching anyway ain't it?

So it "slows down" (ok I suspect, not much) apps on same disk and adds to SSD wear.

If the ports are available and I can have either:

120GB SSD + 240GB SSD for €65

500GB SSD for €75

...which one should I choose?

(leaning towards the 2nd option but...)

 

Edited by NLS
Link to comment
3 hours ago, NLS said:

Yes but the cache disk if it exists, it is used for caching anyway ain't it?

Each user share has a setting which determines how it interacts with the cache pool.

 

Specify whether new files and directories written on the share can be written onto the Cache disk/pool if present.

 

No prohibits new files and subdirectories from being written onto the Cache disk/pool.

 

Yes indicates that all new files and subdirectories should be written to the Cache disk/pool, provided enough free space exists on the Cache disk/pool. If there is insufficient space on the Cache disk/pool, then new files and directories are created on the array. When the mover is invoked, files and subdirectories are transferred off the Cache disk/pool and onto the array.

 

Only indicates that all new files and subdirectories must be writen to the Cache disk/pool. If there is insufficient free space on the Cache disk/pool, create operations will fail with out of space status.

 

Prefer indicates that all new files and subdirectories should be written to the Cache disk/pool, provided enough free space exists on the Cache disk/pool. If there is insufficient space on the Cache disk/pool, then new files and directories are created on the array. When the mover is invoked, files and subdirectories are transferred off the array and onto Cache disk/pool.

  • Like 1
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.