现象:
在VMware中安装图形界面,重启系统发现kdump服务启动失败
原因:
先来说一下,什么是kdump
kdump 是一种先进的基于 kexec 的内核崩溃转储机制。当系统崩溃时,kdump 使用 kexec 启动
到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保
留了内存的一部分给第二内核启动用。由于 kdump 利用 kexec 启动捕获内核,绕过了 BIOS,所
以第一个内核的内存得以保留。这是内核崩溃转储的本质。
启动失败的原因
查看 /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。
找到了原因,重新给crashkernel设置参数即可:
在 kdump 的配置中,往往困惑于 crashkernel 的设置。“[email protected]”,X 应该多大? Y
又应该设在哪里呢?实际我们 可以完全省略“@Y”这一部分,这样,kernel 会为我们自动选择
一个起始地址。而对于 X 的大小,般对 i386/x86_64 的系统, 设为 128M 即可;对于 powerpc
的系统,则要设为 256M。
解决方法:
# vim /etc/grub.conf
将crashkernel=auto 改为crashkernel=128M 后保存,
重新启动系统,kdump服务启动成功。