dos啥也不会

以需求为导向学习

Linux启动时忽略载硬盘错误

前段时间腾讯云又出了免费升配活动,升级完发现服务器连不上了,vnc上去发现是磁盘挂载出了问题.记录一下解决方案和如何在启动时忽略挂载错误

故障排查

以为挂载配置错误会导致服务器卡在启动中,ip无法ping通,ssh无法连接,所以登录控制台,使用vnc登录,连接上vnc后可以发现日志显示在挂载硬盘时出错要求输入root密码来维护系统(忘记截图了,后续补一张),如果记得root密码的话这时候就可以直接输入密码,注释掉/etc/fstab文件中错误的配置,然后重启即可.
如果不记得密码,可以进入单用户模式修改/etc/fstab文件

启动时忽略挂载错误

对linux系统来说启动时数据盘无法挂载并不是什么致命错误,完全可以在启动过程忽略,等系统启动好之后再处理.通过man fstab命令查看手册可知挂载模式可选项包括一下几种,在挂载模式后添加,nofail即可.

1
2
3
4
5
6
7
8
9
10
11
12
13
defaults
use default options: rw, suid, dev, exec, auto, nouser, and async.

noauto do not mount when "mount -a" is given (e.g., at boot time)

user allow a user to mount

owner allow device owner to mount

comment
or x-<name> for use by fstab-maintaining programs

nofail do not report errors for this device if it does not exist.

注意不同linux版本忽略错误的方式可能不一样,在设置前请自行阅读手册

故障原因

解决完问题后去看了一下腾讯云最新的文档,发现了这次问题的可能原因
根据云硬盘初始化文档描述使用uuid挂载时会因为文件系统发生变更导致uuid变化,文档中列举了格式化文件系统的操作.而轻量服务器升级配置会改变系统分区的大小,所以可能也会导致uuid发生变化.但是这个服务器创建时间比较早当时腾讯云文档还将uuid挂载的方式作为推荐方式,目前文档中推荐的是使用弹性云硬盘的软链接,不过这个应该是腾讯云对云硬盘挂载做的优化功能,在其他idc无法使用