Unraid and cache. I must be dumb.


Go to solution Solved by Hoopster,

Recommended Posts

Ok, so for starters I have a 1tb NVME drive i wanted to use as a cache drive, which to my understanding and searching these forums, would provide a much better transfer speed for 10g. I copy and delete a lot of files often from one directory. Now unless I am not totally understanding what this cache drive does or my configuration is whack. I have around 14TB worth a data on the array prior to implementing a cache drive. So lets say file #1 is on the array its 50gb, that file would need to be on the cache drive prior to me pulling it through smb windows machine from another nvme in order to get theoretical 10g speeds? oh I failed to mention my array consists of mechanical sata drives. iperf is howing 7-9gb/s throughput 

Link to comment
3 minutes ago, wsickness said:

I copy and delete a lot of files often from one directory. Now unless I am not totally understanding what this cache drive does or my configuration is whack.

A cache drive does not function like a cache buffer on a hard drive.  Unraid cache is not a location in which frequently accessed files are stored for faster access.

 

The cache drive in Unraid has as one its functions the ability to cache writes to the parity-protected array.  Writes to the parity protected array will be slower than to an SSD cache drive.  On a share-by-share basis, you can tell Unraid to write the files first to a cache drive.  Since the cache drive is not part of the parity-protected array, this initial write to cache does not pay the "parity write penalty."  The Mover can then be configured to write the cached files to the HDD array at a low usage time such as 2am.

 

While on the cache drive, files are treated like they are on the array in the designated share and there are no access issues.  The "downside" to caching writes is that files on the cache drive are not parity protected until they are written to the array by the Mover.

 

There is an alternative known as "turbo write" which writes files to the parity-protect array much faster than the default read/modify/write method but it does require all array disks to be spun up.  There is a also a turbo write plugin which enables/disables turbo write as needed.

 

If you are only getting 7-9 Gb/s on iperf, there are likely some configuration tweaks needed. 

 

You are going to be able to take advantage of 10G networking transfer speeds only when writing between fast SSDs on both ends of the transfer.  Once you have a mechanical drive in the data transfer path, you will get sub 1G speeds.

Link to comment
  • Solution
26 minutes ago, wsickness said:

Now unless I am not totally understanding what this cache drive does or my configuration is whack.

Read speeds in Unraid are limited by the speed of the single disk on which the file is stored.

 

It is also possible to configure shares as "cache-only" shares.  This means the data lives on a cache drive only and is never written to the parity-protected array.  As an example some Unraid users put a copy of some Plex data (most commonly viewed movies or TV Shows, etc.) In a cache-only location.  However, management of this is manual.  There is no mechanism in Unraid to decide what is most-commonly accessed and to move it automatically to a cache-only share.

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.