主机的异常重启排查及解决


接受到Zabbix最新的一次告警

image-20240314092043454

连接主机查看主机依旧重启

image-20240314105534226

在系统上排查

最近一次重启时间为:2024年3月11日14:53左右(之前已经有多次重启)

查看最近一次系统日志:/var/log/syslog

image-20240311151431076

1
除Docker报错外无其他报错。

查看最近一次内核日志:/var/log/kernel.log

image-20240311152049167

1
无明显异常

查看定时任务 crontab -l

1
无异常

查看对外提供的服务 netstat -lanp

1
无异常

查看历史命令 history

1
无异常

硬件上排查

通过ibmc控制进入

1
有重启的记录无告警

ibmc的截图(服务器重启前1秒提供的)发现服务器在最后重启时命令行终端页面出现了:sysrq:Resetting

image-20240314105758022

据相关资料显示

1
sysrq功能(也称为Magic SysRq键)允许用户在系统发生问题时执行一系列的低级操作,包括重启系统。如果你的系统在终端页面上显示"sysrq: Resetting",然后系统重新启动,这可能意味着系统在执行了SysRq功能中的重启命令。
1
2
检查主机未连接外部键盘,设置内核关闭Sysrq的功能。
kernel.sysrq = 0

重启问题依旧。

重新排查系统

发现系统内核版本在发生重启时间前后有变化。

image-20240314133448640

在Zabbix上查看该主机发生重启问题前后System description信息的内核的确发生了变化。

image-20240314112558755

初步排查到问题

查看已经安装的内核版本,将内核版本切换到

1
5.4.0-147-generic

![image-20240314113144824](images/Diary/image-20240314113144824.png

查看当前使用的内核id

1
2
3
4
grep submenu /boot/grub/grub.cfg
#结果如下
submenu 'Ubuntu 高级选项' $menuentry_id_option 'gnulinux-advanced-3f5e97d5-cd08-4560-94df-613149aac32e' {
#将单引号中的记录值记录下来'gnulinux-advanced-c6c57711-25d6-4dc0-a477-6f65c1943d17'

查看想要使用的内核id

1
gnulinux-5.4.0-147-generic-advanced-c6c57711-25d6-4dc0-a477-6f65c1943d17

修改内核文件/etc/default/grub

1
2
3
将GRUB_DEFAULT的值由0修改为其上面查询出来的;格式如下
GRUB_DEFAULT=0
GRUB_DEFAULT="gnulinux-advanced-c6c57711-25d6-4dc0-a477-6f65c1943d17>gnulinux-5.4.0-147-generic-advanced-c6c57711-25d6-4dc0-a477-6f65c1943d17"

更新grub

1
sudp aptdate-grub

重启

1
2
#查看内核版本
uname -r

问题被解决

主机稳定运行1天未进行相关重启。

image-20240314132818873

参考文档

内核设置:https://www.cnblogs.com/zjxcyr/p/16925851.html