Recovering directory listing from degraded JBOD array
Posted on 2004-11-23
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.