ECS实例系统启动失败时报“UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.”的错误

问题描述

ECS实例系统启动失败,通过管理终端登录后发现系统提示如下错误。

UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.

系统显示类似如下。 71.png

问题原因

可能是由于断电等情况导致ECS实例迁移到其他的后端物理机上,内存数据丢失引发文件系统错误,比如无效的inode等。而操作系统启动时一般会做fsck检查。如果检查到异常,系统默认自动修复;如果出现如下情况,系统不会自动修复,而是停留在上述报错页面,并提示需要手动运行fsck工具。

  • 异常关机导致内存数据丢失,进而引发inode错误。自动修复可能会删除部分异常关机导致的无效inode。

解决方案

说明
  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

不同的操作系统修复方式不同,此处介绍如下2种方式,请根据现场实际情况选择对应的方式。

  • 急救模式:如果当前系统支持急救模式,则进入急救模式运行fsck检查并修复文件系统。

    说明

    Ubuntu系统支持急救模式,其他系统请参考对应的官方文档。

    72.png

  • GRUB选择页面:参考如下步骤进行修复。

    说明

    不同的操作系统进入GRUB的方式不同,此处以CentOS7为例,现场以实际情况为准。

    • 在GRUB选择页面选择目标Kernel。输入 e 进行编辑。

    • 选择要编辑的Kernel GRUB参数,在尾部加入如下参数。

      fsck.mode=force
      fsck.repair=yes

      系统显示类似如下。 73.png

    • Ctrl + X 键启动系统。

适用于

  • 云服务器ECS