1

If I have two disks setup as RAID-1. I deleted some files and then made a low level format. made sure the files are not recoverable.

However, if I am to separate them and connect them as separate drives, will I have more chances of recovering the files?

I always assumed that there's one master drive out of the RAID-1 setup, and the controller will somehow "be smart" and do some optimization tricks which will lead to keeping some of the deleted data in one of the drives.

Now, am I assuming wrong? should I disable the RAID-1 setup and low-level format (or shred) them separately to make sure data is gone.

  • note: the question is not about how effective low-level format is, let's assume it's effective.
2

In RAID-1, writing to the array is always equivalent to writing to each drive individually.

However, if I am to separate them and connect them as separate drives, will I have more chances of recovering the files?

In theory, any drive may accumulate damage over time. A damaged sector that is taking too long for a read to return or which is failing more times than usual will be copied to a fresh sector, and the previous sector will be marked as unusable. This sector remapping can leave previously written sectors untouched even after overwriting the entire drive. This is not particularly common, but it happens. Naturally, using two drives doubles the probability of this happening.

One small note: Most RAID devices will store a little metadata at the beginning of each drive which contains basic information like a UUID, drive number, drive state, array level, etc. This metadata is not touched when you write to the array. If, for whatever reason, you suspect that there is old, unused data which was not overwritten in that metadata region (which is unlikely as it is typically within the first few hundred sectors of each drive), then writing to the array may not be sufficient since it does not overwrite it. This is highly unlikely though, and is just mentioned here for completeness' sake.

I always assumed that there's one master drive out of the RAID-1 setup, and the controller will somehow "be smart" and do some optimization tricks which will lead to keeping some of the deleting data in one of the drives.

RAID-1 does not involve a "master" drive. In that raid level, every drive is a perfect clone of every other drive (excluding perhaps an identifier kept in the RAID metadata to make it easier to identify individual devices). The controller will not be using any "tricks" that lead to keeping data on one of the drives. That is the reason writing to a RAID-1 array is limited by the speed of the slowest drive, since no optimization is going on and the write will only return once it has been sent to every drive in the array.

Now, am I assuming wrong? should I disable the RAID-1 setup and low-level format (or shred) them separately to make sure data is gone.

Writing to the RAID-1 array is functionally equivalent to writing twice to each individual drive. Anything you write to the array will be duplicated and written to each drive in real-time. Note, however, that a low-level format may not be sufficient if it does not actually overwrite all data. Whether or not it is sufficient depends on the exact software and filesystem you use. But instead of formatting, you should use ATA Security Erase. This is a firmware feature in modern drives which does a low-level automated erasure of all data. It can take a few hours on older drives, or a few seconds on newer drives that make use of SED. ATA Security Erase may not work with RAID if the software does not support it, in which case you should disconnect the array and issue the command to each drive individually.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.