Recovery
Hard disk and SSD HDD, SSD, external drives, flash cards RAID, NAS & SAN All levels, all controllers, virtualisation Smartphones and tablets iPhone, Android, iPad, Huawei Tapes LTO, DAT, DLT and older formats
Access after signing in.
EN · RU · ZH · ES
Enterprise and datacenter
Data rarely sits directly on a disk any more. It lives in a database, inside a virtual disk, on a deduplicated volume, on a RAID. If one layer is damaged, we use the other layers to reconstruct it.
In a modern server environment every layer is a container for the next: the RAID provides a volume, the volume gets partitioning and a file system, that file system holds virtual disks, those virtual disks contain another file system, and on it sit the files of an application, such as an Exchange or SQL database.
Each layer interprets the bytes of the layer below. If one layer is damaged, everything above it becomes unreadable, even though the data itself is still fully there. The task is then to rebuild the damaged layer so that the layers above make sense again.
A damaged layer rarely means the data above it is lost. Usually it is the key to read it that is missing, not the content.
| Layer | Examples | What often goes wrong |
|---|---|---|
| Storage and RAID | Drives, RAID controller, NAS, SAN | Failed drives, lost RAID configuration |
| Partitioning | MBR, GPT, LVM, Storage Spaces | Overwritten partition table, disk initialised by mistake |
| Native file system | NTFS, ReFS, ext4, XFS, ZFS, Btrfs, VMFS | Damaged metadata, formatting, failed check |
| Deduplication | Windows Server deduplication, ZFS dedup, backup appliances | Damaged chunk store or index |
| Virtualisation | VMware vSphere, Hyper-V, Proxmox and KVM | Deleted virtual machine, broken snapshots |
| Virtual disk image | VMDK, VHDX, qcow2, raw | Scattered across the datastore, damaged header or block table |
| Guest file system | NTFS, ext4, XFS inside the virtual machine | The same problems as any file system |
| Application | Exchange (ESE), SQL Server, Oracle, mail archives | Damaged pages, missing log files |
| Backup | Veeam® (.vbk, .vib, .vrb) and other backup software | Damaged backup chain, backup files on failed storage |
A virtual disk that is not fully allocated in advance (thin provisioned, sparse) keeps a table stating where each block of the virtual disk sits in the file: the grain directory and grain tables for VMDK, the Block Allocation Table (BAT) for VHDX, the L1 and L2 tables for qcow2.
Snapshots and differencing disks (VMware delta files, Hyper-V .avhdx) form a chain: each file holds only the changed blocks and points to its parent. If a link or the reference to it is damaged, the chain has to be rebuilt to get the current state of the disk.
Every layer contains, deliberately or not, information about the layers around it. We use it in three directions:
GPT keeps a backup copy of the header and partition table at the end of the disk. NTFS keeps a copy of the boot sector at the end of the volume, and a partial copy of the MFT (MFTMirr). ext4 and XFS keep copies of their superblock spread across the volume.
SQL Server uses 8 KB pages, with the file and page number in the header. Exchange (ESE) has used 32 KB pages since Exchange 2010, each with its own checksum. Such signatures make it possible to find pages among other data.
Deduplication stores each unique piece of data (chunk) only once. A file is then no longer a continuous run of blocks, but a list of references to chunks in a shared chunk store. With Windows Server deduplication, the files remain visible as references (reparse points), while their content lives in the chunk store.
If the index or chunk store is damaged, the files still seem to be there but will not open. Yet the chunk store holds the full content. The layer above, such as a virtual disk with a recognisable structure, then helps put the chunks back in the right order.
Often the backup itself is the last layer that matters: the backup files of Veeam®, Backup Exec, Macrium Reflect or other software sit on a NAS, a RAID or a deduplicated volume that failed. We then first recover the storage, then the backup files, and only then the data inside those backups, even if the backup files themselves are damaged.
A virtual machine was deleted from a VMFS datastore. The space is released, but the blocks of the virtual disk are often still there; the structure of the guest file system is used to find and join them.
A Hyper-V or VMware environment with snapshots in which one link is damaged. The virtual machine no longer starts; rebuilding the chain brings back the latest state.
RAID, VMFS, VMDK, NTFS and an Exchange database stacked on top of each other. One damaged layer is enough to make the mailboxes unreachable; the other layers help repair it, until the database is readable again.
Ordinary recovery software works one layer at a time and assumes the layers below are fine: a file system tool expects a correct partition, a VMDK tool a readable datastore, a database tool an intact virtual disk. In a multi-layer setup with damage at more than one level, that assumption no longer holds.
That is why we look at the whole stack at once, and determine per layer which information from the other layers is needed to reconstruct it.
For very large volumes we combine this with our three-tier approach.
Stop writing, note the setup and call us or request an analysis. Together we look at which layers are damaged and what is possible.