Recovering directory listing from degraded JBOD array

Posted on 2004-11-23
Last Modified: 2013-12-15
I have low expectations of partially recovering from an unfortunate disk crash.  Let me describe my situation, but please be advised that I am not labouring under the misconception that I can recover any actual files -- I am looking for whatever I can get, which might be nothing.

I have an old Linux machine who functions as a mail and file server.  Its mail server duties happen on the root disk, an ancient 9GB U2W SCSI Cheetah drive.  Its file server duties happen on a "RAID" array which is constructed from a hodge-podge of disks -- all of which are SCSI except 1 40GB Western Digital IDE drive.  As you can guess, it's not really RAID at all, but "linear" mode in the kernel's RAID definition, otherwise known as JBOD or Just a Bunch Of Disks.  The array consisted of four devices, three SCSI drives and an IDE drive, all of which had one partition spanning the length of the entire disk.

The IDE disk crashed horribly.  I've never seen a WD drive crash this hard; the BIOS recognizes it as a drive with the incorrect geometry, size, and DMA/PIO mode.  Western Digital's data lifeguard tools give up with error 1320 or 1032 or 1230 or something that I looked up to identify that the disk is definitely bad and could be returned for an RMA.  I'm not interested in getting the 40GB back, the data was much more important.

I just checked on the ordering of the devices, and am disheartened to report that the IDE disk was first in the list of drives describing the array (/dev/hda1,/dev/sdb1,/dev/sdc1,/dev/sdd1), so I doubt I can recover anything at all.

The one ray of hope I have is my complete ignorance about reiserfs, which is the file system I chose for the array.  Where does it store its file allocation information?  Is there a backup?  I know if this were a FAT device I would be in trouble because the FAT itself is stored on the beginning of the disk.  But I thought perhaps reiser, like e2fs, was a bit more intelligent and stored backup superblocks in various regions on the device.

If this was heaven, I would get some files back off the device.  If I am lucky, I just want a listing of files ON the drive, so I can begin to reconstruct them.  However, I fully expect that there's nothing I can do and can recover absolutely no information on or about this array.

So please enlighten me, if there are any REISER gurus out there, as to my options, if any.

Question by:v2000
    LVL 40

    Expert Comment

    From what little experience I've had with Reiser FS I don't believe that it has the concept of alternate superblocks. And what I've read of it's internals tends to support that.

    I'm sorry to say that all of the data on that volume is most likely lost.
    LVL 1

    Author Comment

    *sobs quietly*

    What concerns me most are the MP3 files.  What do people think of the following idea:

    Read each remaining device in the array as one long bitsream, searching for the standard (if there is a standard!) BOF and EOF bits for MP3 files, and writing each file to a generated filename on another device.

    Would this work?  I could get more fancy and read the ID3 information in the bits and write a more intelligent filename, but this will only work if there is really a standard BOF/EOF bit sequence for MP3 files.  Is there?  


    Any help is appreciated.
    LVL 1

    Author Comment

    I have written an ID3 parser for MP3 files in C#.NET (don't shoot me, I have to write in .NET at work -- Microsoft pays the bills, but I am a Linux geek at heart, with Perl, PHP, and Python forming the trifecta of my Linux enjoyment), but what I know about ID3v1 and v2 does not include BOF/EOF standards for MP3 files.

    I am going to figure out some way to partially recover from this disk crash!
    LVL 1

    Author Comment

    Although I guess fragmentation would render what I just described completely useless.  ARGH.  Maybe I ought to give up and reformat.
    LVL 40

    Accepted Solution

    Your idea might work, at least for some of the data. There's a good chance that quite a bit of the data will have been recorded in contiguous blocks. So scanning the remaining disks, looking for the beginning of an MP3, and storing that as a file until you readsomething that doesn't look like an MP3 should recover some of the data.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Threat Intelligence Starter Resources

    Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

    In this tutorial I will explain how to make squid prevent malwares in five easy steps: Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-…
    It’s 2016. Password authentication should be dead — or at least close to dying. But, unfortunately, it has not traversed Quagga stage yet. Using password authentication is like laundering hotel guest linens with a washboard — it’s Passé.
    Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
    Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.

    779 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    14 Experts available now in Live!

    Get 1:1 Help Now