ZFS data recovery

ZFS (Zettabyte File System) is a proprietary filesystem originally designed by SUN Microsystems and then moved to the OpenZFS project. Enterprises typically use ZFS on their big storage servers while home users create ZFS based home NASes in the TrueNAS environment (formerly known as FreeNAS). A couple of years ago some NAS vendors started using ZFS filesystem in the NAS devices, for example QNAP Systems, Inc. offers a wide range of ZFS-based. ReclaiMe Pro can recover data from QNAP devices TVS-x72XT, TVS-x72X, TVS-hx74, TS-x73A series, TVS-675, and some other working under QuTS hero operating system.

Unlike a typical filesystem, ZFS is a combination of filesystem and logical volume manager allowing to combine different storage devices, be it a hard drive or a disk image file, into a single storage with various levels of redundancy. By default, all metadata records are duplicated while user data is stored according to the set redundancy level.

ZFS is a copy-on-write filesystem meaning that every metadata modification is done by creating a new copy of metadata records instead of modifying an existing one.

ZFS pools

ZFS volume manager operates with storage devices which are combined in a ZFS pool. The pool is then used to create one or more filesystems (called datasets) or block devices. There are several types of ZFS pools which mostly differ in redundancy level:

  • Single disk — no redundancy; however, metadata records are still duplicated over different sectors of the disk.
  • Stripe pool — similar to a regular RAID0 in which data blocks are distributed over the member disks. Metadata records are duplicated over the pool member disks.
  • Mirror pool — metadata and user data are stored in two copies.
  • RAIDZ1 pool — similar to a RAID5 where a parity function is calculated over the data blocks. However, there are significant differences between RAIDZ and RAID5: block size can vary on the same pool from a sector to several kilobytes. The number of blocks in a row is also not a constant and depends on the number of data blocks involved in a particular single write operation.
  • RAIDZ2 pool — similar to a RAID6 and has the same differences from a traditional RAID6.
  • RAIDZ3 pool — has no analogues among traditional RAID arrays. Allows to survive triple disk failure.

ZFS recovery with ReclaiMe Pro

ReclaiMe Pro can recover data both from slightly and severly damaged ZFS pools. In case of destoryed or accidentally formatted ZFS pools, ReclaiMe Pro can detect ZFS pool parameters and then extract all possible data sets. Read more at the damaged ZFS pool recovery page.

ReclaiMe Pro is capable of reconstructing ZFS volumes from different ZFS pools and then recovering data by parsing ZFS metadata on the reconstructed volumes. ReclaiMe Pro supports single disk pools, stripe pools, mirror pools, RAIDZ, RAIDZ2, and and RAIDZ3 pools and capable of ZFS recovery in case of missing disk configurations (mirror and RAIDZ/2/3 pools).

System requirements

  • Windows 7, Windows 8, Windows 10, Windows 2008 Server, Windows 2012 Server, Windows Server 2016, Windows Server 2019
  • x64 CPU, a core for every two drives
  • Memory: minimum is 8 GB. Note that it is the absolute minimum memory requirements; generally, the more memory the better.
  • Stable Internet connection

To recover data from a slightly damaged ZFS volume you need to run ReclaiMe Pro software and check ZFS under the Target partition types. Once the ZFS volumes is virtually reassembled, select it and then specify ZFS as a target filesystem for recovery.

Volume color

If all the logical and physical blocks are available, ZFS volume is displayed in black.

Amber means that the ZFS volume has missing disk(s) but still can be reconstructed based on redundancy (mirror or parity).

Red means that the ZFS volume is not readable. In most cases, you should not attempt recovery on this storage device.

Recovering data from a ZFS volume in ReclaiMe Pro.

All the steps on video