Glossary

ARC (Adaptive Replacement Cache)

A memory-based cache in ZFS that stores frequently accessed data. The ARC dynamically adjusts to workload patterns, improving read performance by reducing the need for disk access. It is part of ZFS’s multi-level cache architecture and resides in system memory (RAM).

ashift

A per-vdev setting that tells ZFS the sector size of its devices, expressed as a power of two (ashift=12 means 4 KB). It is fixed when the vdev is created and can never be changed, making it one of the most consequential pool-creation decisions for performance.

Bookmark

A space-free marker recording the point in time a snapshot represents. A bookmark can serve as the source of an incremental zfs send, allowing the original snapshot to be destroyed on the sending side while the receiving side retains its copy.

Boot Environment

A bootable clone of the root filesystem, managed on FreeBSD with bectl. Creating one before a system upgrade lets the machine boot straight back into its previous state if the upgrade goes wrong.

Checkpoint

A pool-wide savepoint created with zpool checkpoint. Unlike a snapshot, it captures the state of the entire pool — including dataset creations, destructions, and property changes — and the pool can later be rewound to it during import.

COW (Copy-On-Write)

A method used by ZFS to ensure data consistency and integrity. When data is modified, ZFS writes new data to a different location before updating the metadata to point to the new block. This ensures that the file system is never left in an inconsistent state.

Dataset

A generic term in ZFS that refers to file system-like structures, including filesystems, snapshots, and volumes (ZVOLs). Datasets can have properties set on them, such as compression or deduplication.

Deduplication

A space-saving technique in ZFS that eliminates duplicate copies of repeating data. When enabled, ZFS compares blocks of data and stores only unique blocks, referencing them for later use. Deduplication is resource-intensive and should be used with caution in large environments.

dRAID (Distributed RAID)

A vdev type that distributes data, parity, and spare capacity across all member disks. Rebuilds write to distributed spare space on every disk in parallel, dramatically reducing recovery time on wide vdevs compared to RAID-Z with conventional hot spares.

Hot Spare

A standby disk assigned to a pool that can automatically replace a failed device. The ZFS Event Daemon (Linux) or zfsd (FreeBSD) attaches the spare when a fault is detected, and a resilver restores redundancy while the failed disk awaits replacement.

L2ARC (Level 2 Adaptive Replacement Cache)

A secondary cache that extends the ARC using fast storage devices like SSDs. The L2ARC stores data that cannot fit in the ARC, improving read performance by caching less frequently accessed data in a faster tier than spinning disks.

Mirror

A redundancy configuration in ZFS where data is written to multiple disks simultaneously. If one disk fails, the other disk(s) can continue to serve the data. Mirrors are ideal for environments where high availability and fast recovery from disk failure are required.

RAID-Z

A variant of RAID designed specifically for ZFS. RAID-Z uses parity to provide data redundancy and is available in different levels:

  • RAID-Z1: Allows one disk to fail without data loss.
  • RAID-Z2: Allows two disks to fail without data loss.
  • RAID-Z3: Allows three disks to fail without data loss.

Raw Send

A form of zfs send (the -w flag) that transmits blocks exactly as they are stored on disk. Encrypted data remains encrypted in transit and at the destination, allowing replication to systems that are never given the encryption key.

Resilvering

The process of rebuilding data on a new or replaced disk in a redundant ZFS pool (such as a mirrored or RAID-Z configuration). When a disk is replaced, ZFS reads data from the healthy disks and writes it to the new disk to restore redundancy.

Scrubbing

A maintenance operation that reads all data in the pool and checks it against stored checksums. Scrubbing detects and corrects data corruption by using redundant copies of data. Scrubs should be scheduled regularly to maintain data integrity.

SLOG (Separate Intent Log)

A dedicated device (typically an SSD) used to store the ZFS ZIL (ZFS Intent Log). This improves performance for synchronous writes, which are flushed to the SLOG before being committed to the main pool. The SLOG speeds up write operations without impacting the performance of the main storage devices.

Snapshot

A read-only, point-in-time copy of a dataset or volume. Snapshots capture the exact state of the data at the time they are taken, allowing administrators to revert to a previous version if needed. Snapshots take up minimal space, as they only store changes to the data.

Special Allocation Class

A vdev class (the special vdev) that stores pool metadata — and optionally small file blocks — on fast devices such as SSDs, accelerating metadata-heavy operations on pools of spinning disks. It holds the only copy of that metadata and must always be redundant.

TRIM

An operation that informs SSDs which blocks no longer hold live data so their controllers can erase and reuse them. ZFS supports on-demand trimming with zpool trim and continuous trimming via the autotrim pool property.

VDEV (Virtual Device)

The basic building block of ZFS storage pools. VDEVs are groups of physical disks that ZFS combines to form a storage pool. Common VDEV types include mirrors, RAID-Z configurations, and individual disks. VDEVs form the underlying structure of a pool.

ZED (ZFS Event Daemon)

A daemon that listens for events from the ZFS kernel module — device faults, checksum errors, scrub completions — and runs scripts (ZEDLETs) in response, most commonly to send email alerts and to activate hot spares.

ZIL (ZFS Intent Log)

A mechanism in ZFS that logs synchronous write operations to ensure data integrity in the event of a crash or power failure. The ZIL is used for temporary storage of write data before it is committed to the pool. For better performance, the ZIL can be offloaded to a SLOG device.

ZFS (Zettabyte File System)

A file system and volume manager originally developed by Sun Microsystems. ZFS is known for its advanced features, including data integrity protection, support for high storage capacities, and features like snapshots, replication, and RAID-Z.

Zpool

The fundamental unit of storage in ZFS, made up of one or more VDEVs. A zpool can consist of various types of VDEVs, such as mirrors or RAID-Z groups, and provides a scalable and flexible storage solution. All datasets, snapshots, and ZVOLs are created within a zpool.

ZVOL (ZFS Volume)

A block storage device managed by ZFS, typically used as virtual disk storage for virtual machines. ZVOLs provide block-level storage that can take advantage of ZFS’s data integrity features, snapshots, and compression.