Check out my first novel, midnight's simulacra!

ZFS: Difference between revisions

From dankwiki
No edit summary
Line 1: Line 1:
i like Jim Salter's [https://jrs-s.net/2018/08/17/zfs-tuning-cheat-sheet/ zfs tuning cheat sheet]. lots of good info there, presented in an easily-digestible format.
==zpools==
==zpools==
A ZFS storage pool (zpool) is a collection of devices (vdevs) that provides physical storage and data  replication for ZFS datasets.
A ZFS storage pool (zpool) is a collection of devices (vdevs) that provides physical storage and data  replication for ZFS datasets.

Revision as of 05:00, 26 January 2023

i like Jim Salter's zfs tuning cheat sheet. lots of good info there, presented in an easily-digestible format.

zpools

A ZFS storage pool (zpool) is a collection of devices (vdevs) that provides physical storage and data replication for ZFS datasets.

zpool vdevs

Only disks, partitions, and files can be used as "base vdevs" suitable for aggregation into mirrors and raidzs.

  • Entire disks
    • Partitions (not recommended)
      • Files (strongly not recommended -- only as reliable as underlying filesystem)
  • Mirrors (n-way replication)
  • Raidz{1, 2, 3} (n-way parity)
  • "spare" -- a pseudo-vdev which tracks spare disks
  • Log -- separate-intent log device(s) supporting round-robining and mirroring, but not parity
  • Cache -- a cache device

datasets

A more general concept than filesystems, a dataset is contained within a pool, and bound to a unique path in the ZFS namespace.

  • Filesystems (not quite POSIX)
  • Volume (exported block device)
  • Snapshot (readonly copy of filesystem from some point at time)
    • Available in .zfs/snapshot in the root of the associated filesystem

udev

  • ZFS generates subsystem "bdi" udev events, pointing to devices/virtual/bdi in sysfs

Basic tuning

  • zfs set atime=no
  • zfs set xattr=sa
  • ashift will generally be handled properly, assuming your disk properly exposes its true sector size (check sysfs)
  • Verifying SIMD implementation in 5.x:
    $ cat /sys/module/zfs/parameters/zfs_vdev_raidz_impl 
    $ cat /sys/module/zcommon/parameters/zfs_fletcher_4_impl

See also

  • The growlight system installation tool supports ZFS