User Tools

Site Tools


zfs:main

ZFS on XigmaNAS

ZFS (previously Zettabyte File System) is a Enterprise-grade and highly scalable advanced filesystem. ZFS is a fundamentally different file system because it is more than just a file system.

ZFS combines the roles of file system and volume manager, enabling additional storage devices to be added to a live system and having the new space available on all of the existing file systems in that pool immediately. By combining the traditionally separate roles, ZFS is able to overcome previous limitations that prevented RAID groups being able to grow. Each top-level device in a zpool is called a vdev, which can be a simple disk or a RAID transformation such as a mirror or RAID-Z array. ZFS file systems (called datasets) each have access to the combined free space of the entire pool. As blocks are allocated from the pool, the space available to each file system decreases. This approach avoids the common pitfall with extensive partitioning where free space becomes fragmented across the partitions.

Self-healing data protection is built-in natively to XigmaNAS and ZFS. This gives the file system the ability to automatically recover from drive errors and failures without the loss of data/corruptions of data.

Included ZFS features:

(These features are baked into ZFS)

  • Disk Management - disk(s) assigned to ZFS pools do not need to be micromanaged by other tools
  • ZFS Managed Software Raid - stripe, mirror, or raidz (or, some combination/variation like Striped-Raidz)
  • Datasets - child filesystems of the pool, no special partitioning required.
  • Volumes - virtual disks created from raw storage of the pool, no special partitioning required
  • Compression - lz4, lzjb, gzip, gzip-[1-9], zle, or none
  • Dedup - Identical blocks are not stored more than once. VERY HIGH MEMORY COST, AND SPEED IS SACRIFICED, PLUS OTHER HAZARDS. NOT RECOMMENDED, but available.
  • Snapshots - read-only reference to a dataset or volume as of a specific moment in time
  • Cloning - replica of a dataset/volume created from a snapshot

ZFS Structural Elements:

  • vdev - structural elements that make up a pool
  • Pool - the nexus that presents the underlying storage devices
  • Dataset - a child filesystem of the pool
  • Volume - a child of the pool that acts as a virtual block device
  • Snapshot - a point-in-time reference to the state of a dataset or volume
  • Clone - a new dataset or volume that starts with a snapshot as its template
Link Source Notes
FreeBSD zpool man page freebsd.org for creation, manipulation, and destruction of pools
FreeBSD zfs man page freebsd.org for creation, manipulation, and destruction of datasets, snapshots, clones, and volumes
FreeBSD zdb man page freebsd.org ZFS debugger - useful for checking pool and vdev parameters
FreeBSD ZFS wiki freebsd.org
ZFS Tuning Guide wiki.freebsd.org
ZFS snapshot, clone, volume googlux.com
Dedup details blogs.oracle.com In case you're curious about dedup. Dedup is NOT recommended
Migrating ZFS pools docs.huihoo.com
ZFS Compression - A Win-Win blogs.oracle.com
ZFS: Read Me 1st nex7.blogspot.com
Fixing the 4k problem blog.monsted.dk local mirror
zfs/main.txt · Last modified: 2024/07/16 21:21 by zoon01

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki