具有 lvm2 的降级 RAID-5 阵列丢失了超级块和分区表

具有 lvm2 的降级 RAID-5 阵列丢失了超级块和分区表

我在 Ubuntu Linux 10.04 LTS 上有一个 RAID-5 阵列,由 4x1TB 硬盘组成,其中有一个 lvm2 分区。其中一个磁盘发生故障。我已重新组装了没有这个故障磁盘的阵列,但现在mdadm --examine显示阵列没有超级块,并且fdisk没有分区表。我该怎么做才能恢复数据?

# 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>

答案1

这看起来就像您处于单用户模式。

您的卷组和逻辑卷是否在 /dev/ 中列出?

如果没有,则需要运行 lvchange -ay 来激活逻辑卷。

对于 fsck,您应该使用 /dev/volgroup00/logvol00 作为目标。

答案2

我要尝试做的第一件事就是检查全部阵列上的各个驱动器:

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

然后,您要确保它们具有超级块,并且驱动器编号与您的结果一致/dev/md0。我曾经遇到过这样的情况:我的阵列没有按正确的顺序重新组装驱动器。也许您只需要以正确的方式重新组装它。

相关内容