主题
服务器断电重启后报 XFS 文件系统错误(Metadata I/O error)
一、现象

服务器被意外断电,导致重启机器后报错:
bash
XFS (dm-0): Metadata I/O error二、解决方法
服务器系统为:CentOS 7.9
2.1 重启服务器,进入单用户模式
开机按 e:

定位到 ro,然后修改为 rw(例如 rw init=/sysroot/bin/sh),按提示使用 Ctrl-x 进入救援模式:

进入单用户模式后,查看文件系统挂载:
bash
ls -l /dev/mapper/
lrwxrwxrwx 1 root root 7 May 22 11:21 centos-root -> ../dm-0
lrwxrwxrwx 1 root root 7 May 22 11:21 centos-swap -> ../dm-12.2 磁盘修复
WARNING
如果是 ext4 文件系统,使用 fsck /dev/dm-2 去修复。
bash
xfs_repair /dev/dm-0
#如果无法修复则执行 xfs_repair -L /dev/dm-0(清空日志,可能会丢失文件)NOTE
如果遇到 /dev/dm-0 contains a mounted filesystem,需要先卸载相关设备(umount /dev/dm-0),再执行 xfs_repair。

2.3 重启服务器
bash
init 6