> CentOS > CentOS故障 >

CentOs 6.6里kdump启动失败的原因

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

先来说一下,什么是kdump

kdump 是一种先进的基于 kexec 的内核崩溃转储机制。当系统崩溃时,kdump 使用 kexec 启动

到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保

留了内存的一部分给第二内核启动用。由于 kdump 利用 kexec 启动捕获内核,绕过了 BIOS,所

以第一个内核的内存得以保留。这是内核崩溃转储的本质。

wKioL1UHirbxyYNUAABxKHMqVvk033.jpg
启动失败的原因

查看 /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 的设置。“crashkernel=X@Y”,X 应该多大? Y

又应该设在哪里呢?实际我们 可以完全省略“@Y”这一部分,这样,kernel 会为我们自动选择

一个起始地址。而对于 X 的大小,般对 i386/x86_64 的系统, 设为 128M 即可;对于 powerpc

的系统,则要设为 256M。

 

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

wKiom1UHmdTxWdHAAADsLgF1AbI735.jpg

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

 

wKioL1UHmwrBjo2YAACbxwcW0Qc155.jpg

本文出自 “woymk” 博客,请务必保留此出处http://woymk.blog.51cto.com/10000269/1621341

(责任编辑:IT)