Free data destruction free analysis request →
Services Large volumes
+32 (0)800 11 400 free analysis request

Enterprise and datacenter

Recovery of very large volumes

ZFS pools, large NAS and SAN volumes, and file systems of hundreds of terabytes. With in-house software that splits the recovery into three processes.

Why large volumes are different

A volume of hundreds of terabytes cannot be treated like one big hard drive. The data is spread over dozens of drives, the file system keeps its structure in trees and references that are themselves scattered across the volume, and with copy-on-write systems such as ZFS and Btrfs several versions of the same structure often exist side by side.

Ordinary recovery software tries to read and understand such a volume in one go. At this size it runs into limits of time, memory or the amount of intermediate results.

Which systems this covers

File systems and volumes that grow to hundreds of terabytes, such as:

  • ZFS pools (TrueNAS, Solaris, Proxmox and others), including RAID-Z1, Z2 or Z3.
  • Btrfs, XFS and ext4 on large Linux servers and NAS systems.
  • NTFS and ReFS on Windows servers.
  • Large volumes on SAN storage and in virtualised environments.

Not sure whether your system qualifies? Contact us with the details of your setup.

Our three-tier approach: three processes

That is why we developed our own software, which splits the recovery into three consecutive processes:

The three processes Find, Link and Save and the coordinator in the monitor
The three processes and the coordinator in the monitor, during linking and saving. Example with simulated data.

Process 1: Find

We scan the volume for the building blocks of the file system: nodes, fragments and snippets of metadata and data, wherever they are.

Process 2: Link

The pieces found are mapped, chained, stitched and sorted (mapping, chaining, stitching, sorting) until the structure of folders and files adds up again.

Process 3: Save (consolidate)

The reconstructed files are consolidated and transferred to the target storage.

Why this way: by splitting the recovery into three processes, no single process has to hold the whole volume at once, and each one delivers its own result that the next builds on.

The software: Three-Tier Recovery

The three processes run in our own software, Three-Tier Recovery. A coordinator distributes the work and keeps the keys found in memory; the actual processing is done by workers, per process: Find workers scan the volume, Link workers join the pieces together, Save workers write out the files.

A monitor shows the progress of a case at any moment:

Three-Tier Recovery monitor while scanning a ZFS pool
The full monitor during scanning (process 1). Example with simulated data: a ZFS RAIDZ2 pool of 24 × 18 TB, with 12 Find workers on 3 nodes.
  • per process, the progress, the throughput and how many workers are active;
  • the memory use of the coordinator and the number of keys and operations per second;
  • the totals: scanned, structures found, files linked, data read and written, checksums verified and repaired, and read errors;
  • per worker, the status, memory and CPU use, throughput and errors.
Technical: tuning during the job

Performance parameters such as the scan window, the batch size, the maximum read size and the number of link threads can be changed while a job is running, and a job can be paused. That way we match the load to the condition of the drives and the machines available.

For file systems with checksums, such as ZFS, the software verifies the checksums of the data read and keeps count of how many blocks were fine and how many were repaired.

Spread across several machines (nodes)

The workers do not have to run on one machine. Scanning is spread across several nodes, each processing part of the volume. For a volume of hundreds of terabytes we deploy as many workers as the case needs, and monitor each one separately.

Overview of the workers per node during scanning
Workers during scanning: Find workers spread over three nodes, while Link and Save wait. Example with simulated data.

ZFS in particular

ZFS never overwrites existing data (copy-on-write); it writes new versions and points to them from a tree of block pointers. At the top is always the most recent state of the pool. If that is damaged, for example by a failed drive, an import error or a power cut, the pool often refuses to import, while the data itself is still there.

Because ZFS does not immediately overwrite older versions of its structure, a recovery can often fall back to an earlier, consistent state. That is exactly the kind of search the first process is for.

Technical: labels, uberblocks and transaction groups (TXG)

Every disk in a ZFS pool has four labels: two at the start and two at the end. Each label holds a ring of uberblocks, and each uberblock points to the state of the pool after a transaction group (TXG). The active state is the valid uberblock with the highest TXG number.

Because ZFS is copy-on-write, the blocks that older uberblocks point to often remain untouched for a while. An older, consistent TXG can thus become the starting point of the reconstruction.

Multi-layer recovery

Something different from the three processes, but often in the same case: setups where data sits in several layers stacked on top of each other. For example:

  • partitioning
  • the native file system of the disk or volume, possibly with deduplication
  • virtualisation, such as VMware or Hyper-V
  • virtual disk images (such as VMDK or VHDX), often scattered in fragments
  • the file system inside that virtual disk (guest file system), possibly again with deduplication
  • application files, such as an Exchange database, which may themselves be fragmented

If one of those layers is damaged, we use the information from the other layers to reconstruct it. For example, the file system inside a partition reveals where that partition started and ended, the structure inside a virtual disk helps put its fragments in the right order, and the internal layout of a database makes it possible to join separate pieces back together.

All about multi-layer recovery →

Technical: examples of help from other layers

Partitioning: GPT keeps a backup copy of the header and partition table at the end of the disk. And even without a partition table, the boot sector or superblock of a file system reveals where a partition starts.

Deduplication: the data is stored as unique chunks, with an index that determines which chunks together form a file. If that index is damaged, the structure of the layer above, such as a virtual disk or a file system, helps to reorder the chunks.

Application files: an Exchange database (ESE) consists of fixed-size pages, each with its own checksum. That helps to recognise them among other data.

What to do

Do

  • Stop writing to the pool or volume.
  • Keep the output of management commands such as zpool status and zpool import, and the last messages.
  • Note the layout: number of drives, RAID level or vdev layout, and any cache and log devices.
  • Find encryption keys or passphrases if the pool or volume is encrypted.

Don't

  • Do not try forced imports or repair options that write to the drives.
  • Do not create a new pool or volume on the same drives.
  • Do not replace drives or start a rebuild before the cause is clear.

How a case runs

  1. Analysis. We look at the setup, the condition of the drives and what happened, and draw up a plan.
  2. Copies. We make a full copy of every drive; physically damaged drives are repaired first in our Class 1 lab.
  3. Three processes. Find, link and consolidate, with our own software.
  4. Check. You see the list of recovered files before you pay.
  5. Delivery. The data is transferred to storage that is large enough, supplied by you or by us.

If the data may not leave the building, the recovery can also take place on your premises, with our mobile cleanroom cabinet.

Why it works here

More about our lab →
  • Nearly 20,000 donor drives The right part is usually ready.
  • X-ray in-house First see, then act.
  • Rework and reballing Chips removed and refitted safely.
  • Our own software Up to hundreds of terabytes.
  • Mobile cleanroom The device stays in your building.
  • Since 1988 Nearly forty years of equipment and experience.

A large volume that is no longer accessible?

Call us or request an analysis, with the layout of your system and what happened. Together we look at the best approach.