Azure环境SLES12SP3 kdump配置失败:grub未更新crashkernel参数
解决Azure上SLES12SP3启动kdump服务失败的问题
嘿,我看你在Azure部署的SLES12SP3上配置kdump时踩坑了——启动服务失败,提示没预留crashkernel内存,而且/etc/default/grub里的参数也没生效对吧?我之前处理过类似的情况,给你一步步捋清楚怎么解决:
1. 正确配置grub里的crashkernel参数
首先得把crashkernel=384M参数准确加到grub配置里。先打开配置文件:
vi /etc/default/grub
找到GRUB_CMDLINE_LINUX_DEFAULT这一行,把参数追加进去,修改后大概是这样:
GRUB_CMDLINE_LINUX_DEFAULT="quiet crashkernel=384M"
划重点:一定要加到
GRUB_CMDLINE_LINUX_DEFAULT或者GRUB_CMDLINE_LINUX里,别加错地方,不然内核读不到这个参数。
2. 重新生成grub配置文件
改完配置后,必须让grub重新生成生效配置,SLES12SP3用的是grub2,执行这条命令:
grub2-mkconfig -o /boot/grub2/grub.cfg
如果你的VM是UEFI启动的(Azure上大部分SLES实例是BIOS,但也不排除例外),就用这个路径:
grub2-mkconfig -o /boot/efi/EFI/sles/grub.cfg
3. 验证参数是否生效
重启系统后,用这条命令检查内核有没有加载crashkernel参数:
cat /proc/cmdline | grep crashkernel
如果输出里能看到crashkernel=384M,说明参数已经成功生效了。
4. 启动并验证kdump服务
现在再启动kdump服务:
systemctl start kdump.service
然后查看状态确认是否正常运行:
systemctl status kdump.service
如果显示active (running)就搞定了!记得设置开机自启,避免下次重启后服务没起来:
systemctl enable kdump.service
额外提醒(Azure环境专属)
- 确保你的Azure VM实例有足够的内存,至少要能分出384M给crashkernel,一般2G以上内存的实例都没问题。
- 如果还是不行,可以试试把参数改成
crashkernel=auto,让系统自动分配合适的内存,不过SLES12SP3还是推荐手动指定384M更稳妥。
内容的提问来源于stack exchange,提问作者Vamshi Marati
相关产品推荐
相关产品推荐

