现象描述
已创建文件系统,并已设置文件系统自动挂载至 Linux 云服务器的云硬盘,在云服务器重启后未进行自动挂载。
可能原因
原因1:未在系统的
fstab
配置文件中配置自动挂载云硬盘。原因2:
fstab
配置文件配置不当。
例如,配置为使用设备名称自动挂载,但云服务器重启时设备名称发生改变,导致系统无法正常启动。解决思路
解决思路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。
blkid /dev/vdb1
返回结果如下图所示:
配置方式分析
可能会因设备名称变化而导致自动挂载设置失效。
例如,迁移数据时将云服务器上的弹性云硬盘卸载后再次挂载,操作系统再次识别到该文件系统时,名称可能会变化。
信息获取方式
执行以下命令,查看设备名称。
fdisk -l
返回结果如下图所示:
3. 执行以下命令,备份
/etc/fstab
文件。本文以备份到 /home
目录下为例:cp /etc/fstab /home
4. 执行以下命令,使用 VI 编辑器打开
/etc/fstab
文件。vi /etc/fstab
5. 按 i 进入编辑模式,并在文件末尾处另起一行,输入以下配置信息。
<设备信息> <挂载点> <文件系统格式> <文件系统安装选项> <文件系统转储频率> <启动时的文件系统检查顺序>
使用弹性云硬盘的软链接(推荐)配置示例:
/dev/disk/by-id/virtio-disk-drkhklpe-part1 /data/newpart ext4 defaults,nofail 0 2
使用文件系统的 UUID 配置示例:
UUID=d489ca1c-5057-4536-81cb-ceb2847f9954 /data/newpart ext4 defaults,nofail 0 2
使用设备名称(不推荐)配置示例:
/dev/vdb1 /data/newpart ext4 defaults,nofail 0 2
6. 按 Esc 输入 :wq 后,再按 Enter 保存设置并退出编辑器。
7. 执行以下命令,检查
/etc/fstab
文件是否写入成功。mount -a
返回结果如下图所示,则表示文件已写入成功。文件系统会在云服务器启动时自动挂载,您可重启云服务器进行验证。
修复 /etc/fstab 文件
1. 使用 VNC 登录云服务器,详情请参见 使用 VNC 登录 Linux 实例。
2. 进入单用户模式,详情请参见 设置 Linux 云服务器进入单用户模式。
3. 执行以下命令,备份
/etc/fstab
文件。本文以备份到 /home
目录下为例:cp /etc/fstab /home
4. 执行以下命令,使用 VI 编辑器打开
/etc/fstab
文件。vi /etc/fstab
5. 按 i 进入编辑模式,将光标移至配置错误行的行首,并输入
#
将该行配置注释。如下图所示:说明:
该行配置了数据盘自动挂载,但由于错误配置实际云服务器重启时未能挂载。
6. 按 Esc 输入 :wq 后,再按 Enter 保存设置并退出编辑器。
7. 在单用户模式的命令行中输入
exit
,退出单用户模式。8. 等待云服务器重启完成后,登录云服务器。
9. 参见 配置 /etc/fstab 文件 步骤,重新进行配置即可。