fachinformatiker-wiki

it's easy when it's here

User Tools

Site Tools


linux:filesystem:zfs

ZFS

zpool list
zpool list <poolname>
zpool status
zpool status -x
zpool status -v <poolname>
zpool iostat
zpool iostat -v
zpool history

Adaptive Replacement Cache (ARC)

Rule of thumb:
2 GB + 1GB Cache per 1 TB Storage

Set Cache Min/Max

cat << 'EOF' > /etc/modprobe.d/zfs.conf
options zfs zfs_arc_min=3221225472
options zfs zfs_arc_max=4294967296
EOF
update-initramfs -u && reboot

Setups

4x NVMe as VM datastore (Hypervisor installed on nvme0n1 and nvme1n1)

zpool create -o ashift=12 -O compression=lz4 -O atime=off -O xattr=sa -O local-datastore-nvme01 mirror /dev/nvme2n1 /dev/nvme3n1 mirror /dev/nvme4n1 /dev/nvme5n1

Parameters

ashift=12              # Aligns to 4K sectors (SSD optimal)
autotrim=on	       # Enables TRIM for SSDs (optional - alternatively create cronjob running during off-peak hours)
compression=lz4	       # Transparent compression, fast
atime=off	       # Disables access time writes
xattr=sa	       # Stores xattrs in inode — good for VMs

by-id

zpool create -o ashift=12 -O compression=lz4 -O atime=off -O xattr=sa local-datastore-nvme01 \ 
mirror /dev/disk/by-id/nvme-SAMSUNG_MZQL23T8HCLS-00A07_S3R14LNUMB3R1 /dev/disk/by-id/nvme-SAMSUNG_MZQL23T8HCLS-00A07_S3R14LNUMB3R2 \
mirror /dev/disk/by-id/nvme-SAMSUNG_MZQL23T8HCLS-00A07_S3R14LNUMB3R3 /dev/disk/by-id/nvme-SAMSUNG_MZQL23T8HCLS-00A07_S3R14LNUMB3R4

Delete ZFS Pool

zpool destroy <poolname>
wipefs -a /dev/nvme2n1 /dev/nvme3n1 mirror /dev/nvme4n1 /dev/nvme2n1
wipefs -a /dev/nvme2n1 /dev/nvme3n1 mirror /dev/nvme4n1 /dev/nvme3n1
wipefs -a /dev/nvme2n1 /dev/nvme3n1 mirror /dev/nvme4n1 /dev/nvme4n1
wipefs -a /dev/nvme2n1 /dev/nvme3n1 mirror /dev/nvme4n1 /dev/nvme5n1

NVMe

Format NVMe with bigger sector size

apt update && apt install nvme-cli

Check column “Fmt”. “+” marks the current format. “Rel_Perf” indicates the higher performance low level formats. The lower the better. 0 being the best.

root@pve01: smartctl -a /dev/nvme4n1
{...}
Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0
 1 -    4096       0         0
{...}

Format the device with bigger sector size. Column “Id” above.

nvme format /dev/nvme4n1 -l 1 --force

Verify the change.

root@pve01: smartctl -a /dev/nvme4n1
{...}
Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 -     512       0         0
 1 +    4096       0         0
{...}

https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Hardware.html#nvme-low-level-formatting

lsblk -d -o NAME,PHY-SeC,LOG-SEC
nvme id-ns -H /dev/nvme4n1 | grep 'LBA'

Misc

Remove orphaned pool

Debian fails to start import service of an orphaned pool.

zpool set cachefile=/etc/zfs/zpool.cache poolname    # set cache file for running pools
update-initramfs -k all -u
reboot

check labels on disks

zdb -l /dev/nvme1n1p1
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.  More information about cookies 
linux/filesystem/zfs.txt · Last modified: by gsys