最近把扔在客厅的下载机从Ubuntu换成了centos,每天都会出现kernel panic,为了调试,我选择了Kdump来导出核心vmcore,在看了N多网上说的安装Kdump方法无果之后,果断GOOGLE搜索,终于找到一个可以用的方法。

一.安装kexec-tools

[root@CentOS ~]# yum install kexec-tools

二.添加 crashkernel=64M 在grub.conf中
vi /boot/grub/grub.conf

kernel /vmlinuz-2.6.32-279.14.1.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet crashkernel=64M

然后重启电脑,待重启后使用free -m会发现总内存比添加之前少了64M。

三.设置Kdump导出的vmcore保存位置。

[root@CentOS ~]# df
文件系统                 1K-块      已用      可用 已用% 挂载点
/dev/mapper/VolGroup-lv_root
                      51606140   1883516  47101184   4% /
tmpfs                   477572         0    477572   0% /dev/shm
/dev/sda1               495844     53469    416775  12% /boot
/dev/mapper/VolGroup-lv_home
                     1868714292 197403328 1576385756  12% /home

mkdir /var/crash
vi /etc/kdump.conf 添加

ext4 /dev/mapper/Volume00-var

四.启动Kdump服务。

[root@CentOS ~]# service kdump start
Starting kdump:                                            [确定]

五.测试Kdump运行

echo 1 > /proc/sys/kernel/sysrq
echo c > /proc/sysrq-trigger

这时系统会马上panic,重启后检查/var/crash 会发现目录中有类似于127.0.0.1-2012-12-17-21:53:58目录生成,则代表Kdump运行正常。

参考:http://linuxczar.net/archives/383

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据