Reading time: 1 min
At pool creation, ashift=12 should always be used, except with SSDs that have 8k sectors where ashift=13 is correct.
sudo zpool create -f -o ashift=12 \
-O acltype=posixacl \
-O atime=off \
-O relatime=on \
-O xattr=sa \
-O dnodesize=legacy \
-O normalization=formD \
-O mountpoint=none \
-O canmount=off \
-O devices=off \
-R /mnt \
-O compression=zstd \
-O encryption=aes-256-gcm \
-O keyformat=passphrase \
-O keylocation=prompt \
-O recordsize=16K \
zp0 /dev/disk/by-id/xxx
echo 3 > /sys/module/zfs/parameters/zfs_vdev_async_write_min_active # default: 2
echo 0 > /sys/module/zfs/parameters/zfs_resilver_delay # default: 2
echo 0 > /sys/module/zfs/parameters/zfs_scan_idle # default: 50
echo 512 > /sys/module/zfs/parameters/zfs_top_maxinflight # default: 32
echo 8000 > /sys/module/zfs/parameters/zfs_resilver_min_time_ms # default: 3000
Show statistics of a virtual device vdev0 every 5min (use zpool iostat -v
to get a vdev):
zpool iostat -Td vdev0 300