第 20 章 使用早期 kdump 来捕获引导时间崩溃
早期的 kdump 是 kdump 机制的一个特性,如果在系统服务启动前的引导过程的早期阶段发生系统或内核崩溃,它将捕获 vmcore 文件。早期的 kdump 更早地在内存中加载崩溃内核和崩溃内核的 initramfs。
在 kdump 服务启动前的早期引导阶段过程中,内核崩溃有时会发生,可以捕获并保存崩溃的内核内存的内容。因此,与崩溃相关的、对于进行故障排除很重要的信息会丢失。要解决这个问题,您可以使用 early kdump 功能,它是 kdump 服务的一部分。
20.1. 启用早期 kdump 复制链接链接已复制到粘贴板!
early kdump 功能设置崩溃内核和初始 RAM 磁盘镜像(initramfs),以便早期加载以捕获早期崩溃的 vmcore 信息。这有助于消除丢失早期引导内核崩溃信息的风险。
先决条件
- 一个有效的 RHEL 订阅。
-
包含用于您系统 CPU 架构的
kexec-tools软件包的存储库。 -
实现了
kdump配置和目标要求。如需更多信息,请参阅 支持的 kdump 配置和目标。
流程
验证
kdump服务是否已启用并活跃:# systemctl is-enabled kdump.service && systemctl is-active kdump.service enabled active如果没有启用并运行
kdump,请设置所有必要的配置,并验证是否已启用kdump服务。使用
早期 kdump功能重建引导内核的initramfs镜像:# dracut -f --add earlykdump添加
rd.earlykdump内核命令行参数:# grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="rd.earlykdump"重启系统以反映更改:
# reboot
验证
验证
rd.earlykdump是否已成功添加,early kdump功能是否已启用:# cat /proc/cmdline BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.14.0-1.el9.x86_64 root=/dev/mapper/rhel-root ro crashkernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet rd.earlykdump # journalctl -x | grep early-kdump Sep 13 15:46:11 redhat dracut-cmdline[304]: early-kdump is enabled. Sep 13 15:46:12 redhat dracut-cmdline[304]: kexec: loaded early-kdump kernel