VMware中CentOS的kdump启动失败的解决方案

在VMware中新安装了CentOS,重启系统发现kdump服务启动失败


图1 kdump启动失败

先来说一下,什么是kdump:

Kdump是一个内核崩溃转储机制,在系统崩溃的时候,Kdump将捕获系统信息,这对于针对崩溃的原因非常有帮助。

注意,Kdump需要预留一部分系统内存,而且这部分内存对于其他用户是不可用的。

启动失败的原因:

查看 /etc/grub.conf 文件,发现 crashkernel=auto,问题就出在这儿:

系统对crashkernel=auto的定义为:

如果系统的内存 <= 8 GB 对kdump kernel不会保留任何内容;也就是说,crashkernel=auto 等
于关掉了机器上的kdump功能;

如果系统的内存> 8 GB 但是<= 16 GB,crashkernel=auto会保留256M,等同于crashkernel=256M;

如果系统内存> 16GB,crashkernel=auto会保留512M,等同于crashkernel=512M。

安装虚拟机时,给虚拟机设置的内存为1G,所以说系统关掉了kdump功能,造成了kdump服务启动失败。

找到了原因,重新给crashkernel设置参数即可:

在 kdump 的配置中,往往困惑于 crashkernel 的设置。“crashkernel=X@Y”,X 应该多大? Y
又应该设在哪里呢?

实际我们可以完全省略“@Y”这一部分,这样,kernel 会为我们自动选择
一个起始地址。而对于 X 的大小,般对 i386/x86_64 的系统, 设为 128M 即可;对于 powerpc 的系统,则要设为 256M。

将crashkernel=auto 改为crashkernel=128M 后保存,


图2 修改

重新启动系统,kdump服务启动成功。


图3 kdump启动

原文链接
cxjiang wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创分享,您的支持将鼓励我继续创作!