在原生未启用kdump的BCLinux 8系列服务器上启用kdump及报错处理
创始人
2024-09-25 15:24:37
0

本文记录了在原生未启用kdump的BCLinux 8系列操作系统的服务器上手动启用kdump服务及报错处理的过程。

一、问题描述

BCLinux 8系列操作系统,系统初始化安装时未启用kdump服务,手动启动时报以下“No memory reserved for crash kernel”或“ConditionKernelCommandLine=crashkernel was not met”的错误信息,无法启动。

1、现象1

报“No memory reserved for crash kernel”错误:

 2、现象2

根据系统小版本差异,可能会有另一种“ConditionKernelCommandLine=crashkernel was not met”报错: 

二、问题分析

kdump需要一块预留的内存区域来在内核崩溃时捕获内存转储。因此需要在GRUB配置文件中为kdump保留一部分内存。对于系统初始安装时未启用kdump服务,则对应GRUB配置文件会略过预留内存的相关配置。核查当前配置:

# cat /etc/default/grub|grep GRUB_CMDLINE_LINUX GRUB_CMDLINE_LINUX="rd.lvm.lv=bel/root rhgb quiet

可见确实没有crashkernel选项。问题就是这样所引起的

三、问题处理

1、GRUB配置文件添加crashkernel选项

crashkernel参数配置在GRUB引导加载器的配置文件中(如/boot/grub/grub.conf或/etc/default/grub),系统中只会存在一个,可以检查当前系统是使用的哪一个文件。

本例为/etc/default/grub文件,编辑该文件在GRUB的命令行参数中添加crashkernel选项,编辑前请先备份原文件。

例如,为kdump保留512MB内存,可以将“GRUB_CMDLINE_LINUX”行修改如下:
GRUB_CMDLINE_LINUX="rd.lvm.lv=bel/root rhgb quiet crashkernel=512M"

预留内存的大小与系统自身的物理内存大小有关系,应根据系统的总内存大小来设置,以确保在转储过程中有足够的内存资源。

2、更新GRUB配置

保存对/etc/default/grub的更改后,需要更新GRUB配置并重启系统以使更改生效。

注意:GRUB的更新配置文件的路径因系统配置而异,根据服务器的引导方式可能会是“/boot/grub2/grub.cfg”或是“/boot/efi/EFI/bclinux/grub.cfg”,两个文件系统中只会存在一个,可以检查当前系统是使用的哪一个文件——操作前请先备份原文件。

对于前者,执行命令及结果如下:

对于后者,执行命令及结果则如下:

[root@localhost ~]# grub2-mkconfig -o /boot/efi/EFI/bclinux/grub.cfg
Generating grub configuration file ...
done

3、核查GRUB配置文件差异

两种启动模式的服务器配置文件对比情况如下:

[root@localhost ~]# diff /boot/efi/EFI/bclinux/grub.cfg{,.bak}      
140c140
<   set kernelopts="root=/dev/mapper/bel-root ro rd.lvm.lv=bel/root rhgb quiet crashkernel=512M "
---
>   set kernelopts="root=/dev/mapper/bel-root ro rd.lvm.lv=bel/root rhgb quiet "

可见均是在对应启动命令行参数的末尾添加了crashkernel配置项。

4、重启系统

启动kdump服务以确保它在系统启动时自动运行。

[root@localhost ~] systemctl enable kdump 

然后对服务器进行重启,可以看到kdump服务在服务器重启后已经能正常运行了。

5、验证kdump是否工作正常
为了验证kdump是否配置正确并能在系统崩溃时捕获内存转储,可以手动触发一个内核崩溃来进行测试(系统会重启)。
[root@localhost ~] echo 1 > /proc/sys/kernel/sysrq   [root@localhost ~] echo c > /proc/sysrq-trigger

然后,检查你指定的vmcore文件保存位置是否有新的vmcore文件生成。

以上为在BCLinux 8系列服务器手动启用kdump服务的过程,供参考。

相关内容

热门资讯

1分钟私人房!(拱趴大菠萝)智... 1分钟私人房!(拱趴大菠萝)智能ai辅助,(轰趴十三水)一直真的有挂,曝光教程(有挂方式)确实是有挂...
3分钟最新版!(poker w... 3分钟最新版!(poker world)外 挂被实锤,(扑克王)一般真的有挂,实用技巧(有挂演示)1...
五分钟系统!(pokernow... 五分钟系统!(pokernow德州)辅助挂,(轰趴十三水)一贯真的有挂,详细教程(有挂学习)确实是有...
2分钟德州!(pokenow)... 2分钟德州!(pokenow)发牌规律性总结,(欢乐棋牌)就是真的有挂,wepoke教程(有挂透视)...
4分钟模拟器!(鱼扑克app俱... 4分钟模拟器!(鱼扑克app俱乐部)最新辅助,(扑克王)一直真的有挂,AI教程(有挂模拟器)确实是有...
3分钟苹果版本!(epoker... 3分钟苹果版本!(epoker)真的有挂,(gg扑克)一贯真的有挂,力荐教程(有挂绝活儿)1、打开德...
一分钟ai辅助!(cloudp... 一分钟ai辅助!(cloudpoker云扑克)智能ai,(智星德州菠萝)原来真的有挂,规律教程(有挂...
5分钟自建房!(impoker... 5分钟自建房!(impoker德州)ai辅助,(轰趴十三水)果然真的有挂,我来教教你(有挂妙计)1、...
2分钟ai辅助!(红龙软件德州... 2分钟ai辅助!(红龙软件德州扑克)辅助工具苹果,(poker master安卓版)好像真的有挂,必...
5分钟机制!(fishpoke... 5分钟机制!(fishpoker俱乐部)有透视辅助吗,(poker world)总是真的有挂,切实教...