Configuring L2ARC to only cache certain directories

Status
Not open for further replies.

AnonymousTrader

Dabbler
Joined
Oct 3, 2016
Messages
11
In configuring my hypothetical server, I have a few questions about the ARC/L2ARC.

Our use-case is a little odd. We have a directory full of many small files, new batches of which are generated at the beginning of every month. When doing data analysis, we want to be able to access this month's files and files from the previous six months. (Around 1.5TB of data). The server will be used for storing other files, but only rarely and we don't care much about IOPS in those circumstances. We're mostly just doing random reads (no writes) to these many small files.

I was thinking of using a pair of SSD's for an L2ARC. (Probably around 2TB in all) What would be fantastic is if we could fit the entirety of our analysis data files within the L2ARC. Our memory will be either 128GB or 256GB, so I believe we will be able to handle an L2ARC of around 2TB. And we don't want the ARC/L2ARC to cache other data. (I know it's algorithm is smarter than LRU, but still.) So my question is two-fold:
  1. Is there a way to tune the L2ARC to only cache certain directories or filesystems? (I've been Googling to no avail, in fact there doesn't seem to be a lot of ARC/L2ARC configuration parameters)
  2. Is there any reason we shouldn't be able to cache at least 1.5TB of these files in the L2ARC?
Thanks.

PS: I know buying extra RAM has more for a net performance benefit than having a larger L2ARC, but we can't buy 1.5TB of RAM.
 

Robert Trevellyan

Pony Wrangler
Joined
May 16, 2014
Messages
3,778
I'm pretty sure the only way you can control what ends up in L2ARC is to divide the data between multiple pools.
 

m0nkey_

MVP
Joined
Oct 27, 2015
Messages
2,739
This is not correct answer. L2ARC can be configured on per-dataset basis using secondarycache property. Setting it to "none" or "metadata" for slow datasets and to "all" for fast datasets should give AnonymousTrader what he wants.
While true, let's not forget that FreeNAS is an appliance and you shouldn't be diddling with these properties in the CLI. If it's not exposed via the GUI, don't do it.
 

mav@

iXsystems
iXsystems
Joined
Sep 29, 2011
Messages
1,428
While true, let's not forget that FreeNAS is an appliance and you shouldn't be diddling with these properties in the CLI. If it's not exposed via the GUI, don't do it.
I would say it is a question of admin qualification. While there are indeed many things admin should not do from CLI, this IMO is not one of them. I would say less strict: "don't do it unless you know what you are doing".
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,367
This is not correct answer. L2ARC can be configured on per-dataset basis using secondarycache property. Setting it to "none" or "metadata" for slow datasets and to "all" for fast datasets should give AnonymousTrader what he wants.

Neat.
 
Status
Not open for further replies.
Top