Linux 云服务器重启后云硬盘未自动挂载

最后更新时间:2021-04-19 15:45:51

    现象描述

    已创建文件系统,并已设置文件系统自动挂载至 Linux 云服务器的云硬盘,在云服务器重启后未进行自动挂载。

    可能原因

    • 原因1:未在系统的 fstab 配置文件中配置自动挂载云硬盘。
    • 原因2fstab 配置文件配置不当。
      例如,配置为使用设备名称自动挂载,但云服务器重启时设备名称发生改变,导致系统无法正常启动。

    解决思路

    • 解决思路1(对应原因1)
      通过以下配置方式重新配置 /etc/fstab 文件,即可实现云服务器重启后对应云硬盘的自动挂载:
      • 使用磁盘的软链接(推荐)
      • 使用文件系统的 UUID(universally unique identifier)
      • 使用设备名称(不推荐)
        具体操作请参见 配置 /etc/fstab 文件
    • 解决思路2(对应原因2)
      通过 VNC 登录 Linux 云服务器,并进入单用户模式。在单用户模式下修复/etc/fstab 配置文件,并进行重新配置。具体操作请参见 修复 /etc/fstab 文件

    处理步骤

    配置 /etc/fstab 文件

    1. 登录 Linux 云服务器,详情请参见 使用标准登录方式登录 Linux 实例(推荐)
    2. 选择配置方式,并获取对应信息。

    使用弹性云硬盘的软链接(推荐)

    配置方式分析

    • 优点:每个弹性云硬盘的软链接固定且唯一,不会随卸载挂载、格式化分区等操作而改变。
    • 缺点:仅弹性云硬盘具备软链接,且系统无法感知分区的格式化操作。

    信息获取方式

    执行以下命令,查看弹性云硬盘的软链接。

    ls -l /dev/disk/by-id
    

    返回结果如下图所示:

    使用文件系统的UUID

    配置方式分析

    可能会因文件系统的 UUID 变化而导致自动挂载设置失效。
    例如,重新格式化文件系统后,文件系统的 UUID 将会发生变化。

    信息获取方式

    执行以下命令,查看文件系统的 UUID。

    blkid /dev/vdb1
    

    返回结果如下图所示:

    使用设备名称(不推荐)

    配置方式分析

    可能会因设备名称变化而导致自动挂载设置失效。
    例如,迁移数据时将云服务器上的弹性云硬盘卸载后再次挂载,操作系统再次识别到该文件系统时,名称可能会变化。

    信息获取方式

    执行以下命令,查看设备名称。

    fdisk -l
    

    返回结果如下图所示:

    1. 执行以下命令,备份 /etc/fstab 文件。本文以备份到 /home 目录下为例:
    cp /etc/fstab /home
    
    1. 执行以下命令,使用 VI 编辑器打开 /etc/fstab 文件。
    vi /etc/fstab
    
    1. i 进入编辑模式,并在文件末尾处另起一行,输入以下配置信息。
    <设备信息> <挂载点> <文件系统格式> <文件系统安装选项> <文件系统转储频率> <启动时的文件系统检查顺序>
    

    您可根据 步骤2 所选的配置方式,参考以下示例进行配置。

    • 使用弹性云硬盘的软链接(推荐)配置示例:
      /dev/disk/by-id/virtio-disk-drkhklpe-part1 /data/newpart   ext4 defaults     0   2
      
    • 使用文件系统的 UUID 配置示例:
      UUID=d489ca1c-5057-4536-81cb-ceb2847f9954 /data/newpart   ext4 defaults     0   2
      
    • 使用设备名称(不推荐)配置示例:
      /dev/vdb1 /data/newpart   ext4 defaults     0   2
      
    1. Esc 输入 :wq 后,再按 Enter 保存设置并退出编辑器。
    2. 执行以下命令,检查 /etc/fstab 文件是否写入成功。
    mount -a 
    

    返回结果如下图所示,则表示文件已写入成功。文件系统会在云服务器启动时自动挂载,您可重启云服务器进行验证。

    修复 /etc/fstab 文件

    1. 使用 VNC 登录云服务器,详情请参见 使用 VNC 登录 Linux 实例

    2. 进入单用户模式,详情请参见 设置 Linux 云服务器进入单用户模式

    3. 执行以下命令,备份 /etc/fstab 文件。本文以备份到 /home 目录下为例:

    cp /etc/fstab /home
    
    1. 执行以下命令,使用 VI 编辑器打开 /etc/fstab 文件。
    vi /etc/fstab
    
    1. i 进入编辑模式,将光标移至配置错误行的行首,并输入 # 将该行配置注释。如下图所示:

      说明:

      该行配置了数据盘自动挂载,但由于错误配置实际云服务器重启时未能挂载。

    2. Esc 输入 :wq 后,再按 Enter 保存设置并退出编辑器。

    3. 在单用户模式的命令行中输入 exit,退出单用户模式。

    4. 等待云服务器重启完成后,登录云服务器。

    5. 参考 配置 /etc/fstab 文件 步骤,重新进行配置即可。