- DDT (Deduplication Table)
- The on-disk index that maps every deduplicated block to its checksum and reference count. It is read on demand rather than loaded up front, and holding it in ARC costs roughly 1 to 5 GB of RAM per 1 TB of deduplicated data. A host without that RAM still imports the pool; the table then loads from disk over time.
- ARC (Adaptive Replacement Cache)
- The primary ZFS read cache, held in system RAM. It stores recently and frequently used blocks, and it is where the DDT is cached once read. ARC size is bounded by
zfs_arc_max; when the table does not fit, dedup lookups fall back to on-demand disk reads and a dedup-heavy pool stays slow for a long time after import. - SLOG (Separate ZFS Intent Log)
- A dedicated fast device that holds the ZFS Intent Log for synchronous writes only. It is not where your data lives. Losing it costs only the in-flight sync writes since the last transaction-group commit; the pool still imports with
zpool import -m. - Uberblock
- The root pointer for a transaction group, recording the TXG number, a timestamp, and the MOS root. ZFS keeps a ring of them in every vdev label, and how many slots that ring has depends on the pool's ashift. That ring is what lets you rewind to an earlier valid state.
- Scrub vs Resilver
- A scrub reads all data in the pool and verifies each block's checksum. On mirror, raidz and dRAID vdevs it also repairs any damage it finds. A resilver examines only data ZFS knows is out of date, such as the contents of a replacement device.
- raidz1 / raidz2 / raidz3 Parity Tiers
- ZFS parity vdev levels. raidz1 tolerates one drive lost per vdev, raidz2 tolerates two, and raidz3 tolerates three. Exceeding a vdev's parity count marks that vdev FAULTED and takes the pool offline, which is when forensic image-and-reconstruct work begins.
- dRAID (Distributed RAID)
- A declustered parity vdev introduced in OpenZFS 2.1, described by a config string such as
draid2:4d:11c:1s (parity level, data devices per group, total children, distributed spares). Unlike RAIDZ with a separate whole-drive hot spare, a dRAID distributed spare is spare capacity sliced and interleaved across every child; a rebuild resilvers into those slices rather than onto one replacement disk. Fault tolerance is still the parity level.