参考文档
1. The kdump Crash Recovery Service https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-kdump.html
2. 深入探索 Kdump,第 1 部分:带你走进 Kdump 的世界 http://www.ibm.com/developerworks/cn/linux/l-cn-kdump1/
3. 深入探索 Kdump,第 2 部分: Kdump 图形化配置工具 http://www.ibm.com/developerworks/cn/linux/l-cn-kdump2/
4. 深入探索 Kdump,第 3 部分: Kdump 原理探秘 http://www.ibm.com/developerworks/cn/linux/l-cn-kdump3/
5. 深入探索 Kdump,第 4 部分: kdump 的亲密战友 crash http://www.ibm.com/developerworks/cn/linux/l-cn-kdump4/
Kdump、vmcore是什么?
Kdump是一套内核崩溃转储机制。当遇到Kernel Panic的时候,它能将当前内核内存转储出来,转储出来的内存文件叫vmcore.
简单地理解,系统在启动的时候,除了用于正常工作的生产内核,还会启动一个捕获内核(也就是“备胎”)。在生产内核正常运行的时候,捕获内核就安安静静地坐着不干活;当生产内核Panic,捕获内核就会出来,帮生产内核收尸,这条尸就是vmcore。
配置kdump
1.备份重要数据;
2. 安装kexec-tools;
[root@r6s0 ~]# yum install kexec-tools
3. 修改grub.conf,在kernel的启动参数中加入crashkernel=128M,如
kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/sda3 crashkernel=128M
4. 设置开机启动kdump;
[root@r6s0 ~]# chkconfig kdump on
5. 重启计算机;
6. 检查Kdump是否operational.
[root@r6s0 ~]# /etc/init.d/kdump status Kdump is operational
7. kdump的配置文件是/etc/kdump.conf , 默认不用修改。
测试:手动触发kdump
尝试手动触发kdump,看是否能转储出vmcore。
[root@r6s0 ~]# echo c > /proc/sysrq-trigger
然后就kernel-panic了,自动重启后应该能看见vmcore文件。
[root@r6s0 ~]# ls /var/crash/127.0.0.1-2014-12-19-10\:02\:28/ vmcore vmcore-dmesg.txt