pacman -S linux-headers
cd /usr/local/src/
git clone https://aur.archlinux.org/zfs-utils.git
git clone https://aur.archlinux.org/zfs-dkms.git
cd /usr/local/src/zfs-utils
makepkg -si
cd /usr/local/src/zfs-dkms
makepkg -si
modprobe zfs
zpool status
tee /etc/modules-load.d/zfs.conf <<< zfs
systemctl enable zfs-mount.service zfs.target zfs-import.target zfs-import-cache.service zfs-zed.service
To load encryption keys
cp zfs-load-key.service /etc/systemd/system/
systemctl enable zfs-load-key.service
zpool create -f -o ashift=12 -m /mnt/lake lake raidz2 ata-ST2000DM008-2FR102_ZFL1SC9C ata-ST2000DM008-2FR102_ZFL1W6NF ata-ST2000DM008-2FR102_ZFL1W6PQ ata-ST2000DM008-2FR102_ZFL1W7T0
zfs set relatime=on lake
zfs create lake/media
# zfs set compression=on lake/textfiles
zfs set quota=200G lake/media
# zfs create -o encryption=on -o keyformat=passphrase lake/media
dd if=/dev/random of=/etc/keys/lake-media bs=1 count=32
chmod 400 /etc/keys/lake-media
zfs create -o encryption=on -o keyformat=raw -o keylocation=file:///etc/keys/lake-media lake/media
sudo cp zfs-load-key.service /etc/systemd/system/
# zfs get keylocation <nameofzpool>/<nameofdataset>
# zfs load-key <nameofzpool>/<nameofdataset> # load key for a specific dataset
# zfs load-key -a # load all keys
# zfs load-key -r zpool/dataset # load all keys in a dataset
# zfs mount <nameofzpool>/<nameofdataset>
zpool scrub lake
systemctl enable [email protected]
zpool set autotrim=on lake