Kdump是什么?
Kdump 的概念出现在 2005年左右,是迄今为止最可靠的内核转存机制,已经被主要的 linux 厂商选用。kdump 是一种先进的基于 kexec 的内核崩溃转储机制。当系统崩溃时,kdump 使用 kexec 启动到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保留了内存的一部分给第二内核启动用。由于 kdump 利用 kexec 启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质。
kdump 需要两个不同目的的内核,生产内核和捕获内核。生产内核是捕获内核服务的对像。捕获内核会在生产内核崩溃时启动起来,与相应的 ramdisk 一起组建一个微环境,用以对生产内核下的内存进行收集和转存。
在centos下如何安装kdump?
我这里得先用virtual box安装一个centos,我这里版本多就随便选了一个版本,就6.2了。装完centos再去配置kdump。
1,内存一定要给够,因为kdump需要系统预留出一部分内存。
3,安装进度到这一步的时候我这里选择的是webserver, 没有图形界面的,当然,如果有足够的磁盘空间的话可以随意选择,因为不同的安装软件包的数量就会不同,所需的磁盘空间自然也就不同。
4,安装完成之后登陆进入系统查看kdump默认是否开启,6.2默认已经开启
5,安装kernel-debuginfo$(uname -r).rpm和kernel-debuginfo-common-$(uname -r).rpm
6,安装完成之后即可以进行分析了,分析必须用crash 工具,默认一般都自带了,若没有自带,就自行安装。
总结:
要想使用crash分析vmcore文件必须安装kernel-debuginfo和kernel-debuginfo-common
kdump在6.2下和5.7下时有区别的,这个以后再讨论。