Setting up App & Cache - external to array? instructions?


Recommended Posts

Ok, I've drunk the cool-aid and taken the plunge - bought two Plus server keys.  Now to make this work for real...

 

1. Regarding the use of SSD's - Has trim been resolved within UnRaid yet?  If not, can someone point me to the latest instructions on proper approach setting up an SSD for Cache and Apps (ext4? external to array?  i.e. How is it kept external to the array and yet mounted/utilized for App, Cache, etc?).

 

2. In my testing of file transfers with and without cache, there wasn't any difference.  So I'm not sure I've actually used the cache properly.  I've been reading through the cache disk (https://lime-technology.com/wiki/index.php/Cache_disk) and in global share settings, I've set use cache disk to yes and left minimum free space as default (is that correct for my config?).  So I'm assuming I've set it up properly.  Just don't know how to confirm that its working properly.

 

My config is

App - 128GB SSD  Sata III - Syba SSD Caddy in PCIe x16 (x16 mode)

Cache - 750GB SSD Sata III - Syba SSD Caddy in PCIe x16 (x16 mode)

Parity - 4TB Seagate 5900/64mb Cache sata III - Mobo Sata III Marvell

Data Disks

6 2Tb Hitachi 7200/32mb Cache sata III - AOC-SAS2LP-MV8

2 3TB Seagate 5900/64mb cache sata III - AOC-SAS2LP-MV8

2 2TB Seagate 7200/64mb Cache sata III - Mobo Intel sata III

 

I've got a 5TB Seagate 5900/128mb cache that I will promote to parity once parity check completes in a few days.  In the meantime going to use the 4TB (it will become data later).

 

Use case

Plex Server (needo)

Perhaps some other Plex goodies, haven't decided yet.

FTP Server

OwnCloud

Backup Server (haven't decided to do Acronis jobs to disk on the server or to use Crash plan (opinions?))

 

 

Link to comment

I guess the easiest way to see if the cache drive is properly set up is to write data to a user share and check the web UI if the used space on the cache drive went up. As for configuration, you might have to also check the individual shares as well and make sure that they are set to use the cache drive... I had that problem once, added a cache drive but not having it used. That was a long time and many versions ago, though.

 

Anyways, a couple of things to consider regarding your performance evaluations:

 

If you have plenty of RAM in your server it will use RAM to buffer lots of writes. As long as there is RAM available, files transferred to the server over the network will be as fast as the network can shuffle data. You won't notice any difference between cache drive/no cache drive writes until you've written enough data to fill the RAM buffer. With 16GiB of RAM and a benchmark application writing a 4GiB file over the network for example, the network will in virtually all cases be the bottleneck. It doesn't matter if the transfer is destined for a SSD or an array device with parity active.

 

If you performed your tests with only one data drive assigned you hit a special case for the parity update which made it much faster than it would have been with multiple data drives.

Link to comment

Unless you have some specific use case that makes it necessary to have a separate disk for apps or VMs, it is much simpler to just use the cache disk for apps and VMs also. unRAID will manage the cache disk for you, but if you use a separate app or VM disk that is not part of the array then you will have to take care of mounting, unmounting, partitioning, formatting, etc. It can be done that way and some do, but I have never seen any need for my uses.

 

The only thing you have to do when using your cache drive for apps is to set up a share for apps and configure it to Use cache disk: Only. Many of the docker templates here are preconfigured to use a cache-only share named appdata.

Link to comment
The only thing you have to do when using your cache drive for apps is to set up a share for apps and configure it to Use cache disk: Only. Many of the docker templates here are preconfigured to use a cache-only share named appdata.

 

trurl, very helpful, thanks.  So remove the APP's 'drive' and just use a folder called appdata on the Cache.  I had a spare 128GB SSD, so was wanting to use that for an APP drive and leave extra space on the 750GB SSD.  Perhaps 128GB SSD is plenty for the Cache?  Are there any guidelines on how big the Cache drive should be.  My use case is not to run dozens of apps - plex, backups, file sharing (although, I'm sure once I get into it, there will be others...).  Should I choose 750 or 128?  I do have a 256SSD on my PC which I could swap with the 750...

Link to comment

Cache needs to be large enough for the things you want to remain on cache, plus enough for holding any cached user share data until it can be moved to the array. The mover default schedule is daily at 3:40am, but can be adjusted.

 

I don't actually cache any of my user shares, because most of my unRAID data originates on unRAID with apps that are running automatically on their own time, and backups from other computers that are similar. I am not interested in fast writes because I am not typically involved directly in them.

 

So, all my data is already protected with parity, and my cache drive is only for apps.

 

I have 2 x 120GB SSDs in a btrfs raid1 cache pool, so it has some protection there as well. With a half dozen dockers and their appdata, plus a couple of VM images I play with from time to time, I have never used more than 40% of my 120GB cache space.

Link to comment
I have 2 x 120GB SSDs in a btrfs raid1 cache pool, so it has some protection there as well. With a half dozen dockers and their appdata, plus a couple of VM images I play with from time to time, I have never used more than 40% of my 120GB cache space.

 

That's cool.  So that sounds like your cache drive is external to unraid?  (inevitable noob question), how do you setup a cache pool in Linux and use it in UnRaid?

 

or would it be better to just have the SSD in the UnRaid array and load apps from there?  Performance issue?

Link to comment

I have 2 x 120GB SSDs in a btrfs raid1 cache pool, so it has some protection there as well. With a half dozen dockers and their appdata, plus a couple of VM images I play with from time to time, I have never used more than 40% of my 120GB cache space.

 

That's cool.  So that sounds like your cache drive is external to unraid?  (inevitable noob question), how do you setup a cache pool in Linux and use it in UnRaid?

 

or would it be better to just have the SSD in the UnRaid array and load apps from there?  Performance issue?

No, btrfs cache pools is one of the new features built in to unRAID v6. I probably wouldn't have bothered otherwise, but since it was there seemed like a good feature to take advantage of.
Link to comment

I have 2 x 120GB SSDs in a btrfs raid1 cache pool, so it has some protection there as well. With a half dozen dockers and their appdata, plus a couple of VM images I play with from time to time, I have never used more than 40% of my 120GB cache space.

 

That's cool.  So that sounds like your cache drive is external to unraid?  (inevitable noob question), how do you setup a cache pool in Linux and use it in UnRaid?

 

or would it be better to just have the SSD in the UnRaid array and load apps from there?  Performance issue?

 

Adding an SSD to your unRAID array of HDDs will just limit the performance of that SSD. You are better off mounting it as a cache drive.

 

When you assign drives in the GUI assign your SSD as your cache. In unRAID 6 beta you can make cache pools if you choose btfs as your file system. This is also supported in the GUI.

 

Your cache is not external to unraid, but it's also not part of the array proper think of it as a temporary middle man that hold data until it's moved to the disk.

 

Speaking of which, if you set up an app folder make sure you set it as cache only under the share settings, otherwise mover will not know and put it on your array (which might cause problems for your apps)

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.