Linux系统的ECS实例中,/var/log/messages日志出现“EXT4-fs error (device XXX): __ext4_find_entry:XXX”错误怎么办?

本文介绍Linux系统的ECS实例中,/var/log/messages日志出现“EXT4-fs error (device XXX): __ext4_find_entry:XXX”错误的问题原因和解决方案。

问题现象

Linux系统的ECS实例中,/var/log/messages日志出现类似如下错误。

EXT4-fs error (device vdb1): __ext4_find_entry:1534: inode #2: comm (md-udevd): reading directory lblock 0

问题原因

出现该问题可能有以下原因:

  • ECS实例内部文件系统损坏。

  • ECS实例内部磁盘设备或磁盘驱动存在异常。

解决方案

本文以修复/dev/vdb1文件系统的EXT4-fs error错误为例,修复其他磁盘设备EXT4-fs error错误步骤类似。

  1. 远程连接ECS实例。

    具体操作,请参见连接方式概述

  2. 执行如下命令,卸载数据盘文件系统。

    umount /dev/vdb1
  3. 执行如下命令,修复/dev/vdb1文件系统。

    sudo fsck.ext4 -f /dev/vdb1
  4. 执行如下命令,挂载/dev/vdb1文件系统。

    本文以挂载到/mnt为例进行说明,您可以根据业务需要,修改挂载路径。

    mount /dev/vdb1 /mnt
  5. 执行如下命令,查看/var/log/messages日志。

    cat /var/log/messages
    • 若日志中不再出现EXT4-fs error错误,说明该问题已解决。

    • 若日志中还会持续出现EXT4-fs error错误,说明磁盘设备或磁盘驱动存在异常。请提交工单,联系技术支持获取帮助。