suse 下部署kdump

时间:2024-05-22 14:49:48

 

kdump 是一种先进的基于 kexec 的内核崩溃转储机制。当系统崩溃时,kdump 使用 kexec 启动到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保留了内存的一部分给第二内核启动用。由于 kdump 利用 kexec 启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质。

测试操作系统:suse10 SP3

1、安装kdump所需要的rpm包

   ——所需要的包在操作系统盘中都可以找到,无需到处下载

部署kdump工具,需要安装三个rpm包,分别是kernel-kdump-2.6.16.60-0.54.5.x86_64.rpm、kdump-0.3.0-8.14.x86_64.rpm、kexec-tools-1.101-32.54.10.x86_64.rpm ,依顺序安装即可,其中需要注意kdump包和kexec-tools互为依赖关系,在安装时需要同时制定他们两个包,如下: suse 下部署kdump

suse 下部署kdump

2、测试rpm包是否正确安装

执行 rckdump status 或者 service kdump status,如果出现“kdump kernel not loaded”则表示安装成功:

suse 下部署kdump

3、为kdump预留内存空间

   在配置预留空间内存时,可以参考以下表格:

 suse 10 系统X86和X86_64结构,参考以下配置预留表格

 

Memory

crashkernel=

0 - 12 GB

[email protected]

13 - 48 GB

[email protected]

49 - 128 GB

[email protected]

129 - 256 GB

[email protected]






 

 

 

如果是suse11 系统X86和X86_64结构,参考以下配置预留表格  

Memory

crashkernel=

0 - 12 GB

64M

13 - 48 GB

128M

49 - 128 GB

256M

129 - 256 GB

512M

 

 

 

 

 3、修改/boot/grub/menu.lst文件

在/boot/grub/menu.lst文件中找到resume=/dev/system/swap splash=silent showopts这行,然后在本行末尾增加:[email protected] 

注:本机内存为2G,因此[email protected],实际情况请参考上面的表格。

本部分设置也可以使用suse自带的图形化工具yast,只需要点点鼠标即可,连预留空间都不要输入,我就不赘述了。

4、配置kdump开机自启动

 执行命令:chkconfig kdump on

至此kdump的部署工作已经完成,我们需要重启服务器 让配置生效,执行reboot。

5、确认kdump配置是否成功。

执行 rckdump status

suse 下部署kdump

显示kdump配置成功。

6、kdump的测试

kdump主要就是用来当系统出现内部错误时,可以自动转储错误信息,并自动完成服务器重启,我们测试一下:

执行一下两条命令:

1)sync  

2)echo c >/proc/sysrq-trigger  -----“c”必须小写

执行完第二条命令,系统将会进入死机状态,然后服务器会自动重启。

重启完成后,我们去dump目录查看是否已经正确生成转储文件。

转储的文件位置:/var/log/dump

suse 下部署kdump

转储目录正确生成,kdump配置成功。

 博文最下面的附件是suse关于kdump官方文档描述,可以下载下载下来看看。

另有关于kdump的系统介绍,大家可以去了解:

http://www.ibm.com/developerworks/cn/linux/l-cn-kdump1/