概述
在Linux系统中,fstab文件内通常配置了文件系统的挂载信息,如果配置有误,会导致系统启动异常。本文主要介绍如何在fstab文件中配置文件磁盘标识方式为UUID,可以解决此类重启异常问题。
详细信息
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
背景信息
fstab支持使用云盘分区名(例如/dev/vdb1
)或UUID标识文件系统,两者的差异如下所示:
- 在fstab中使用云盘分区名标识文件系统,如果云盘的挂载顺序变更,云盘分区可能不会被正确的挂载(mount)到原来的挂载点。这种情况下可能会影响您ECS上运行的应用。
- 在fstab中使用UUID标识文件系统,如果云盘的挂载顺序变更,云盘分区仍然可以正确的挂载(mount)到原来的挂载点。因此,本文建议使用UUID标识文件系统。
操作步骤
- 执行以下命令,查看当前Linux实例中存在的块设备信息。
blkid
系统显示类似如下。/dev/vda1: UUID="8fb1dc87-472b-4a8d-b289-****" BLOCK_SIZE="4096" TYPE="ext4"
- 执行以下命令,查看当前
/etc/fstab
文件中已配置的块设备信息。cat /etc/fstab
系统显示类似如下。 - 检查
blkid
命令结果与/etc/fstab
文件中的内容是否匹配,然后在/etc/fstab
文件中修复不匹配的配置项。- 确认不匹配的内容。
包含但不限于以下需要确认的内容:- 需要自动挂载的文件系统都已配置正确,并且配置的文件系统在实例上确实存在。
如果配置的文件系统在实例上不存在,并且未在/etc/fstab文件对应行设置
nofail
参数,将导致系统启动时因找不到所需要挂载的文件系统而失败。 - 如果使用UUID指定挂载的文件系统,确保UUID信息完全一致。
- 确保配置的挂载点均已创建完成并且不存在冲突。
- 确保
/etc/fstab
文件中每一行配置项的参数都符合文件系统的格式要求。
- 需要自动挂载的文件系统都已配置正确,并且配置的文件系统在实例上确实存在。
- 修复不匹配的配置项。
- 执行以下命令,进入编辑模式。
vi /etc/fstab
- 将不匹配的示例值替换为正确值,按Esc键,输入
:wq
并回车,保存退出文件。说明:关于fstab文件配置示例,请参见更多信息。
- 执行以下命令,进入编辑模式。
- 修复完成后,确认
/etc/fstab
文件内容与blkid
命令结果保持一致。
- 确认不匹配的内容。
更多信息
以下内容为fstab文件配置示例:
序号 | 字段 | 说明 |
---|---|---|
① | <file system> | 要挂载分区的文件系统。
此处建议使用UUID,可以使用 |
② | <dir> | 文件系统的挂载位置。
您可以自己创建新的挂载位置,例如本文中的/test01和/test02。 |
③ | <type> | 要挂载分区的文件系统类型。
您可以使用 |
④ | <options> | 挂载时使用的参数,一般情况下使用defaults参数。如果需要使用多个参数,通过英文逗号(,)分隔,例如defaults,noatime 。
对于<options>参数的更多信息,请参见fstab说明。 |
⑤ | <dump> | dump工具是否对这个文件系统进行备份。
一般情况下没有使用dump工具,可以设置为0。 |
⑥ | <pass> | fsck检查文件系统的优先级。
一般情况下,可以设置为0。 |
相关文档
适用于
- 云服务器ECS