kdump

安装CENTOS时候碰到一句提示 关于kdump,不懂所以查资料如下.

转载: http://www.geek521.com/?p=1492
kdump 是一个新的,而且非常可信赖的内核崩溃转储机制。崩溃转储数据可以从一个新启动的内核的上下文中获取,而不是从已经崩溃的内核的上下文。当系统崩溃 时,kdump使用kexec启动到第二个内核。第二个内核通常叫做捕获内核(capture kernel),以很小内存启动,并且捕获转储镜像。除了执行既定的kdump任务,它还允许自定义执行脚本,下面介绍一下如何在新内核上执行自定义的操 作:

安装kdump环境
yum install kexec-tools
开启服务
chkconfig kdump on
service kdump start
配置启动项
修改/boot/grub/menu.lst中的 “crashkernel=auto”为 “crashkernel=128M”
重启机器
触发崩溃
echo c > /proc/sysrq-trigger
【此时正在运行的内核崩溃,kdump自动切换到新内核,在新内核里执行保存崩溃内核信息的动作】
自定义操作
通过配置/etc/kdump.conf可以控制kdump在保存崩溃内核之前和之后进行的操作kdump_pre和kdump_post
extra_bins /bin/sh      【切记把这个加上,否则无法执行脚本】
kdump_pre /var/crash/kdump_pre.sh
kdump_post /var/crash/kdump_post.sh
高级知识
新内核的环境在/boot下,比如initrd-2.6.32-358.el6.x86_64kdump.img
当旧内核崩溃时,kdump会解压缩这个img文件并执行,解压缩方式为
mv initrd-2.6.32-358.el6.x86_64kdump.img initrd-2.6.32-358.el6.x86_64kdump.img.gz
gunzip initrd-2.6.32-358.el6.x86_64kdump.img.gz
cpio -idmv < initrd-2.6.32-358.el6.x86_64kdump.img
img文件内包括新内核需要的所有文件,平时使用的cp、mv等都链接到busybox
[root@new-dev-2 bin]# ll cp mv
lrwxrwxrwx. 1 root root 7 Sep 17 12:13 cp -> busybox
lrwxrwxrwx. 1 root root 7 Sep 17 12:13 mv -> busybox
如果希望独立的cp和mv,可以通过修改kdump.conf实现:extra_bins /bin/cp;  extra_bins /bin/mv

猜你喜欢

转载自xixiyanqi.iteye.com/blog/1966730