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

在Linux系统中,您可以通过在fstab文件中使用UUID(Universally Unique Identifier)方式标识文件系统,以确保即使云盘的挂载顺序发生变化仍然可以正确地自动挂载数据盘,从而解决挂载顺序变更导致ECS重启后无法正常运行的问题。本文介绍如何在fstab文件中配置UUID方式自动挂载数据盘的文件系统。

说明

fstab支持使用云盘分区名(例如/dev/vdb1)或UUID标识文件系统,两者的差异如下所示:

  • 在fstab中使用云盘分区名标识文件系统,如果云盘的挂载顺序变更,云盘分区可能不会被正确地挂载(mount)到原来的挂载点。这种情况下可能会影响您在ECS上运行的应用。

  • 在fstab中使用UUID标识文件系统,如果云盘的挂载顺序变更,云盘分区仍然可以正确地挂载(mount)到原来的挂载点。因此,本文建议使用UUID标识文件系统。

操作步骤

本操作以实例的两块数据盘/dev/vdc(分区/dev/vdc1)和/dev/vdd(分区/dev/vdd1)为例,请您根据环境进行操作。

  1. 远程连接ECS实例。

  2. 运行以下命令,查看实例的云盘信息。

    sudo fdisk -lu

    运行结果如下所示。

    image.png

  3. 运行以下命令,查询数据盘的UUID信息、分区名称以及文件系统类型。

    sudo blkid

    运行结果如下所示。

    image.png

  4. (条件必选)如果您的数据盘分区还没有挂载文件系统,您需要分别为数据盘分区创建挂载目录并挂载文件系统。

    您可以将数据盘分区挂载到已有目录下,也可以创建新的挂载目录,本示例以新建挂载目录为例。

    • 创建/dev/vdc1分区的挂载点/test01

      sudo mkdir /test01
    • 创建/dev/vdd1分区的挂载点/test02

      sudo mkdir /test02
  5. (条件必选)运行以下命令,挂载数据盘分区的文件系统。

    • 挂载/dev/vdc1:

      sudo mount /dev/vdc1 /test01
    • 挂载/dev/vdd1:

      sudo mount /dev/vdd1 /test02
  6. 运行以下命令,检查挂载情况。

    df -h

    执行结果如下所示。

    image.png

  7. 在/etc/fstab文件中添加数据盘分区的挂载信息,配置开机自动挂载分区。

    1. 运行以下命令,编辑/etc/fstab。

      sudo vi /etc/fstab
    2. i键进入编辑模式。

    3. 新增以下挂载信息。

      UUID=d18698d2-61ea-4992-a8a9-26ee214e****   /test01     ext4    defaults     0   0
      UUID=6c5b3eea-930f-477d-abc6-42aa413d****   /test02     xfs     defaults     0   0

      结果如下所示。

      image.png

      序号

      字段

      说明

      <file system>

      要挂载分区的文件系统。

      此处建议使用UUID,可以使用blkid命令查询分区文件系统的UUID。

      <dir>

      文件系统的挂载目录。

      您可以使用本文创建的挂载目录/test01/test02,也可以使用df -Th命令查询文件系统的挂载目录。

      <type>

      要挂载分区的文件系统类型。

      可以使用blkid命令查询分区的文件系统类型。

      <options>

      挂载时使用的参数,一般情况下使用defaults参数。如果需要使用多个参数,通过英文逗号(,)分隔,例如defaults,noatime

      • 对于<options>参数的更多说明,请参见fstab说明

      • 如果挂载的是ext4文件系统,选择不同的挂载参数可以满足您对文件系统的数据安全性以及性能的要求。更多信息,请参见ext4文件系统挂载参数说明

      <dump>

      dump工具是否对这个文件系统进行备份。

      • 0:表示忽略。

      • 1:表示进行备份。

      一般情况下不使用dump工具,可以设置为0。

      <pass>

      fsck检查文件系统的优先级。

      • 0:表示不检查文件系统。

      • 1:如果需要检查,根目录(/)对应的文件系统设置为1。

      • 2:如果需要检查,非根目录对应的其他文件系统设置为2。

      一般情况下,可以设置为0。

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

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

  8. 运行以下命令,查看/etc/fstab文件。

    cat /etc/fstab

    执行结果如下所示。

    image.png

  9. 运行以下命令,读取并根据/etc/fstab文件的配置自动挂载文件系统。如果无报错输出,表示您的/etc/fstab配置无误。

    sudo mount -a

配置完成后,如果您后续重启ECS实例,系统将自动挂载数据盘。

相关文档