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).
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.
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.
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.
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.
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.