在fstab文件中配置UUID方式自动挂载数据盘

通过在/etc/fstab文件中配置数据盘UUID,可实现开机自动挂载。否则,每次重启都需手动执行命令挂载文件系统,才能恢复对盘内文件的访问。

操作步骤

在确保数据盘状态为使用中,且已完成初始化并挂载文件系统的情况下,执行以下操作。

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 为防止误操作,建议备份/etc/fstab文件。

    sudo cp /etc/fstab /etc/fstab.bak
  3. 配置挂载信息。

    1. 获取目标数据盘信息。

      运行命令sudo lsblk -f,记录待配置数据盘的目标设备名称、挂载目录和文件系统类型,后续编辑挂载信息时需要使用。

      $ sudo lsblk -f
      NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
      vda                                                      
      └─vda1 ext4   root  33b46ac5-7482-4aa5-8de0-60ab4c3a4c78 /
      vdb    ext4         3d7a3861-da22-484e-bbf4-b09375894b4f                                                         
      └─vdb1 ext4         f1645951-134f-4677-b5f4-c65c71f8f86d /mnt
      vdc    xfs          3d7a3861-da22-484e-bbf4-b09375894b4f /test
      • 如果设备存在分区,目标设备名称为分区名称。示例中数据盘vdb目标设备名称vdb1挂载目录/mnt文件系统类型ext4

      • 如果设备不存在分区,目标设备名称与设备名称一致。示例中数据盘vdc目标设备名称vdc挂载目录/test文件系统类型xfs

    2. 将挂载信息写入/etc/fstab

      将命令中的变量<目标设备名称><挂载目录><文件系统类型>,替换为从上一步中获取到的信息后执行。详细参数介绍可参看fstab-man手册

      重要

      当参数设置为 defaults,nofail 时,即使挂载配置错误,实例也可正常启动。但由于系统不会报错,需特别关注自动挂载是否配置成功,防止数据写入错误设备。

      sudo sh -c "echo `sudo blkid /dev/<目标设备名称> | awk '{print \$2}' | sed 's/\"//g'` <挂载目录> <文件系统类型> defaults 0 0 >> /etc/fstab"
      以配置目标设备名称vdb1挂载目录/mnt文件系统类型ext4为例:
      sudo sh -c "echo `sudo blkid /dev/vdb1 | awk '{print \$2}' | sed 's/\"//g'` /mnt ext4 defaults 0 0 >> /etc/fstab"
  4. 验证自动挂载配置是否生效。 

    1. 卸载当前挂载点。

      <目标设备名称>需替换为步骤2.a中获取的目标设备名称。

      sudo umount /dev/<目标设备名称>
    2. 重新加载/etc/fstab文件。

      运行以下指令,系统将根据/etc/fstab 配置文件,挂载尚未被挂载的文件系统。

      sudo mount -a

      如果产生报错,可通过sudo mv /etc/fstab.bak /etc/fstab指令,快速还原/etc/fstab文件。

    3. 查看挂载是否生效。

      运行sudo lsblk命令,若回执中目标设备存在挂载目录(MOUNTPOINT)信息,表示配置生效。

  5. 执行sudo reboot指令,重启操作系统,验证可否正常启动。

    重要

    重启操作系统可能会影响业务运行,请谨慎操作。

    若启动成功,运行sudo lsblk命令,若回执中目标设备存在正确挂载目录(MOUNTPOINT)信息,表示配置生效。

    若启动失败,请依照Linux实例的/etc/fstab文件配置错误导致系统启动异常问题处理,排查问题。

常见问题

/etc/fstab 配置错误,重启后实例无法启动怎么办?

可依照Linux实例的/etc/fstab文件配置错误导致系统启动异常问题处理,使用VNC进行远程连接实例,在紧急模式下,手动修改错误的挂载信息。

配置fstab时,为何推荐使用 UUID 而非分区名(如 /dev/vdb1)?

  • 使用数据盘分区名:若数据盘的挂载顺序变更,系统分配的分区名可能也会发生变化,这会使 fstab 中的挂载条目指向错误的分区或直接失效,从而导致应用无法访问数据,甚至造成服务中断。

  • 使用UUID标识:UUID为数据盘唯一标识符,不会受到挂载顺序变更的影响,可定位并挂载正确的分区。