文章目录
-
-
- 一、问题描述:
- 二、问题解决
-
- [1. 确认损坏的分区](#1. 确认损坏的分区)
- [2. 执行 XFS 修复(优先普通修复,若失败则强制清除日志)](#2. 执行 XFS 修复(优先普通修复,若失败则强制清除日志))
- 3.接下来直接重启系统验证结果
-
一、问题描述:
由于机房直接断电,重启后,导致服务器启动失败
看报错信息是因为XFS 文件系统的元数据损坏,导致系统进入紧急模式
问题如图所示:

下面说下我这里解决过程
二、问题解决
这里都是在紧急模式下操作的
1. 确认损坏的分区
bash
ls -l /dev/mapper
执行命令后的结果:

从ls -l /dev/mapper的输出能看到,centos-root对应的是/dev/dm-0(这就是系统的根分区逻辑卷)。接下来直接执行 XFS 修复操作即可
2. 执行 XFS 修复(优先普通修复,若失败则强制清除日志)
我看其他帖子很多步骤说第二步是,卸载分区
目的是,XFS 修复工具(xfs_repair)要求目标分区处于未挂载状态(否则会破坏正在读写的数据),所以需要先卸载分区,确保文件系统没有被系统或进程占用,才能安全执行修复操作
这里其实不需要,直接执行修复命令就可以,无需卸载,因为紧急模式下根分区是只读挂载
bash
xfs_repair /dev/mapper/centos-root # 普通修复
若普通修复失败,加-L参数强制清除日志(注意:此操作可能丢失数据,需谨慎):
bash
xfs_repair -L /dev/mapper/centos-root
等待执行完成,我们这里已经出现done且已经返回命令行,说明已经执行成功:

3.接下来直接重启系统验证结果
在命令行输入:
bash
reboot
重启后如果系统能正常进入登录界面 / 命令行(不再跳紧急模式),就代表修复成功了。
