![具有 lvm2 的降级 RAID-5 阵列丢失了超级块和分区表](https://linux22.com/image/541754/%E5%85%B7%E6%9C%89%20lvm2%20%E7%9A%84%E9%99%8D%E7%BA%A7%20RAID-5%20%E9%98%B5%E5%88%97%E4%B8%A2%E5%A4%B1%E4%BA%86%E8%B6%85%E7%BA%A7%E5%9D%97%E5%92%8C%E5%88%86%E5%8C%BA%E8%A1%A8.png)
我在 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
。我曾经遇到过这样的情况:我的阵列没有按正确的顺序重新组装驱动器。也许您只需要以正确的方式重新组装它。