在Linux系统中,您可以通过配置fstab文件让ECS启动时会自动挂载数据盘。但是,如果fstab文件配置不当,那么您的云盘挂载顺序变动后,可能会导致ECS重启后不能正常运行。本文介绍如何在fstab文件中配置UUID方式自动挂载数据盘,可以解决此类重启异常问题。
背景信息
fstab支持使用云盘分区名(例如/dev/vdb1)或UUID标识文件系统,两者的差异如下所示:
- 在fstab中使用云盘分区名标识文件系统,如果云盘的挂载顺序变更,云盘分区可能不会被正确的挂载(mount)到原来的挂载点。这种情况下可能会影响您ECS上运行的应用。
- 在fstab中使用UUID标识文件系统,如果云盘的挂载顺序变更,云盘分区仍然可以正确的挂载(mount)到原来的挂载点。因此,本文建议使用UUID标识文件系统。
操作步骤
- 远程连接ECS实例。
- 运行以下命令查看实例的云盘信息。
fdisk -lu
运行结果如下所示。
- 运行以下命令查询云盘的UUID信息。
blkid
运行结果如下所示。
- 运行以下命令分别创建数据盘的挂载点。
- 创建/dev/vdb1的挂载点/test01:
mkdir /test01
- 创建/dev/vdc1的挂载点/test02:
mkdir /test02
- 在fstab文件中添加挂载信息。
- 运行以下命令编辑fstab。
- 按
i
键进入编辑模式。
- 新增以下挂载信息。
UUID=59f23670-94c1-42d1-8bb0-209d7854**** /test01 ext4 defaults 0 0
UUID=88619b1a-d971-41c2-91d0-3a440fc0**** /test02 xfs defaults 0 0
结果如下所示。
序号 |
字段 |
说明 |
① |
<file system> |
要挂载的分区。
此处建议使用UUID,可以使用blkid 命令查询文件系统的UUID。
|
② |
<dir> |
分区挂载位置。
您可以自己创建新的挂载位置,例如本文中的/test01和/test02。
|
③ |
<type> |
要挂载分区的文件系统类型。
您可以使用blkid 命令查询分区的文件系统类型。
|
④ |
<options> |
挂载时使用的参数,一般情况下使用defaults参数。如果需要使用多个参数,通过英文逗号(,)分隔,例如defaults,noatime 。
对于<options>参数的更多信息,请参见fstab说明。
|
⑤ |
<dump> |
dump工具是否对这个文件系统进行备份。
一般情况下没有使用dump工具,可以设置为0。
|
⑥ |
<pass> |
fsck检查文件系统的优先级。
- 0:表示设备不进行检查。
- 1:如果需要检查,根目录设置为1。
- 2:如果需要检查,其它所有需要被检查的设备设置为2。
一般情况下,可以设置为0。
|
- 修改完成后,按
Esc
键退出编辑模式。
- 输入
:wq
后,按Enter
键保存并退出。
- 运行以下命令查看fstab文件。
cat /etc/fstab
执行结果如下所示。
- 运行以下命令挂载数据盘。
- 挂载/dev/vdb1:
mount /dev/vdb1 /test01
- 挂载/dev/vdc1:
mount /dev/vdc1 /test02
- 运行以下命令检查挂载结果。
df -h
执行结果如下所示。
配置完成后,您后续如果重启ECS实例,系统将自动挂载数据盘。