意外的INCONSITENCY手动运行fsck redhat

在完成文件系统大小调整之前,我错误地重新启动了服务器。 这是在重新启动前成功运行的命令:

lvresize -L -400GB /dev/mapper/vg_yavin-lv_home 

在启动时,我得到这个错误

 /dev/mapper/vg_yavin-lv_home: UNEXPECTED INCONSITENCY run fsck MANUALLY 

当我尝试fsck -y /dev/mapper/vg_yavin-lv_home ,我得到这个:

 e2fsck 1.41.12 (17-May-2010) Error reading block 63471616 (Invalid argument). Ignore error? yes Force rewrite? yes Error writing block 63471616 (Invalid argument). Ignore error? yes Superblock has an invalid journal (inode 8). Clear? yes *** ext3 journal has been deleted - filesystem is now ext2 only *** Superblock has_journal flag is clear, but a journal inode is present. Clear? yes The filesystem size (according to the superblock) is 127047680 blocks The physical size of the device is 22190080 blocks Either the superblock or the partition table is likely to be corrupt! Abort? yes Error writing block 63471616 (Invalid argument). Ignore error? yes 

如果我在fstab中注释掉这个文件系统,我可以启动,但是有没有办法恢复这个文件系统?

ProTip:当它说

手动运行fsck

它实际上意味着什么

以交互模式运行fsck并评估输出以决定要执行的操作

不是“盲目地使用 – 因为这是其他人似乎做的事情,也不能伤害任何东西”。
fsck -y可能是破坏性的。 这就是为什么它不是默认行为。


这听起来像你有一些非常严重的腐败(“错误阅读块63471616”位让我觉得可能是物理磁盘损坏),坦率地说, fsck可能使事情变得更糟。

如果你有备份,现在是时候使用它们了。 如果没有,并且数据很重要,我会对分区进行映像(您可以尝试运行恢复工具,如图像上的debugfs )。

最终,你可能只想newfs (或mkextfs ,无论Linux是什么)分区 – 如果你确定这不是因为物理磁盘故障。

请注意,以下方法将不会返回您的数据。 它可能会恢复您的卷组元数据。 您可以随时阅读产品指南中的lvm文档。 它详细解释了我将要讲述的命令。

用fstab注释掉fs然后启动。 现在,find你运行lvresize的VG。 我认为这是vg_yavin。

运行这个

 vgcfgrestore --list <VG-NAME> 

这将在任何重大操作完成之前给出VG上的断点列表。 您必须find与您的lvresize操作相对应的文件。 理论上应该是最近的一个。

在那个文件上运行

  vgcfgrestore --file /etc/lvm/archive/<file-name> <VG-NAME> 

这将在lvresize之前恢复VG的元数据。

正常启动,看它是否工作。

在错误消息中,fs的默认超级块已损坏。 如果你有一个工作的dumpe2fs输出,试着用应该存在的备份超级块启动。 然后

 e2fsck -b <backup_sb> <disk-name> 

但是,根据腐败现在fs是多么严重,这全是概率。

鉴于你的最后一个问题,你可能只需要按照指示运行resize2fs 。 目前,您的卷已经缩小,但文件系统没有收缩以匹配它。 做到这一点,再次运行fsck ,你会希望是好的。

这是我最终做的,现在看起来工作正常

在/ etc / fstab中注释掉

 #/dev/mapper/vg_yavin-lv_home /home ext4 defaults 1 2 

2.Restart

3.Recreate /重新挂载

 mkfs -c /dev/mapper/vg_yavin-lv_home fsck /dev/mapper/vg_yavin-lv_home mount /dev/mapper/vg_yavin-lv_home /home 

4. / etc / fstab中的注释行

 /dev/mapper/vg_yavin-lv_home /home ext4 defaults 1 2 

5.重新启动

当然,我们丢失了所有的文件,但是我们真的没有什么需要担心的。