fedora 下kdump 配置
2013-12-05 14:32
274 查看
相关参考:
http://lse.sourceforge.net/kdump/
http://www.ibm.com/developerworks/cn/views/linux/libraryview.jsp?search_by=深入探索+Kdump
Kdump基本概念:
Kexec:节省kernel重启的时间。
Kexec是实现kdump机制的关健,它由两部分组成:
1,内核空间的kexec_load系统调用。负责在主内核(first kernel)启动时将备用内核(sencond kernel)加载到指定的地址。
2,用户空间的kexec-tools工具,它将备用内核的地址告诉给主内核,从而在主内核崩溃时候能够找到备用内核的地址并运行备用内核。(与相应的ramdisk一起组建一个微环境,用以对主内核下的内存进行收集和转存)
A):部署Kdump
部署 kdump 收集故障信息的步骤如下:1) 设置好相关的内核启动参数
在 /boot/grub/menu.lst 中加入如下内容crashkernel=128M@16M nmi_watchdog=1
其中crashkernel参数是用来为kdump的内核预留内存的; nmi_watchdog=1 是用来
激活NMI中断的, 我们在未确定故障是否关闭了中断的情况下, 需要部署NMI watchdog才能确保触发panic. 重启系统确保设置生效
2) 设置好相关的sysctl内核参数
在/etc/sysctl.conf 中最后加入一行kernel.softlookup_panic = 1
该设置确保softlock发生时会调用panic, 从而触发kdump行为
执行 #>sysctl -p 确保设置生效
3) 配置 /etc/kdump.conf
在 /etc/kdump.conf 中加入如下几行内容ext3 /dev/sdb1
core-collector makedumpfile -c –message-level 7 -d 31 -i /mnt/vmcoreinfo
path /var/crash
#kdump_post /sbin/myshell.sh
#extra_modules ramcache_stor (自定义修改)
default reboot
其中 /dev/sdb1 是用于放置dumpfile 的文件系统, dumpfile 文件放置在/var/crash下, 要事先在/dev/sdb1分区下创建/var/crash 目录. “-d 31”指定对dump内容的过滤级别,这参数对于dump分区放不下全部内存内容或用户不想让dumping中断业务太长时间时很重要. vmcoreinfo 文件放置在 /dev/sdb1 分区的 / 目录下, 需要使用如下命令产生:
#>makedumpfile -g //vmcoreinfo -x /usr/lib/debug/lib/modules/2.6.18-128.el5.x86_64/vmlinux
“vmlinux” 文件是由kernel-debuginfo 包提供的,在运行makedumpfile 之前需要安装相应内核的 kernel-debuginfo 和 kernel-debuginfo-common 两个包,该两个包需从 http://ftp.redhat.com 下载. “default reboot” 用来告诉kdump, 收集完dump信息后重启系统
4) 激活kdump
运行 #>service kdump start 命令,你会看到,在成功完成的情况下会在/boot/目录下生成一个initrd-2.6.18-128.el5.x86_64kdump.img 文件,该文件就是kdump加载的内核的 initrd文件,收集dump信息的工作就是在该initrd的启动环境下进行的. 查看/etc/init.d/kdump脚本的代码,你可看到其中会调用mkdumprd命令创建用于dump的initrd文件相关文章推荐
- JavaScript之DOM的章节一
- sun.misc.unsafe类的使用
- 高效jQuery的奥秘
- node express ejs 怎么使用layout
- input失去焦点和获得焦点jquery焦点事件插件
- jquery之超简单的div显示和隐藏特效demo
- CSS 常用集锦(1)div+css文字垂直居中(转载)
- CSS 常用集锦(1)div+css文字垂直居中
- 翻译--Blazing fast node.js: 10 performance tips from LinkedIn Mobile
- Extjs4中tree的拖拽功能(可以两棵树之间拖拽)
- JavaScript表单验证年龄
- javascript入门(1)
- web前端-获取用户的来源是否为新浪微博
- HTML <form> 标签的 enctype 属性
- CCSpriteBatchNode
- 弹出最简单的模式化遮罩层的js代码
- 数据读取之逻辑读简单解析--关于BUFFER CACHE
- jQuery学习笔记 一
- css控制大幻灯绝对居中(非背景)
- Extjs 获取页面元素放到一个combox 中显示