ReclaiMe Free RAID recovery limitations
There are either general limitations concerning all the types of RAID array like the requirement to have
the same offset of data on the member disks or specific limitations applied to a particular RAID layout.
If the array data is stored not from the very start of the disk, but with a certain offset,
the offset is required to be the same on all disks.
All known hardware controllers and NAS devices satisfy this requirement.
A disk set should belong to a single array.
If there were several arrays on a set of disks, then it is required that one of the arrays should be significantly larger than others.
A NAS device contains operating system data (usually Linux or sometimes Windows Embedded) on the same disks.
Nevertheless, it is possible to recover RAID because operating system data takes up much less space on the array as compared to user data.
It is impossible to recover empty or almost empty array using ReclaiMe Free RAID Recovery software.
The less data is stored on the array, the more time it takes to complete the analysis, and the less reliable RAID configuration parameters are derived.
Each member disk, including missing disks in RAID5/6/10, must contain at least 10-20GB of data.
Allowed block sizes are from 0.5KB (512 bytes, one sector) to 1MB.
RAID 0 - It is required to have all the member disks.
RAID 10 far and RAID 1E far
Generally, a RAID10 survives a multiple disk failure without data loss.
However, a disk set must contain at least one copy of each data block.
ReclaiMe Free RAID Recovery is capable of recovering RAID 10 near and interleaved.
If an array is almost empty (less than 30% filled with data), recovery time and memory use may increase significantly.
These RAID layouts consist of two different RAID0 arrays of the same size which are located on the same disk set one by one.
If all the member disks are available, it is possible to use HPA/DCO to
reduce size of disks in half and then recover RAID0 from the visible part of disks.
RAID 5 and RAID 5E
- One member disk may be missing.
- An array must be one of the following layouts:
- synchronous left,
- synchronous right,
- asynchronous left,
- asynchronous right.
- It is not allowed to have parity shift other than by one column per row.
ReclaiMe Free RAID Recovery software recovers configuration parameters for the arrays with delayed parity.
Allowed delay values are from 2 to 32 including those values that are not powers of two.
- RAID 5 must use even parity, i.e. XOR of all bits in a complete row (including parity bit) must be zero.
ReclaiMe Free RAID Recovery only supports RAID6 based on Reed-Solomon parity function (Q).
Certain controllers use their proprietary methods of calculating parity, like Vertical XOR.
The list of incompatible controllers includes, but may be not limited to
- Adaptec RAID 3405, 3805, 3085, 31205, 31605, ICP5045BL, ICP5085BL, ICP5805BL, ICP5125BR, ICP6165BR,
- Adaptec RAID 4800SAS, 4805SAS, ICP9085LI, ICP5085BR,
- Adaptec SATA II RAID 2420SA, 2820SA, ICP9047MA, ICP9087MA,
- Adaptec SCSI RAID 2130SLP, 2230SLP, ICP9014RO, ICP9024RO.
- Depending on how second parity function (Q) is calculated, sometimes all member disks are required (for RAID6 built using a Promise controller).
In other cases, no more than one member disk may be missing.
- Despite of the fact that RAID6 survives failure of two member disks,
ReclaiMe Free RAID Recovery is not able to recover RAID configuration parameters in this case.
- RAID 6 analysis requires a lot of computation and ReclaiMe Free RAID Recovery can use up to eight CPUs or cores, if available.
Hot spare drives must not be included in the list of analyzed disks.
The only exception is RAID 10 for which hot spare presence doesn't influence the result of RAID recovery.
ReclaiMe Free RAID Recovery works in some exotic cases, when other software does not:
- Delayed parity which is widely used on HP SmartArray controllers.
- RAID 5 with block size of one sector (JMicron JMB393 SATA port multiplier and other similar hardware RAID controllers).
- Promise RAID 6 with its awesome Q function computation.