A couple of weeks ago, at work, sysadmin guys were working on some ZFS issues. They were talking about ZIL and ARC, and I had no idea what was that.
I always wanted to run ZFS, so I think early 2019 I configured my laptop to use ZFS, not in the root partition but in a different partition. I had to configure my Debian Testing to support ZFS (I dont remember if it was very difficult) and then backup some data to make room for my new ZFS partition.
For ZFS basics, you can follow the link below but there are many good tutorial searching in your favourite engine:
In my case, it is a laptop, so I just have one pool that is based on my LV “storage”. I think this was the command I used:
#zpool create -o mountpoint=/home/username storage /dev/mapper/laptop--vg-storage
That would give me the following:
# zpool status pool: storage state: ONLINE status: Some supported features are not enabled on the pool. The pool can still be used, but some features are unavailable. action: Enable all features using 'zpool upgrade'. Once this is done, the pool may no longer be accessible by software that does not support the features. See zpool-features(5) for details. scan: scrub repaired 0B in 0 days 00:10:39 with 0 errors on Sun Jan 12 00:34:40 2020 config: NAME STATE READ WRITE CKSUM storage ONLINE 0 0 0 laptop--vg-storage ONLINE 0 0 0 errors: No known data errors #
And that would be mounted where I requested
$ df -hT | grep zfs storage zfs 176G 73G 103G 42% /home/username/storage
This is too basic, in most cases your will want to have a kinf of RAID. But again, this is a simple laptop. As well, you can configure snapshots (useful if you want to have rollback a server upgrade that involves a huge amount of data) and other performance parameters (as per document below):
So once you have your ZFS configured and mounted you can work with it as usual.
So back to the ZIL and ARC. Based on the links below:
- ZFS Intent Log, or ZIL, to buffer WRITE operations.
- ARC and L2ARC which are meant for READ operations.
In my laptop, I dont have any space left to play with this, so I can only check in my employer systems.