BTRFS Data Recovery
What is BTRFS?
BTRFS (short for B-tree file system) is a Linux filesystem based on the B-tree structures.
It was assumed that BTRFS will compete with ZFS. The first mention of this file system appeared in 2007.
Nowadays BTRFS is widely used in modern NETGEAR devices. BTRFS filesystem has several distinctive features such as copy-on-write,
snapshots and built-in compression. More about BTRFS features.
Symptoms of BTRFS Filesystem Failure
In case of BTRFS failure in NAS devices, typically,
you cannot get access to the volume or shared folders or you see the volume and share folders but cannot get access to the data.
Other possibilities include a NAS which refuses to start up, inability to read certain files from the NAS, or failures when copying a file
to the NAS while there is still ample free space.
BTRFS Recovery
Although BTRFS filesystem has various features (like checksumming and snapshots) helping to avoid data loss,
BTRFS like any other filesystem can fail. More than that, BTRFS, as of 2017,
is still under development and therefore not stable in certain aspects.
Recently, RAID5 and RAID6 support has been added to BTRFS. You can create a RAID5 BTRFS volume having minimum two disks;
RAID6 requires at least three devices. Obviously, with just two devices you get a mirror but you still have 100% parity
because A xor A = 0 which is even. Combing three devices into a RAID6, you get a mirror again, at least on two disks.
In BTRFS, RAID5 and RAID6 layouts are implemented at the level of the chunks rather than at the level of the devices.
That's why there are an impressive number of independent RAID arrays over a btrfs disk set.
Due to the specific, conventional RAID5 and RAID6 recovery approaches do not work because they are designed
to deal with a single RAID created over several disks.
More than that, if there is no metadata about chunk location – it is destroyed or overwritten,
it is impossible to recover files and folders within the btrfs filesystem –
you can get some file and folders names and attributes but no content.
As for the RAW recovery (so called carving), even the lucky case of an unfragmented file cannot be solved successfully
because of the too small stripe size – all you can restore is a few tens of kilobytes.
Anyway, there are not that many btrfs recovery tools especially supporting btrfs RAID5 and RAID6 volumes.
ReclaiMe is the first software capable of btrfs recovery including RAID5 and RAID6 volumes and even configurations with one disk missing.
So if you face the situation when you cannot access the data stored on the BTRFS volume and need a realible BTRFS reader, try ReclaiMe.
Be aware that before launching BTRFS recovery software you need to connect all the disks from a failed BTRFS volume to a PC separately,
preferably via SATA ports on the motherboard.
BTRFS Recovery Specifics
- Data recovery may be hampered by fragmentation. Due to copy-on-write feature that BTRFS filesystem uses to avoid data loss in case of failures during the write operation,
data may be fragmented. As you know, if filesystem metadata is damaged, often it is impossible to recover fragmented files.
Additionally, a method of storing snapshots when original version of files and modified parts of files are stored separately,
also requires that several sets of metadata are all undamaged.
- Be prepared that BTRFS recovery will take a lot of time. This arises from the fact that BTRFS filesystem uses copy-on-write and is typically used in large storage devices.
Copy-on-write feature leads to many versions of metadata often scattered through the volume. Sorting these versions requires extra time.
Filesystems without copy-on-write are analyzed faster.
- Bugs are possible. Although the first versions of BTRFS filesystem were released in 2007, it was considered more or less stable only in 2013.
And this is the year when NetGear started to use BTRFS filesystem in their NASes. However, we still cannot say with certainty that it is completely reliable filesystem
and some bugs are still possible.