kdump 是一种高级崩溃转储机制。
启用后,系统将从另一个内核的上下文中引导。
第二个内核保留少量内存,其唯一目的是在系统崩溃时捕获核心转储镜像。
由于能够分析核心转储非常有助于确定系统故障的确切原因,因此强烈建议启用此功能。
本 Note 解释了如何在 CentOS/RHEL 6 中配置、测试和使用 kdump 服务。
- 如果尚未安装 kexec-tools 包,请安装
要使用 kdump 服务,我们必须安装 kexec-tools 包。
# yum install kexec-tools
- 在 GRUB 中配置内存使用
要配置为 kdump 内核保留的内存量,请修改文件 /boot/grub/grub.conf 并将 crashkernel=[size]M(或者 crashkernel=auto)参数添加到内核选项列表中。
然后重新启动让它生效。
例如:
# vi /boot/grub/grub.conf ... title Oracle Linux Server-uek (2.6.39-200.24.1.el6uek.x86_64) root (hd0,0) kernel /vmlinuz-2.6.39-200.24.1.el6uek.x86_64 ro root=/dev/mapper/vg_ol6desktop-lv_root crashkernel=128M initrd /initramfs-2.6.39-200.24.1.el6uek.x86_64.img ...
# reboot
- 配置转储位置
要配置 kdump,我们需要编辑配置文件 /etc/kdump.conf 。
默认选项是将 vmcore 文件存储在本地文件系统的 /var/crash/ 目录中。
要更改要保存核心转储的本地目录,请删除 #path /var/crash 行开头的井号(“#”),并将该值替换为所需的目录路径。
例如:
path /usr/local/cores
或者,我们还可以将核心转储直接保存到原始分区。
例如:
raw /dev/sdb4
要使用 NFS 协议将转储存储到远程计算机,请删除 #net my.server.com:/export/tmp 行开头的哈希符号(“#”),并将该值替换为有效的主机名和目录路径。
例如:
net my.server.com:/export/cores
- 配置核心收集器
为了减小 vmcore 转储文件的大小,kdump 允许我们指定一个外部应用程序来压缩数据,并可选择忽略所有不相关的信息。
目前,唯一完全支持的核心收集器是 makedumpfile。
要启用核心收集器,请修改配置文件 /etc/kdump.conf ,删除#core_collector makedumpfile -c -message-level 1 -d 31 行开头的井号(“#”),然后编辑命令行选项如下所述。
例如:
core_collector makedumpfile -c
- 更改默认操作
默认情况下,当捕获到内核崩溃时,会挂载根文件系统,并运行 /sbin/init。
要更改此行为,请打开 /etc/kdump.conf 配置文件,从 #default shell 行的开头删除井号(“#”),并将该值替换为所描述的所需操作。
例如:
default halt
- 启动 kdump 守护进程
检查并确保内核命令行包含 kdump 配置,并且为崩溃内核保留了内存:
# cat /proc/cmdline ro root=/dev/mapper/vg_ol6desktop-lv_root crashkernel=128M
设置 kdump 服务可以在系统重新启动时启动。
# chkconfig kdump on
要在当前会话中启动服务,请使用以下命令:
# service kdump start No kdump initial ramdisk found. [WARNING] Rebuilding /boot/initrd-2.6.39-200.24.1.el6uek.x86_64kdump.img Starting kdump: [ OK ]
- 测试kdump
要测试配置,请在启用 kdump 的情况下重新启动系统,并确保服务正在运行。
例如:
# service kdump status Kdump is operational
然后在 shell 提示符下键入以下命令:
# echo 1 > /proc/sys/kernel/sysrq # echo c > /proc/sysrq-trigger
这会强制Linux内核崩溃,地址-YYYY-MM-DD-HH:MM:SS/vmcore 文件会被复制到你在配置中选择的位置(默认也就是/var/crash/))
日期:2020-09-17 00:11:56 来源:oir作者:oir