虚拟机无法进入系统问题

概述

客户在华为云平台上创建了两台虚拟机并部署aarch64 V10 OS,2021-10-28其中一台虚拟机业务出现异常,运维重启虚拟机后系统进不去,左上角光标闪烁,接着重启另一台虚拟机同样起不来,现象一致。

分析

通过分析现场收集的message日志,确认2021-10-28日11:17进行系统重启,重启后,系统仍然无法正常进入,日志显示在11:09左右,有大量dbus-daemon服务异常信息:

可以看出,dbus-daemon报出大量和用户名有关异常日志,且重启系统后,查看boot.log中也存在一些基础服务失败的现象,使用单用户进入系统,禁用图形化显示服务,重启进入正常模式系统,通过systemctl list-units --failed列出失败服务:

以系统基础组件的dbus服务异常为例,尝试再次启动dbus服务,发现启动仍然失败,由于该服务为系统底层的基础通信服务,就会造成其他一系列的服务异常。

结合前面分析的dbus-daemon报出的大量用户相关日志,查看系统的/etc/passwd文件,发现/etc/passwd以及/etc/shadow不存在,只有/etc/passwd-和/etc/shadow-备份文件,因此证实了dbus服务异常是无法找到系统用户造成的。

为了保证业务,采用临时的手段,即首先复制备份文件passwd-文件到/etc/passwd,然后手动添加dbus用户,接着重启系统,查看系统其他服务恢复正常的,问题初步解决,接着通过执行pwconv恢复/etc/shadow文件,至此,可以认为系统恢复正常。需要注意的是,上述的操作是一种应急方案。

经过现场环境梳理,麒麟虚拟机运行在华为云平台之上,虚拟机中部署的业务应用使用的是root用户运行,且业务对外的web前端应用。

结论

此次故障,初步分析为系统丢失/etc/passwd以及/etc/shadow文件,引起一系列系统服务失败,导致业务因系统故障出现崩溃。

建议

  1. 强烈建议业务应用使用非root权限用户运行,防止外部不可控因素通过对外应用获取特权,从而造成系统故障。
  2. 建议协调云平台排查相关日志,分析是否存在平台因素,导致虚拟机系统发生故障。(案例参考链接/etc/passwd文件损坏导致云服务器登录失败怎么办?_弹性云服务器 ECS_故障排除_SSH连接_华为云 (huaweicloud.com)
  3. 建议协调运维人员,增加对虚拟机的监控。
  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烈日下的奔跑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值