I have a RAID-5 array of 4x1TB hard disks with one lvm2 partition on Ubuntu Linux 10.04 LTS. One of the disks has failed. I have re-assembled the array without this failed disk but now mdadm --examine claims the array has no superblock and fdisk says it has no partition table. What can I do to recover the data?

# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sat Mar  5 14:43:49 2011
     Raid Level : raid5
     Array Size : 2930276352 (2794.53 GiB 3000.60 GB)
  Used Dev Size : 976758784 (931.51 GiB 1000.20 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Sat Mar  5 15:06:49 2011
          State : clean, degraded
 Active Devices : 3
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : boba:1  (local to host boba)
           UUID : 52eb4bc9:c3d8aab5:e0699505:e0e1aa05
         Events : 18

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       65        1      active sync   /dev/sde1
       2       8       49        2      active sync   /dev/sdd1
       3       0        0        3      removed

       4       8       17        -      faulty spare   /dev/sdb1


# mdadm --examine /dev/md0
mdadm: No md superblock detected on /dev/md0.

# fdisk -l /dev/md0

Disk /dev/md0: 3000.6 GB, 3000602984448 bytes
2 heads, 4 sectors/track, 732569088 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 524288 bytes / 1572864 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table

# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md0 : active raid5 sdb1[4](F) sda1[0] sdd1[2] sde1[1]
      2930276352 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_]

unused devices: <none>
link|improve this question
You do not need to have partition, most probably you have got lvm on whole /dev/md0 – Ency Mar 5 '11 at 16:30
I did create this a long time ago, but I seem to remember making one large partition. And even so, pvscan does not recognise md0 as a physical volume. – Fred Phillips Mar 5 '11 at 17:34
What does pvscan report? What about pvdisplay and vgdisplay? It's not surprising that mdadm --examine doesn't find a superblock on /dev/md0, since the superblocks are only visible on the underlying component devices (sda1, sdb1, etc.). And finally, there's no reason to expect there would be a partition table on /dev/md0 if it's an LVM physical volume. – Steven Monday Mar 6 '11 at 0:48
pvscan, cannot find any physical volumes, pvdisplay and vgdisplay have no output. – Fred Phillips Mar 6 '11 at 12:37
Any chance your LVM filters in /etc/lvm/lvm.conf are excluding /dev/md0? I realize this would be a strange thing to just up and change but it's worth considering if there is a possibility that you LVMed the whole RAID device instead of using a partition. – rthomson Apr 14 '11 at 14:43
feedback

2 Answers

This looks like your in single user mode.

Is your volumegroup and logicalvolume listed in /dev/ ?

If not, you need to run lvchange -ay to activate the logical volume.

For fsck you should be using /dev/volgroup00/logvol00 as the target.

link|improve this answer
feedback

The first thing I would try is to examine all the individual drives on the array with:

mdadm --examine /dev/sda1
mdadm --examine /dev/sdb1
mdadm --examine /dev/sdd1
mdadm --examine /dev/sde1

Then, you want to make sure that they have superblocks, and the drive numbers line up with your results from /dev/md0. I have had an instance where my array did not re-assemble with the drives in the correct order. It may be that you just need to re-assemble it the right way.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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