报错



某天由于openstack资源不足,导致了宿主机杀死了上面的部分虚拟机.刚好杀死了nginx和监控各微服务存活的一个服务.导致了整个平台大部分对外服务的访问异常. 大部分服务由于配置了开机自启,重启虚拟机后就恢复了.没配置的只能手动起. 在重启某虚拟机的时候,出现了如下问题,提示GIVE root password for maintenance,输入密码并进入后,重启网卡或reboot仍退到此报错



问题原因



/etc/fstab文件挂载的分区异常;
不正确关机及其他原因导致的分区受损
常见第1种原因



解决方法



<1>输入服务器root用户的密码



<2>查看挂载列表

cat /etc/fstab

在这里插入图片描述

可将可疑或有疑问的先注释掉(不要动boot和系统自带的挂载)



<3>查询设备上所采用文件系统类型

blkid

在这里插入图片描述



由示例可知,实际上该分区的文件系统类型为ext4,而挂载目录里写的/dev/vdb写的是xfs,导致服务器启动时检测到认为分区异常.
应该是 工作人员 手动挂载后,写/etc/fstab时,没有看分区的实际被格式化成的文件系统,直接写了xfs



<4>修改完成后,重启服务器,查看是否还有上面的报错



<5>还有一种是分区损坏了,需要修复文件系统

fsck -y 

修复完成后输入reboot,重启即可



如果前4步骤还没恢复,先启用备用服务,或 进入服务器scp配置和相关文件再配置一台该服务.业务正常后,再处理该异常服务器.如果无法scp出文件或没有备份只能大量时间尝试恢复此服务器了
.
由此可知,即使是仅用于内部做代理的nginx或其他服务,最好也要配置高可用或准备 备用服务,有异常可直接启动



关于评论里问题的补充:

很久以前的文章当时忘记截图了。当出现这个 Give root password for maintenance (or type Control-D to continue): 意思是让你输入密码,这时候输入root的账号密码就可以进入安全模式,这时候检查挂载然后对异常的那个分区进行fsck修复或修改为正确的挂载,最后重启服务器或该虚拟机

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐