目录

 

问题

解决

扩展

问题

CentOS7系统重启后进入“救援模式”,提示:I/O error metadata corruption错误,截图如下:可见是/dev/sda4分区出现了问题。GRUB正常启动各种服务启动均失败。

解决

1、挂载系统安装光盘,进入救援模式,执行xfs_repair -L /dev/sda4进行修复:

 注意在下面操作界面一定要选择“3”,不然还是xfs_repair不了。

1) Continue :救援模式程序会自动查找系统中已有的文件系统,并可读写挂载到/mnt/sysimage目录下,挂载权限为读写。
2) Read-only mount:挂载权限为只读。
3) Skip to shell :跳过挂载(可手动挂载)直接进入shell。
4) Quit(Reboot):退出重启系统。

直接执行xfs_repair /dev/sda4失败:

根据提示执行:xfs_repair -L /dev/sda4。执行过程未见报错,然后执行reboot重启系统,系统成功加载启动。至此修复完成。

扩展

xfs_repair - repair an XFS filesystem

xfs_repair命令用于修复损坏的(corrupt or damaged )XFS文件系统。通过指定device作为参数,该device是包含文件系统的磁盘分区或者卷的名字。
The filesystem is specified  using  the  device  argument which  should  be  the  device  name  of  the disk partition or volume containing the filesystem. If given the name of a block device, xfs_repair will attempt to find the raw device associated with the specified block device and will use the raw  device  instead.
注意:使用xfs_repair命令修复文件系统,必须卸载掉文件系统,否则会导致文件系统损坏。
Regardless,  the  filesystem to be repaired must be unmounted, otherwise, the resulting filesystem may be inconsistent or corrupt.

需要修复的场景 
1.主机侧发现存在文件系统不可读写的情况,可以通过查看主机端日志来确认是否有文件系统异常发生;
2.出现异常停电,供电恢复正常,主机和阵列系统重起之后;
3.存储介质故障:出现LUN失效、RAID失效、以及IO超时或者出现慢盘,对慢盘进行更换,系统恢复正常之后;
4.传输介质故障:如光纤、网线等损坏等,数据传输链路断开后又恢复正常之后;

检查文件系统 
注:检查文件系统必须保证将文件系统umount成功。 
在根目录下输入“xfs_check /dev/sdd(盘符);echo $?”(注意:在执行 此命令之前,必须将文件系统umount,否则会出现警告信 “xfs_check: /dev/sdd contains a mounted and writable filesystem ”)敲回车键,查看命令执行返回值:0表示正常,其他为不正常,说明文件系统 损坏,需要修复。

修复过程
注:修复时需要暂停主机侧的业务,umount 和 mount 无法修复文件系统 。 
1) 先umount要修复的文件系统的分区 
3) 然后输入 “xfs_repair /dev/sdd(盘符)”执行修复命令。 
xfs_check /dev/sdd; echo $? 
  A)如果为0===》成功修复。 
  B) 如果不为0===》没有成功:请执行xfs_repair –L /dev/sdd命令

参考链接:fsck和xfs_repair - 乐观者 - 博客园

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐