在 CentOS 6.3 上尝试 kdump。
在 VMWare 上一切正常,并且在发生崩溃时内核已加载并且 vmcore 已创建。
在物理机器上我看到了 oops 消息,但是崩溃内核尚未启动。
我使用 kexec 加载内核,kdump 加载。我使用“kexec --load”而不是 kdump 使用的“kexec --load-panic”。之后我运行“kexec -e”加载到新内核。在控制台上我永远看到“正在启动新内核”的消息。
有任何想法吗?
答案1
如果你只想以 redhat 方式配置 kdump,那么你根本不需要使用 kexec。一切都集成到 kdump 守护进程本身中。
简单的步骤。
1)下载并安装相应的kernel-debuginfo和kernel-debuginfo-common
2)yum install kexec-tools 崩溃
3)编辑 /etc/kdump.conf 文件。例如,如果你想将 vmcore 文件推送到远程机器,则添加
net [email protected]
core_collector makedumpfile -d 31 -c
4)添加
crashkernel=256M@16M
在 /etc/grub.conf 中的内核命令行选项
5)重新启动机器/虚拟机
6)启动 kdump 服务器
service kdump start
当崩溃发生时它将创建转储内核映像来加载。
7)现在测试一下
echo c > /proc/sysrq-trigger
答案2
当崩溃内核的保留区域较小时,我也遇到过类似的问题(我使用过crashkernel=64M
)。尝试增加crashkernel
值。它应该在您最喜欢的引导加载程序中指定为内核引导参数。