Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I know the theoretical answer is "not possible". But theory and practice do not always match. So I'm wondering if you know any trick to recover something...

Is there any chance to recover anything from the remaining disk of a RAID 0 set, even if only the directory structure?

I'm totally aware that if I stored anything valuable in a RAID 0 set without backing it up I deserve punishment and to run around the ninth circle of hell and so on and so forth :-) It's not the case, by the way.

share|improve this question
4  
Someone open the door and let all this irony out. Since the raid 'header' is gone it will be a trick to at least get the file structure. I will be following this thread closely. –  RateControl Sep 11 '09 at 13:09
    
Hence my "lower level" comment further down. I'm also following closely :) –  user3914 Sep 11 '09 at 13:19
    
So am I. But I have low hopes, truth be told. –  Vinko Vrsalovic Sep 11 '09 at 13:43
add comment

6 Answers

up vote 8 down vote accepted

Things you might be able to recover from the remaining disk:

  • The file system header may be smaller than the stripe size of the RAID volume, so there is a chance it will reside on a single disk.

  • Files smaller than the RAID stripe size may also reside on a single disk, but you may not be able to recover sufficient file system metadata to infer the location. If the RAID set has more than two disks, there will be a greater chance of a small file spanning disks that are still functional.

  • The RAID header will reside on all of the disks, so if you can find documentation for the format you can at least identify the location of the actual volumes on the RAID set.

  • Depending on the filesystem used, there may be redundant storage of metadata at various points within the filesystem. IIRC, for example, the superblock of most EXT* filesystems is replicated in multiple locations.

It is likely to be possible to recover some small files where both the entire file and sufficient metadata to locate it reside on the same drive. On a deep directory tree this would also involve all intermediate directories, so the chances of recovering any given file are fairly small.

If you have some chance of identifying the file by content the directories might not matter. However, most likely scenarios where you could do that imply that you already had a copy of the file that you could compare it to.

First port of call would be to try a data recovery service on the dead disk.

share|improve this answer
add comment

Sorry, it is impossible. RAID 0 is striping across drives with no redundancy. You have no idea which bits of which files were written to specific drives.

share|improve this answer
3  
As an addendum, if you were storing plain text or similar, you could look at the drives at a lower level and try recovering that way, but really it's not going to be easy, pretty, or 100% successful. –  user3914 Sep 11 '09 at 13:08
add comment

Your data is still there, but in a probably-corrupted state.

Most of the time, the writes are interleaved between the drives. (but at what block size? who knows...)

It is theoretically possible to simply rebuild the header (or footer) of the drives if that is all that got corrupted. The header could alternatively be copied off of a new array and placed over the top of the old drives. However, there is a lot of proprietary voodoo involved.

To do a successful recovery you would definitely need to look at the spec on the RAID format, and inspect what went wrong with your RAID headers.

share|improve this answer
    
This is the same theory that is preventing me even trying to recover a broken drive sitting in my cupboard. –  user3914 Sep 11 '09 at 13:53
add comment

While it's not going to be possible to recover the array, you may be able to recover some of the data by mounting the drive in another machine and accessing it from there. Is the drive SCSI, SAS, SATA, or IDE?

share|improve this answer
    
The disks are SATA 7.2k –  Vinko Vrsalovic Sep 11 '09 at 13:13
    
If you've got a computer with a spare SATA connector then plug it in and see if you can access any of the data. –  joeqwerty Sep 11 '09 at 13:37
    
As an addendum, like Randolph has said, because of the way data is written to a RAID 0 configuration you're not likely to have any success but if it were me I wouldn't give up without at least trying. –  joeqwerty Sep 11 '09 at 13:39
add comment

Was this a hardware or software RAID?
There are several site offering tools and services to recover RAID0. Have you tried anything like those?

share|improve this answer
add comment

There are tool for scraping the raw disk and trying to make sense of what is there. It will likely be a bunch of work, and for files larger than a stripe (often 64k), you will loose half of it (good luck getting anything useful out half a jpg or movie file). You will most likely loose all metadata, and will have to look at each file to know what it is. Also, all those executables are toast too.

But there are tools for doing this for you (for starters, at least they can recognize an end of file marker, and what is the start of many file types).

As always, google is your friend.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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