Taking work now — the first look is freeWhole sets posted in from anywhere in the UK, or handed in at ten drop-off pointsQuicker still, give us a ring:0800 6890668
RARRAID Array Data Recovery 0800 6890668 Price my job
RAR / Whatever it is saying now / ZFS pool FAULTED: insufficient replicas

FAULTED · DEGRADED · UNAVAIL · SUSPENDED · insufficient replicas · cannot import · zpool import -F · -X · TrueNAS

ZFS pool FAULTED: insufficient replicas. A vdev past its parity, or a member the pool cannot find. The pool is careful; -F is not.

ZFS reports a pool as ONLINE, DEGRADED, FAULTED, UNAVAIL or SUSPENDED, and the vdevs and devices inside it likewise. DEGRADED means a vdev has lost a member and still has parity to read from. FAULTED with insufficient replicas means a vdev has lost more members than its parity allows, and because a pool needs every top-level vdev, the pool is offline. UNAVAIL and cannot import: one or more devices is currently unavailable mean a member is missing or its labels cannot be read. SUSPENDED means I/O stopped after too many errors, usually a power event. And corrupted data on a pool that is otherwise healthy means both copies of a block failed their checksum, which is a per-file job. What arrives here is TrueNAS, Proxmox and Ubuntu pools with a vdev one member past its parity, pools that would not import after a power cut, and pools somebody rewound with zpool import -F on the originals, which discards the newest transaction groups for good. A pool of two to four members is £500 + VAT upwards after the free look, fixed in writing; larger pools from £1,250 + VAT.

Free first lookOne fixed figure in writingNo data, no bill on most jobsReturn postage paid

Rather talk it through? An engineer answers the bench line
0800 6890668

Do not run zpool import -F, -X or -T on the originals, and do not zpool clear or replace a device while a survivor shows checksum errors. The rewind options discard the newest transaction groups by writing; a resilver reads every allocated block of every survivor. Copy out zpool status and zpool import (with no flags), power down, and send every member.

What each state means, what the labels hold, and what -F does.

Every ZFS device carries four labels, two at its start and two at its end, and each label holds the pool's configuration and a ring of 128 uberblocks, one per transaction group, each pointing at the root of the pool as it was at that group. On import, ZFS reads the labels, checks that the devices it finds match the configuration, and opens the pool at the newest uberblock every device agrees on. A vdev with more members missing than its parity allows cannot be reconstructed, and because every top-level vdev holds part of every dataset, the pool is FAULTED with insufficient replicas. A device whose labels cannot be read is UNAVAIL, and the pool cannot import until it is found or the vdev can do without it.

zpool import -F is the rewind. It tells ZFS to try earlier uberblocks until it finds a transaction group that opens cleanly, and then to open the pool there, discarding every transaction group after it. -X extends the search further back; -T names a group. On a pool where the newest few groups were torn by a power cut, that is often exactly right, and the loss is a few seconds of writes. On the originals, the discarded groups are gone once the pool is written to. On images the same rewind is reversible, and the bench tries every candidate uberblock read-only before choosing.

Two dated facts belong here. OpenZFS 2.2.1, released 22 November 2023, disabled block cloning by default after a data-corruption bug was found in 2.2.0; OpenZFS 2.2.2 and 2.1.14 on 30 November fixed the underlying fault, an incorrect dirty-dnode check, which The Register reported might go back to 2006. A pool that ran 2.2.0 with block cloning enabled may hold files that are silently wrong and pass no checksum, and a pool on any version may have met the older bug under rare conditions. The other is the vdev rule: losing any top-level vdev loses the pool, so a mirror pair added to a RAID-Z2 pool for space is a two-drive way to lose the lot.

What it says, and what it means.

Describe yours to us →
What you see The usual reason Where that leaves you
DEGRADED; one device FAULTEDA vdev lost a memberImage the weak drives before resilvering
FAULTED: insufficient replicasA vdev past its parityPower down; every member imaged; opened from images
cannot import: one or more devices is currently unavailableA member missing or labels damagedFind it; do not force; labels read from the image
SUSPENDED after a power cutI/O stopped after errorsRead-only import on images at the newest consistent uberblock
corrupted data; permanent errors in filesBoth copies failed checksumPer-file recovery from images; snapshots checked
-F already run; files missingRewound and writtenAssessed for what the rewind discarded

From the parcel arriving to your files going back.

Work we have closed →
01

Logged the day it lands, and the first look costs nothing Free

A case number goes on the parcel and a number on every member the day it is opened, matched to the slot you wrote on it. Each member goes on the imager its interface needs, never on a controller, and its metadata is read before a sector is: the level, the order, the stripe size, the event counts that say which member is current and which dropped out first. An engineer settles what has happened to the set and how much of it can honestly be read back. Back to you come two things together: a straight note of what is liftable and what is not, plus one figure, fixed and written down. Accept it, or decline and owe us nothing.

Nothing to pay for lookingA single figure, put in writingNo rebuilds, no imports, no initialise
02

Every member imaged, including the one that failed first

Every drive in the set is imaged sector by sector, weak areas last, on hardware that controls every retry, with a map of what could not be read kept for each. Members with failed heads go to the clean bench first; that is the drive site's work and the same bench does it. The drive that dropped out first is imaged too, because it still holds every stripe written before it dropped, and a rebuild that stalled part-way never reached them.

Sector by sector, weak areas lastThe first-dropped member included
03

The geometry, from the metadata or from the parity

A ZFS pool is opened from images, read-only, by reading all four labels on every member, choosing the newest uberblock every member agrees on, and walking the block pointer tree from it with every checksum verified. Where the newest groups are inconsistent, earlier uberblocks are tried on the images until one opens cleanly, which is the rewind that -F does destructively on the originals. Snapshots are read where they hold what the live dataset lost.

Metadata first, parity secondOrder, stripe, rotation, offset
04

Assembled in software, and repaired on the virtual volume

The set is put together from the images in software, with nothing written to any of them: the current members in, the stale member used only to fill holes a survivor could not give. The file system is checked and repaired on a copy of the virtual volume, VMFS and CSV volumes opened and the virtual machines' disks extracted, databases repaired where they need it. The originals are not touched again.

Nothing written to the imagesVirtual machines and databases opened
05

You see the file list before you pay

What was recovered is listed for you first, and only then does a bill exist. Approve the list and it is invoiced; turn it down and it is not — and where nothing has come back, most jobs carry no charge at all. Recovered data travels home on fresh media bought in for your job, with the postage at our end. Your case is not closed until you have opened the files on a machine of your own.

No charge until you accept the figureFresh media, supplied with the job5–10 days at the bench

From the bench

  • zpool import with no flags is read-only and tells you what ZFS can see. Copy its output before anything else.
  • -F discards transaction groups by writing. The right rewind is chosen on images, where every candidate can be tried.
  • Any top-level vdev lost is the pool lost. A single-disk or mirror vdev added for space is the weakest link.
  • Say the OpenZFS version and whether block cloning was ever on; 2.2.0 pools are checked for the November 2023 bug.

Tonight, in this order: stop writes and do not reboot repeatedly; press nothing the controller offers (F2, Import, Clear, Force online, Rebuild); photograph the screen and label the slots; export the log without changing state (PERC TTYLOG or storcli show all, an SSA diagnostic report, mdadm --examine on every member, zpool import with no flags, Get-VirtualDisk); power down and send every member, plus the controller if it was replaced or holds a key. The first-response page has the reasons.

One job, followed all the way through.

UK · RAR-2026-0621JOB LOGGED ✓

A Proxmox host's six-drive RAID-Z2 pool, SUSPENDED after a power cut, then FAULTED with insufficient replicas when two devices came back UNAVAIL, and an owner who had read about -F and stopped short of typing it

All six drives came in. The two UNAVAIL devices had damaged labels at the start of the disk from the torn writes; their end labels were intact and were read from the images. The newest uberblock every member agreed on was two transaction groups behind the newest on the survivors; the pool was opened read-only from the images at that group, the virtual machines' zvols and the datasets copied out, and the two lost groups amounted to seconds of writes.

99.99% of the pool recovered8 days here, and back by post
Illustrative example — replace with a genuine case

What helps, and what harms.

Do this much first

  • Copy out zpool status -v and zpool import with no flags
  • Power down and label the slots
  • Send every member, and any cache or log device
  • Say the OpenZFS version and the host

What sets us back

  • zpool import -F, -X or -T on the originals
  • zpool clear to make the error go away
  • Replacing a device and resilvering with a survivor showing errors
  • Adding a single-disk vdev to a pool for space

Questions answered before you commit.

My pool says FAULTED, insufficient replicas. Is the data gone?

Not usually. A vdev has lost more members than its parity allows, and those members are usually imageable. The pool is opened from images at the newest transaction group every member agrees on.

Should I try zpool import -F?

Not on the originals. It rewinds the pool by discarding the newest transaction groups, and on the originals they are gone. On images the same rewind is reversible and every candidate can be tried.

What does one or more devices is currently unavailable mean?

That a member is missing or its labels cannot be read. Find the device; if its start labels are damaged, its end labels usually survive and are read from the image.

What does it cost?

£500 + VAT upwards for a pool of two to four members after the free look, fixed in writing; larger pools from £1,250 + VAT.

How long does it take?

5–10 days at the bench for a small pool; 10–15 days at the bench for a large one.

Nothing gets worse while it is powered down.

Looking at it is free. Back comes a list of what opened and what did not, together with a single price to finish, set down in writing while you are still free to say no. Until that list reaches you, leave the server off and the drives in their slots.

0800 6890668