通用方案:专有云环境中文件系统修复解决方法

通用方案:专有云环境中文件系统修复解决方法

更新时间:2020-06-09 10:20:26

1. 概述

本文主要介绍在专有云环境中,文件系统修复的方法。

1.1. 适用范围

  • 专有云V2,基础服务设备

  • 专有云V3,基础服务设备

1.2. 风险说明

  • 本解决方案适用于无法进入系统或文件系统只读的情况,需要对文件系统进行检测和修复,因此不产生新的风险。

  • 执行fsck相关命令修复磁盘时,必须进入RAMOS模式并且磁盘在非挂载的情况下进行操作。

1.3. 用户告知

本文涉及到的磁盘分区信息根据现场实际情况而定。

2. 问题描述

在专有云环境中,由于各种情况导致系统重启后无法进入系统,或发生文件系统只读的情况,因此需要进入RAMOS系统进行文件系统检测并修复。

3. 解决方案

3.1. 环境检查

确认出现文件系统错误现象

  • 7U环境

    在7U环境中确认出现文件系统错误现象,系统显示类似如下,获取并记录分区名称。

  • 5U和6U环境
    在5U和6U环境中确认出现文件系统错误现象,系统显示类似如下,获取并记录挂载点名称。

确认出现文件系统只读现象

确认正常运行的系统出现文件系统只读的情况。系统显示类似如下。

3.2. 实施步骤

注意:在专有云V3.5及V3.5之前的版本中,RAMOS系统采用5U内核,即使用EXT3的文件系统类型,对7U系统中的EXT4的文件系统类型,分区无法执行fsck相关命令,需要进入可维护模式进行修复。在专有云V3.5之后物理机的RAMOS系统采用7U内核,不需要进入可维护模式进行修复。

进入RAMOS系统

注意:不同物理机选择PXE启动方式各不相同,需根据现场实际情况进行操作,具体启动PXE的方法可咨询阿里云技术支持。

  1. 登录物理机的BMC系统,按F12键,系统显示类似如下。等待一段时间后,通过启动PXE进入RAMOS系统。

    说明:如果因浏览器或插件原因无法登录BMC系统,则需要进入机房接显示器进行操作。

  1. 进入RAMOS系统界面后,系统显示类似如下,说明可以执行相关排查命令

    注意:专有云V3.5之后使用的RAMOS环境为7U操作系统。若密码已经更改,请咨询阿里云技术支持,否则无法进入RAMOS。

RAMOS系统中修复文件系统

警告:执行fsck命令必须先进入RAMOS模式,再对非挂载的分区进行操作。fsck是文件系统的修复命令,会将文件系统中错误的inode和block删除,这些错误的inode和block对应的文件已经无法使用,所以此删除操作是可接受的。操作完毕之后,错误的inode和block对应的文件会消失,该结果是符合预期的。

  1. 登录RAMOS系统,执行以下命令,对分区进行文件系统检测和修复。

    fsck -y [$Partition_Name]

    说明

    • [$Partition_Name]为环境检查中记录的非挂载点的分区名称。

    • [$Partition_Name]不可为sda设备名。

    • 执行fsck相关命令必须先进入RAMOS模式,再对非挂载的分区进行操作。

    • 关于fsck相关命令的更多信息可执行man fsck,查阅相关用法。

    系统显示类似如下,对报错的分区进行检测和修复。

    如果启动时报错信息提示为挂载点报错时,则进行以下操作:

    1. 执行以下命令,查看分区信息,也可以通过同角色物理机挂载情况来判断,获取并记录对应的分区名称。

      blkid | grep [$Mount_Name]
      说明:[$Mount_Name]为环境检查记录的挂载点名称。
    2. 执行以下命令,对分区进行文件系统检测。

      fsck -y [$Mount_Partition_Name]
      说明:[$Mount_Partition_Name_]为上一步记录的分区名称。
    3. 如果启动时报错信息提示为/apasara挂载点报错,则需要对/apsara/apsarapangu两个目录对应的分区进行文件系统检测,请参见本注释步骤1到步骤2。
  1. 重启系统。

进入可维护模式修复

注意

  • 对于挂载的根分区无法进行fsck相关命令的修复,请联系阿里云技术支持。

  1. 以root用户登录报错物理机,输入密码进入可维护模式。

  1. 执行以下命令,卸载对应的分区。

    umount [$Partition_Name]

    注意:如果卸载的是挂载点则执行以下命令。

    umount [$Mount_Name]
  1. 进行文件系统检测,请参见上一小节RAMOS系统中修复文件系统操作步骤。

  2. 重启系统。

3.3. 结果验证

可正常进入系统,分区可读写。

4. 回滚方案

本方案为介绍文件系统检测修复的方法,无需回滚。

5. 补充说明

相关知识介绍

  • 文件系统:Linux以文件的形式对计算机中的数据和硬件资源进行管理,反映在Linux的文件类型上就是普通文件、目录文件、设备文件、链接文件、管道文件和套接字文件等。文件系统就是在存储设备上组织文件的一种机制,是操作系统用于定位存储设备中文件的一种方法和数据结构。目前在Linux操作系统常用的文件系统格式包括EXT3、EXT4和XFS等。目前在5U环境中大量使用EXT3格式,而6U和7U环境中大量使用EXT4格式。Linux启动时会根据/etc/fstab目录中定义的分区和目录进行开机挂载,当分区不存在或文件系统错误,则会导致无法挂载的情况。在Linux系统启动过程中有很多系统服务按顺序启动,当有某个服务无法正常启动时,也会导致系统无法启动。

  • 带外系统:带外是相对带内的概念叫法,参照物是OS。带内是OS内部,带外是OS外部,即我们常说的BMC。目前所有主流服务器架构平台X86、Power、AMD和ARM均采用OS与BMC双系统模式,对整机硬件资源进行编排管控。 BMC(Baseboard Management Controller)即我们常说的带外系统,是在机器上电时即完成自身初始化后便开始运行。其系统可在Standby电模式下工作。所以通过带外监控服务器发生的硬件故障,不受OS存活状态影响,可实现7*24小时无间断监控。我们也可以通过带外方式,精确感知带内存活以实现OS存活监控。所有服务器均具备带外功能,可通过浏览器和JAVA结合的模式实现KVM控制,KVM将键盘、显示、鼠标进行重定向,让远程接入客户获得本地操作的体验,即可以不进机房,而远程通过看到机器屏幕并进行操作。 专有云进行交付时,由一台Windows服务器用于登录所有物理机的带外系统,进行远程管理。每台物理机的带外IP地址可从oob容器中获取并通过主板SN号进行匹配。

  • RAMOS系统:专有云iClone装机时,不使用光盘的OS系统,简称RAMOS。即物理机通过网卡PXE启动,进入oob-clone容器提供的RAMOS系统,实现对本物理机的系统排查。