You need to enable JavaScript to run this app.
导航
Linux实例fstab配置修复方案
最近更新时间:2024.10.18 17:12:44首次发布时间:2024.05.21 10:39:47

本文主要介绍如何排查和解决Linux实例的块设备信息不存在、fstab文件格式和挂载异常问题。

实例不同,回显参数也有可能不同,请以实际情况为准,本文回显示例仅供参考。

前提条件

如果您需对实例进行配置与数据修改,建议您先创建快照,以便提高容错能力,确保数据安全。

移除Linux实例不存在的块设备

在Linux实例中如果存在多余的块设备,重启系统后可能导致系统无法正常启动,此处介绍如何移除/etc/fstab文件内不存在的块设备。

操作步骤

  1. 登录目标实例,操作详情可参考登录Linux实例

  2. 执行以下命令,查看当前存在的块设备信息。

    blkid
    

    回显类似如下示例:


    表示当前实例有两个块设备/dev/vda1/dev/vda2

  3. 执行以下命令,查看当前/etc/fstab文件中配置的块设备信息。

    cat /etc/fstab
    

    回显类似如下示例:

  4. 对比/etc/fstab文件与blkid命令结果中的块设备信息是否存在不一致的情况,即UUID信息是否完全一致。

  5. 若存在不一致的情况,请记录blkid命令的结果(以备与编辑后的/etc/fstab文件做比对)后,备份并编辑/etc/fstab文件。

    1. (可选)修改配置文件前,建议先执行cp /etc/fstab /etc/fstab.bak命令备份数据。

    2. 执行以下命令,进入/etc/fstab文件编辑模式。

      vim /etc/fstab
      
    3. 通过#注释/etc/fstab文件中与blkid命令结果不一致的块设备信息。

    4. Esc按键退出编辑模式。

    5. 输入:wq,键入Enter,保存并退出。

  6. 确认/etc/fstab文件中的块设备信息与blkid命令结果中的信息一致,则完成修复。

    说明

    若还不一致,参考上述步骤重新操作。

Linux实例中存在未正确挂载的磁盘

在Linux实例中如果未正确挂载云盘,重启系统后可能导致系统无法正常启动。

可能是因为在/etc/fstab文件中配置自动挂载或配置出错。

操作步骤

  1. 登录目标实例,操作详情可参考登录Linux实例

  2. 执行以下命令,手动挂载云盘。

    mount /dev/vdb1 /mnt
    

    说明

    /mnt替换为实际挂载点。

  3. 执行以下命令,编辑/etc/fstab文件。

    注意

    修改配置文件之前,建议先执行cp /etc/fstab /etc/fstab.bak命令备份数据。

    vim /etc/fstab
    
    1. i按键,在文件最下方添加/<云盘分区> /<挂载目录> <文件格式> defaults 0 0配置,执行命令示例如下:
    /dev/vdb1 /mnt ext4 defaults 0 0
    

    说明

    • <云盘分区>表示挂载云盘的分区,本文以/dev/vdb1为例。
    • <挂载目录>表示设备挂载的目录,本文以/mnt为例。
    • <文件格式>表示文件的格式,本文以ext4为例。

    1. 修改完成后,按Esc按键退出编辑模式。
    2. 输入:wq,按Enter,保存并退出。

Linux实例配置文件存在格式错误

若您的实例启动失败,并提示Give root password for maintenancePress xxx to continue错误,可能是/etc/fstab配置文件中存在格式错误,您可以参考下文解决该问题。

背景信息

  • Linux系统中的/etc/fstab配置文件主要用于保存服务器的磁盘挂载信息,如果该配置文件中写入不正确的挂载信息或者该文件自身存在访问错误,系统启动时就可能出现异常,导致实例启动失败。

  • /etc/fstab配置文件格式错误可能有以下原因:

    • 权限配置错误。

    • 文件丢失。

    • 文件系统类型配置错误。

    • 多个文件系统均挂载到同一个挂载点。

    • 一个文件系统挂载到不同挂载点上。

操作步骤

  1. 登录目标实例,操作详情可参考登录Linux实例

  2. 执行以下命令,查看/etc/fstab配置文件中的磁盘挂载信息。

    cat /etc/fstab
    
    
  3. 对比/etc/fstab配置文件与blkid命令结果中的磁盘挂载信息是否一致。

    说明

    如果挂载信息(包括UUID、文件系统类型、挂载时使用的参数等)不一致,请记录blkid命令的结果,并执行步骤4。

  4. 检查配置文件中挂载信息的格式。
    正确格式为/[$磁盘分区] /[$挂载目录] [$文件格式] defaults 0 0,如/dev/vdb1 /mnt ext4 defaults 0 0

    说明

    • [$磁盘分区]:挂载磁盘的分区,如/dev/vdb1

    • [$挂载目录]:设备挂载的目录,如/mnt

    • [$文件格式]:文件格式,如ext4

  5. 执行以下命令,编辑/etc/fstab配置文件。

    vim /etc/fstab
    
    1. A按键,找到错误的格式所在行,按照步骤3中正确配置格式进行修改。

    2. 修改完成后,按**Esc按键退出编辑模式。

    3. 输入:wq,按Enter按键键,保存并退出。

  6. 执行如下命令,重新加载/etc/fstab配置文件后生效。

    mount -a