处理损坏的XFS文件系统的正确方法

如果您尝试运行xfs_repair,并得到建议安装文件系统以重播日志的错误消息,并且在安装后仍收到相同的错误消息,则可能需要执行强制修复(使用-L带有标志的xfs_repair)。此选项应该是不得已的方法

例如,我将使用CentOS 7安装中的根分区损坏的情况。尝试安装分区时,我不断收到以下错误消息:

挂载:在/ mnt / centos-root上挂载/ dev / mapper / centos-root失败:结构需要清洗

不幸的是,强制修复将涉及在尝试修复之前将日志清零(销毁)。使用这种方法时,可能会得到比最初预期更多的损坏数据。但是,在进行任何永久更改之前,我们可以使用适当的xfs工具查看可能造成的损坏。

使用xfs_metadump和xfs_mdrestore,可以创建受影响分区的元数据映像,然后对该映像(而不是分区本身)执行强制修复。这样做的好处是能够在分区上执行强制修复之前查看其损坏。

为此,您需要一个尺寸合适的USB或外部硬盘驱动器。首先安装USB驱动器-我的USB位于/dev/sdb1,您的USB名称可能有所不同。

mkdir -p /mnt/usb
mount /dev/sdb1 /mnt/usb

挂载后,运行xfs_metadump以创建分区元数据到USB的副本-同样,受影响的分区可能有所不同。在这种情况下,我的根分区已损坏/dev/mapper/centos-root:

xfs_metadump /dev/mapper/centos-root /mnt/usb/centos-root.metadump

接下来,您需要将元数据还原到图像中,以便我们进行修复并衡量损坏。

xfs_mdrestore /mnt/usb/centos-root.metadump /mnt/usb/centos-root.img

我发现在救援模式下xfs_mdrestore不可用,相反,您需要在实时CentOS CD的救援模式下。

最后,我们可以对图像进行修复:

xfs_repair -L /mnt/usb/centos-root.img

修复完成后,您已经评估了输出和潜在损坏,可以确定是否要对该分区进行修复。

要对分区运行修复,只需运行:

xfs_repair -L /dev/mapper/centos-root

不要忘记也检查其他分区是否损坏。修复之后,重新引导系统,您应该能够成功引导。

请记住,在-L没有其他可能的选择要修复的情况下,应将标志用作最后的手段。

你可能感兴趣的:(工具,linux,centos,linux,运维)