xfs_repair 修复 XFS 文件系统的典型例子**,并解释背后的逻辑。
常见场景 & 示例1. 基础修复当 XFS 文件系统出现问题(比如系统日志报 Metadata corruption),先卸载再修复:
12umount /dev/sdb1xfs_repair /dev/sdb1
⚠️:如果是根路径需进入live进行修复
输出示例:
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
Phase 3 - for each AG...
Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees...
Phase 6 - check inode connectivity...
Phase 7 - verify and correct link counts...
done
表示修复完成。
2. 强制清理日志(风险操作)如果日志损坏严重,普通修复失败,可以加 -L 参数清空日志:
1xfs_repair -L /dev/sdb1
⚠️ 风险:清空 journal,可能导致部分最近写入的数据丢失。
日志里会提示:
Clearing log and moving on.
3. root 分区修复如果根分区 / 损坏,需要用 救援模式 或 LiveCD:
12# 在救援模式下挂载磁盘xfs_repair /dev/mapper/centos-root
修复后再重启。
4. 指定备用 superblock 修复有时 superblock 损坏,可以用 -n 找出可用 superblock,然后再指定:
12xfs_repair -n /dev/sdb1 # 只检查,不修复xfs_repair -o sb=12345 /dev/sdb1 # 使用指定的 superblock 修复
5. 不卸载情况下的应对⚠️ XFS 不允许挂载状态下直接修复。如果你执行:
1xfs_repair /dev/sdb1
会报:
Filesystem has valuable metadata changes in a log which needs to be replayed
Mount the filesystem to replay the log, and unmount before re-running xfs_repair
解决方法:先挂载 → 卸载 → 再跑 xfs_repair。
注意事项
一定要卸载分区,root 分区要进救援模式。
-L 慎用,除非确认日志无法恢复。
先备份再修复,尤其是生产环境。
如果多次修复失败,说明磁盘可能有物理坏块,需要 smartctl 检查硬盘健康。
Copyright © 2022 北智游戏学院 - 活动攻略与新手教学 All Rights Reserved.