Cache for L2ARC, SIL and/or SLOG ?

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

ZILoBeast

New Member
Dec 27, 2017
9
0
1
48
Hello folks,

I want to build a ZFS-Server-NAS with Raid-Z2 and want to stream movies (1:1 Copies of Blu Rays) to Nvidia Shield using Plex / Kodi.
Do I need some Cache for L2ARc, SIL and/or SLOG ?
I have about 32Gigs of ECC RAM for ZFS.

And considering the news that MakeMKV now supports HEVC and UHD discs, what about 4k Streaming ?
Does this justifies the usage of a Cache ?
And what Processor do you consider to use for the NAS (especially for 4k Streaming)?
(I often read something about Transcoding, do I need those mkv files to be transcoded for Plex?)
 

gea

Well-Known Member
Dec 31, 2010
3,157
1,195
113
DE
Zil and Slog are there to protect the rambased write cache against a dataloss due a powerloss. You do not need them.

The rambased readcache (ARC) buffers small random reads (and metadata). With 32GB RAM and single user access you do not need more, does not matter 4k as ZFS performance is far above typical needs.

For multiple users you may want sequential read ahead caching. This requires a L2Arc device with read ahead enabled. You can add this but only on problems without.

Transcoding is only required if your playback device does not support the codec of a file. Typically it is more efficient not to transcode and use a playback device that can play your codecs.
 

BlueLineSwinger

Active Member
Mar 11, 2013
178
68
28
Assuming this is for the home with at most a couple/few simultaneous users.

Cache drives are of no use. You're not going to be hitting the NAS with reads hard enough to merit a L2ARC. Such a cache is good to have when many files are consistently and simultaneously accessed and main storage can't keep up. An SLOG is there to help protect data integrity should a hardware issue (e.g., power interrupt) occur. Something happens when copying over a movie? BFD, restart the copy when the issue is cleared.

To SLOG or not to SLOG: How to best configure your ZFS Intent Log
Get Maxed Out Storage Performance with ZFS Caching

32 GB RAM is more than a home system really needs. You'd have no issues with reducing that to 16 GB.

Plex will transcode if a) the format of the media file is not supported by the client playing it, or b) you need to downsample because of bandwidth concerns, etc. AFAIK, most current devices the Plex client runs on natively support MPEG2 (DVD), plus MPEG4/h.264 and VC1 (Blu-Ray), so that shouldn't be a concern. UHD (HEVC/h.265) files will probably need to be transcoded for most clients. I'd double-check on forums dedicated to Plex, but IIRC the recommendation is one CPU core/thread per active video transcoding client.

For CPU, if all you're doing is serving files then not much is needed. Something Xeon-D or better would do fine. If you're also running the Plex server on the same system (via Docker/jail) and transcoding then I'd think something at the Core/Xeon level would be called for.