Home πŸ‡ΊπŸ‡¦ Support Ukraine

Zfs

Created: 2021-10-14

Reading time: 1 min


Creating a pool

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

Faster resilvering

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

Stats

Show statistics of a virtual device vdev0 every 5min (use zpool iostat -v to get a vdev):

zpool iostat -Td vdev0 300