stm / [WIP] ZFS commands

Last active 3 hours ago

Like 0

Commands to create new ZFS pool and datasets on Linux

Revision ed082929fea970180275e589cf56fabad1bc9301

zfs.txt Raw
1# RAIDZ2 pool creation
2# ashift=12: 2^12 = 4KiB sectors, for certain NVMe drives use 13 (8KiB)
3# autotrim: TRIM for SSDs
4# encryption=on: Defaults to aes-256-gcm (since 0.8.4)
5# pbkdf2iters=700000: Double the default PBKDF2-SHA1(?) iterations, default is 350000
6# dnodesize=auto: Is supposed to be used on systems running SAMBA with xattr=sa
7# compression=on: Defaults to lz4 (when lz4_compress is enabled, see `zpool get feature@lz4_compress ${NAME}`)
8# normalization=formD: Decomposed Unicode normalization, implies utf8only=on, so UTF-8 filenames only
9# longname=on: Allows filenames up to 1023 bytes, default is off meaning 255 bytes (supported since 2.3.0)
10# direct: Unset, defaulting to always (since 2.2.0)
11# !!! recordsize: Unset, defaulting to 128KiB
12#
13#
14# Sources:
15# https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Trixie%20Root%20on%20ZFS.html#step-2-disk-formatting
16# https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html#compression
17# https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html#direct
18# https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html#dnodesize
19# https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html#longname
20# https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html#pbkdf2iters
21#
22#
23zpool create \
24 -o ashift=12 \
25 -o autotrim=on \
26 -O encryption=on -O keylocation=prompt -O keyformat=passphrase \
27 -O pbkdf2iters=700000 \
28 -O acltype=posixacl -O xattr=sa -O dnodesize=auto \
29 -O compression=on \
30 -O normalization=formD \
31 -O relatime=on \
32 -O longname=on \
33 -O canmount=off -O mountpoint=/${NAME} \
34 ${NAME} ${DISK1..N} raidz2
35
36
37# Dataset creation
38TODO