ZFS special-vdev recovery

A ZFS special vdev is permanent pool storage—not a disposable metadata cache.

The ZFS special allocation class can hold metadata, indirect blocks, deduplication tables, and optionally small file blocks. If a nonredundant special device or all sides of its mirror fail, the entire pool can become unavailable even when normal data vdevs are healthy.

Understand the symptom

Blocks allocated to the special class exist only in that top-level vdev.

WHY

What is happening

A special vdev is not L2ARC. Its block pointers and payload participate in the pool's normal tree, so redundancy must be at least as strong as normal vdevs. Recovery maps pool labels, vdev GUIDs, allocation classes, transaction groups, and device health before attempting a read-only import or member reconstruction.

What you may see

Symptoms that change the recovery path.

01

Pool will not import after NVMe failure

The missing device may be a top-level special vdev required to traverse metadata.

02

Special mirror is degraded

One side failed and the surviving member may be the only copy of special-class blocks.

03

Directories or scrubs fail

Metadata and indirect blocks on the special class are unreadable or inconsistent.

04

Small files are affected disproportionately

Datasets may have directed small blocks to the special class.

Protect the source

Actions that can make the situation worse.

01

Treating it as cache can lose the pool

Removing a failed special device is not equivalent to removing L2ARC.

02

Resilver stresses the last copy

A weak surviving member can deteriorate under full reconstruction load.

03

Wrong GUID substitution changes topology

A similar device or stale label does not prove membership in the same pool generation.

Do this now

Safe steps before evaluation.

01

Stop pool writes and retries

Disable services, scrubs, resilvers, imports, and automatic replacement actions.

02

Record full topology

Save zpool status, import output, device paths, GUIDs, serials, bay order, and special_small_blocks settings.

03

Preserve every device

Include failed and replaced special members plus normal, log, cache, and spare devices.

04

Image unstable members

Acquire weak special devices before resilver or extended traversal.

NEPFOSYS process

How a data-first evaluation proceeds.

01

Allocation-class mapping

NEPFOSYS identifies special vdev membership, redundancy, labels, and pool transaction state.

02

Member stabilization

Readable source devices are imaged and candidate mirrors compared before pool reconstruction.

03

Read-only data extraction

The pool is evaluated without production writes and priority datasets are verified from protected copies.

A clear next step

Preserve the original device before another repair or recovery attempt.

Start a case with the exact symptoms, incident timeline, prior attempts, encryption details, and the files that matter most. NEPFOSYS will route the case to the appropriate DFW intake or nationwide mail-in path.

Start with a case review

Questions, answered

What customers ask before starting.

Is a ZFS special vdev a cache?

No. It permanently stores unique metadata, indirect blocks, dedup data, and possibly small file blocks.

Can I import without a missing special vdev?

If the pool lost a required top-level special vdev without another valid replica, normal import may be impossible.

Should special vdevs be mirrored?

Yes. OpenZFS advises redundancy at least equal to the normal vdevs because losing the special vdev can lose the pool.

DFW local · Nationwide mail-in

Protect the device. Start with the facts.

Start my recovery case