【银河麒麟高级服务器操作系统·实例分享】裸金属服务器开机失败分析及处理建议

了解更多银河麒麟操作系统全新产品,请点击访问

麒麟软件产品专区:https://product.kylinos.cn

开发者专区:https://developer.kylinos.cn

文档中心:https://documentkylinos.cn


现象描述

裸金属物理服务器开机卡在EFI stub页面,无法正常进入系统。

现象分析

单用户

针对开机类问题首先通过grub中添加参数进入单用户模式,尝试恢复系统,但通过添加对应参数进入单用户模式同样会卡在EFI stub页面依旧无法正常进入系统。

救援模式

因单用户无法进入,尝试通过挂载iso镜像至光驱,通过iso镜像进行救援模式操作,挂载的为银河麒麟高级服务器操作系统SP3-iso镜像,通过进入TroubleshootingRescue中进救援模式,在救援模式正常进入后,通过chroot /mnt/sysimage进入问题系统进行排查,查看/var/log/messages看到,在5月13日后日志出现停止记录现象,最后记录的信息为符号组成乱码,无有效信息。从日志记录现象得知系统死机时为突发情况,且疑似记录日志的rsyslog等服务写入日志动作未成功完成,偏突发情况。

通过救援模式查看对应/var/crash目录,并未发现生成kernel生成的对应vmcore文件,已知vmcore为系统层分析宕机类问题的重要调试工具,/var/crash为默认vmcore存储目录,以此推断系统本身并无时间主动生成异常日志。

文件系统

通过救援模式观察系统内文件系统分布可知根目录为ext4格式,尝试使用fsck.ext4对/dev/mapper/klas-root等重要文件系统进行检测修复。结果反馈文件系统本身并未出现异常损坏,无法开机问题非常规掉电导致系统内文件系统损坏而无法开机。

尝试对存储磁盘分区的/etc/fstab文件中对除根目录挂载点以外的目录进行注释,排除其他磁盘分区带来的影响,直接重启操作系统测试发现,仍然无法正常进入系统,此时排除其他磁盘分区异常。

串口日志

因系统内无有效日志信息,于是通过开启串口日志,捕获系统侧外的日志信息,观察无法正常开机启动原因。

通过串口日志捕获到在最初存在对应驱动存在mem内存处异常,怀疑为对应驱动模块BUG导致问题,于是在内核加载的grub阶段,对串口日志的报错模块进行禁止加载(modprobe.blacklist)动作,以此排除系统在启动时因个别驱动模块异常导致的无法开机问题。

进行如上图的操作后,发现串口日志仍有Call trace日志输出,如下图。

由该串口日志可以看到,已知comm提示异常进程为systemd-udevd,该进程主要负责系统中的设备管理,处理设备的初始化、热插拔事件和设备节点管理等工作;输出对应的stack limit=0x(ptrval_)堆栈限制指向该进程在对应堆栈出存在异常。造成该异常可能原因包括内存异常、硬件问题和内核代码问题等。

从现有的堆栈我们可以看到最后的Call trace指向的地址为十六进制的0xffff22563e000008,这可能表示内存地址或内存操作的相关动作,该位置并未打印出对应的内核内部函数,偏向于内存地址本身存在异常,并非在内核函数内部崩溃。

如图中表示的Code:bad PC value通常在系统或应用程序崩溃时出现,说明存在无效的程序计数器(PC)值,PC通常为指向正在执行的指令的寄存器,存储下一条要执行的指令的内存地址,当PC值无效或指向错误地址时,便会出现bad PC value错误。该错误的出现大部分可能由:1、硬件故障;2、软件代码错误;导致。

分析结论

截至现有信息,系统层并++++无更多有效信息++++(vmcore)可用于分析死机原因,串口提供的日志更多的指向底层内存异常。且系统侧的恢复手段均无法启动操作系统。

因此建议整机侧协助对底层硬件内存相关设备进行更换检测,后续整机同事更换内存等主板硬件后整机侧反馈可正常开机。

解决建议

整机侧更换服务器主板。

相关推荐
摸鱼也很难37 分钟前
Docker 镜像加速和配置的分享 && 云服务器搭建beef-xss
运维·docker·容器
watermelonoops40 分钟前
Deepin和Windows传文件(Xftp,WinSCP)
linux·ssh·deepin·winscp·xftp
woshilys1 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
疯狂飙车的蜗牛2 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
恩爸编程3 小时前
探索 Nginx:Web 世界的幕后英雄
运维·nginx·nginx反向代理·nginx是什么·nginx静态资源服务器·nginx服务器·nginx解决哪些问题
独行soc3 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
Michaelwubo4 小时前
Docker dockerfile镜像编码 centos7
运维·docker·容器
远游客07134 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<4 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟4 小时前
centos-stream9系统安装docker
linux·docker·centos