我有 6 个驱动器(每个 1.5T,所有型号和固件版本都相同),它们属于 RAID5 阵列。RAID5 组成一个 LVM 卷组和一个逻辑组。后者仅包含一个 ext3 分区。我最近运行了:
e2fsck -f /dev/vg03/lv01 && resize2fs -M /dev/vg03/lv01
没有错误地退出。
现在当我尝试时mount /dev/vg03/lv01
我得到:
EXT3-fs error (device dm-0): ext3_check_descriptors: Block bitmap for group 30533 not in group (block 1000532368)!
EXT3-fs: group descriptors corrupted!
我该如何摆脱这种困境?这是我目前能给你的所有信息:
fdisk -l /dev/sd[cdefgh]
(正确地)表明它们是“ Linux raid autodetect
”
但 fdisk 现在显示:
fdisk -l /dev/md0
磁盘 /dev/md0:7501.5 GB,7501495664640 字节
...
磁盘标识符:0x00000000
磁盘 /dev/md0 不包含有效的分区表
(而不是 LVM 类型的分区)
fdisk -l /dev/vg03/lv01
磁盘 /dev/vg03/lv01:7501.5 GB,7501491732480 字节
...
磁盘标识符:0x00000000
磁盘 /dev/vg03/lv01 不包含有效的分区表
(而不是 ext3 类型的分区)
我试过了:
e2fsck -fy /dev/vg03/lv01
e2fsck 1.41.12 (2010 年 5 月 17 日)
e2fsck:组描述符看起来不好...尝试备份块...
组 30533 的块位图不在组中。(块 1000532368)
重新定位?是组 30533 的 Inode 位图不在组中。(块 1000532369)
重新定位?是第 1 遍:检查 inode、块和大小
将组 30533 的块位图重新定位到 1000524246...
在块组 30533 中为 inode 位图分配 1 个连续块时出错:无法在 ext2 文件系统中分配块
e2fsck:中止
我可以给你提供以下额外信息:
cat /proc/mdstat
个性:[线性] [多路径] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0:活动(自动只读)raid5 sdg1[0] sdh1[5] sdf1[4] sde1[3] sdc1[2] sdd1[1]
7325679360 块级别 5,128k 块,算法 2 [6/6] [UUUUUU]
位图:1/175 页 [4KB],4096KB 块未使用的设备:
最后,所有 smartctl 测试(简短和扩展)均显示任何磁盘均未出现错误。
我是否应该尝试resize2fs
扩展/dev/vg03/lv01
并重新创建一个e2fsck
?我是否应该将cfdisk /dev/md0
其/dev/vg03/lv01
恢复为它们的真实类型?
提前感谢所有的帮助。
2011-09-20 更新
我发出了以下命令并能够重新安装分区,但通过查看df
之前和之后的大小(),似乎有 1Tb 的数据丢失了。通过检查某些文件的 MD5SUMS(来自旧备份)与重新安装分区中的“相同”文件,检测到了一些错误。
重新挂载分区发出的命令是:
dumpe2fs /dev/vg03/lv01
Block count: 1000491435<br />
Block size: 4096<br />
tune2fs -O ^has_journal /dev/vg03/lv01
resize2fs -p /dev/vg03/lv01
dumpe2fs /dev/vg03/lv01
Block count: 1831418880<br />
Block size: 4096<br />
安装 -o ro,noatime /dev/vg03/lv01 /mnt/raid
OK... but files have been damaged / gone missing.
答案1
您最初是如何创建 LVM 的?您是否准备了物理卷/dev/md0
,或者您是否先fdisk
使用其中一个分区作为物理卷。
如果您将整个设备用作 PV,那么fdisk
它将无法工作,因为 LVM 信息将被放置在fdisk
需要找到分区表的位置。
您可能需要检查的是查看vgdisplay -v /dev/vg03
卷组中存在哪些物理卷。
答案2
您有由 6 个 sd* 块设备组成的 raid 5,没有分区。现在,您在 raid md0 上有 lvm。因此,您从 md0 创建物理卷、名为 vg03 的卷组和一个名为 lv01 的逻辑卷。lv01 由 ext3 文件系统组成,您希望对其进行增大/缩小。
通过执行该操作:e2fsck -f /dev/vg03/lv01 && resize2fs -M /dev/vg03/lv01 您尝试缩小文件系统,该文件系统正是 ext3(带日志)。
据我所知,resize2fs 可以调整 ext2 文件系统的大小,但不能调整 ext3 文件系统的大小,所以您必须首先删除日志。
现在,当您通过 tunefs 执行此操作时,您可以恢复工作文件系统,该文件系统后来被 resize2fs 和 fsck 破坏。
在这一点上,我建议您只使用一些特定的恢复软件,如 ext3 取消删除或其他...