kdump starting failure in CentOS6.2

本文介绍了kdump工具的作用及配置方法。kdump可在系统崩溃时捕获内存信息,便于故障排查。文章详细讲解了如何编辑配置文件以启用kdump,并提供了解决常见问题的方法。

 kdump是在系统崩溃、死锁或者死机的时候用来转储内存运行参数的一个工具和服务。系统一旦崩溃那么正常的内核就没有办法

工作,将由kdump产生一个用于capture当前运行信息的内核,该内核会将此时的内存中的所有运行状态和数据信息收集到一个
dump core文件中以便于Red Hat工程师分析崩溃原因,内存信息收集完成,系统自动重启。

 

修复:

编辑/etc/sysconfig/kdump文件:
设置MKDUMPRD_ARGS和KDUMP_COMMANDLINE

MKDUMPRD_ARGS="/sbin/mkdumprd"(默认时这个参数的空的)
KDUMP_COMMANDLINE="ro root=LABEL=xxx",其中xxx是root所在的分区的卷标。

查看root卷标的命令是:“ls /etc/disk/by-label”。保存,然后重启。重启之后如果还不行:可安装kexec-tools,

yum install kexec-tools。

一般用户没必要开kdump。建议初次时候通过ntsysv禁止其随开机启动。

### 安装和配置 kdump 对于较新的Linux发行版,如CentOS 7,安装和配置`kdump`相对简单。然而,在较为老旧的版本如CentOS 4上操作可能会遇到更多挑战,因为该操作系统已经不再被官方支持,并且软件包可能不是最新的。 #### 准备工作 由于CentOS 4已停止维护多年,建议先更新系统的yum源到第三方仓库来获取必要的工具和支持[^1]。 #### 安装依赖库 在尝试安装`kdump`之前,需要确保系统中有足够的空间用于保存崩溃转储文件(通常至少需要2GB)。接着通过YUM安装所需的组件: ```bash yum install kernel-debuginfo kernel-debuginfo-common elfutils-libelf-devel libuuid-devel binutils-devel newt-devel python-devel audit-libs-devel numactl-devel perl-ExtUtils-Embed ``` 这些命令会下载并安装编译内核模块以及处理核心转储所必需的各种开发库和实用程序。 #### 获取适合旧版本的 kdump 软件包 考虑到CentOS 4非常陈旧,直接从其默认存储库中找到合适的`kdump` RPM包可能性不大。可以考虑寻找针对RHEL/CentOS 5或更早时期的兼容版本,或者自行构建适用于特定硬件架构的rpm包。 #### 编辑配置文件 `/etc/kdump.conf` 创建或编辑此文件以指定vmcore的目标位置和其他选项: ```bash path /var/crash # 设置vmcore存放路径 default reboot # 当捕获失败时执行的动作 ``` 请注意,默认情况下,`/var/crash`目录结构为`%HOST-%DATE`,其中包含两个重要文件:`vmcore` 和 `vmcore-dmesg.txt`[^4]。 #### 启动与启用服务 如果能够成功安装了`kdump`服务,则可以通过如下方式启动它并将其设为随系统一起加载: ```bash service kdump start # 手动启动服务 chkconfig --level 345 kdump on # 设定开机自启 ``` 最后一步是验证服务的状态和服务是否已被设置成自动启动[^3]。 #### 测试配置有效性 为了确认一切正常运作,可利用`echo c > /proc/sysrq-trigger`指令模拟一次内核panic事件来进行测试。这将触发一次系统崩溃并将内存映像写入先前定义的位置。完成之后记得检查目标目录下是否有新生成的核心转储文件存在。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值