ZFS pool caching options on my storage server

HI,
I'm wondering if anyone using zfs is familiar with the caching options. I know about the intent log cache being a separate cache from the l2arc. My question is there a global cache option for servers with multiple zfs pools? Do we need ssd cache drives for each pool we create or can we use a global caching for the zfs service. I ask because I have 4 disk pools created and really don't need caching on 3 of them but 1 of them is used for VMs and would benefit perhaps but wouldn't really utilize the whole capacity of a large ssd. If there's an option to enable a global cache that any of the pools could use then perhaps it would be a better use of the space. I also have an old OCZ revodrive that is basically two 24gb ssds on the same pcie x4 card. I disabled the raid option in the revodrive bios option rom and now have two individual 24gb ssd that I'd like to use for the intent log and l2arc. But I have 4 pools to deal with. What's the best approach? The system is Arch Linux running on a AMD 9590 cpu and 32gb of ram. The system boots from a zfs mirror pool as well so I guess in all there are actually five pools to deal with. I also have a few Talos SAS 480gb SSD from OCZ and some spare channels on my HBA if I need the big ass cache drives but from my experience so far the cache flushes to drive way before it ever gets to more than a gigabyte or so. Anyway some ideas would be welcome. Thanks

1 Like

No you have to add a cache disk to each pool, you can't do it globally. You could split the SSD in to partitions though.

You're better off keeping your cache drives small as you need ram to keep track of what's in cache. I can't remember what the ideal arc to l2arc ratio is but you should look it up.

1 Like

From another post I made about this similar subject:

Tuning is often evil and should rarely be done.

Just looking at the stuff in your sig, you've got 32GB of RAM. Just like the FreeNAS manual says, if ZFS is slow the single best way to increase performance is to add more RAM. That is, and will always be true, until you get to stupidly expensive quantities of RAM.

Whether you use FreeNAS or ZFS On Linux, that's still true.

If the RAM isn't maxed on the motherboard, you should consider doing that before having a SLOG/ZIL with the L2ARC.

Those don't really help until you hit enterprise levels, usually (depends on the type of data being moved about).

Thanks for all the input here. I was already leaning toward the single zpool for VMs being the only one with the ssd cache and after some testing it seems like the other pools wouldn't benefit much from the caching because they are bulk multimedia storage. So I'll be happy with just the single pool being cached I believe.

1 Like