Adding ZFS Intent Log/SLOG and L2ARC for SoftNAS Pools

Symptoms

The following guides when to add a reading log or a written log for the Softnas pools.

Purpose

The following guides when to add Write Log (Intent Log/SLOG) and  Read Cache (L2ARC) to the Softnas pools.


The KB article Rewrites Configuring the Read Cache and Write Log contains the instruction on how to add Read ad Write cache to the Softnas pools.

Adding Write Log recommendation

ZFS intent log can be called ZIL or write log but when you assign a separate disk device as an intent log then it's also called SLOG or separate intent log. Many people get confused and consider it as a write cache that pushes data to the pool. But the ZFS write log works differently. The intent log only gets utilized when there are synchronous write requests to the pool. Synchronous write requests only improve speed in those situations when the write to the actual storage array would take longer than writing to the ZIL, and it doesn't actually write any quicker it only returns from the synchronous write request quicker (so the application thinks stuff is written to disk quicker, but the actual write throughput is not improved on the whole). That means the sync writes are not committed to the main storage immediately; it just means they’re buffered on disk in a way that will survive a crash if necessary.

By default both NFS and Samba writes are asynchronous. That means if you mount a Softnas NFS or CIFS share to a client the write log will not be utilized. The intent log doesn't have to be very big and it can be a few gigabytes. ZIL can be very useful for databases where writes are synchronous.


Adding L2ARC or Level 2 ARC or Read Log recommendation

Adaptive Replacement Cache is called ARC in short and when you use a separate disk device then it's called Level 2 Adaptive Replacement Cache. The L2ARC sits in-between memory (RAM) and disk storage pool and L2ARC works like an extension to the ARC for data recently evicted from the ARC. Very good candidates for housing the L2ARC are solid-state disks (SSDs). It is not recommended to add L2ARC for the Softnas nodes which have lower memory like 8 GB as the metadata gets stored in the memory for the l2arc and performance may go down.