通过在/etc/fstab
文件中配置数据盘UUID,可实现开机自动挂载。否则,每次重启都需手动执行命令挂载文件系统,才能恢复对盘内文件的访问。
操作步骤
在确保数据盘状态为使用中,且已完成初始化并挂载文件系统的情况下,执行以下操作。
登录ECS实例。
访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。
进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。
为防止误操作,建议备份
/etc/fstab
文件。sudo cp /etc/fstab /etc/fstab.bak
配置挂载信息。
获取目标数据盘信息。
运行命令
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
。
将挂载信息写入
/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"
验证自动挂载配置是否生效。
卸载当前挂载点。
<目标设备名称>
需替换为步骤2.a中获取的目标设备名称。sudo umount /dev/<目标设备名称>
重新加载
/etc/fstab
文件。运行以下指令,系统将根据
/etc/fstab
配置文件,挂载尚未被挂载的文件系统。sudo mount -a
如果产生报错,可通过
sudo mv /etc/fstab.bak /etc/fstab
指令,快速还原/etc/fstab文件。查看挂载是否生效。
运行
sudo lsblk
命令,若回执中目标设备存在挂载目录(MOUNTPOINT
)信息,表示配置生效。
执行
sudo reboot
指令,重启操作系统,验证可否正常启动。重要重启操作系统可能会影响业务运行,请谨慎操作。
若启动成功,运行
sudo lsblk
命令,若回执中目标设备存在正确挂载目录(MOUNTPOINT
)信息,表示配置生效。若启动失败,请依照Linux实例的/etc/fstab文件配置错误导致系统启动异常问题处理,排查问题。