Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.4.10. 对 Kernel Crash Collection 的更改(Kdump)

内核崩溃收集工具( kdump )以前使用自定义 mkdumprd 脚本为 kdump 捕获内核生成初始 RAMDisk(initrd)。在 Red Hat Enterprise Linux 7 中,初始 RAMDisk 使用 dracut 生成,使生成初始 RAMDisk 的过程更易于维护。

因此,在 kdump 及其配置文件中进行了以下更改。

  • net 指令不再被支持。用户现在必须明确定义 sshnfs
  • 不再支持 黑名单 选项。相反,用户可以将 rd.driver.blacklist 指定为捕获内核的 /etc/sysconfig/kdump 文件中的参数。
  • 默认的 mount_root_run_init 操作(在转储到预期的目标失败时)已被 dump_to_rootfs 操作替代。这个新操作会挂载根文件系统,而不是挂载真实根文件系统,而是运行初始化脚本,并在 kdump 服务启动时尝试保存 vmcore。这个新操作会挂载 root 文件系统并将 vmcore 保存到其中。
  • 新的指令 dracut_args 允许您在配置 kdump 时指定额外的 dracut 参数。
  • kdump 不再包含 debug_mem_level 选项。这个功能已移至 dracut。用户可以通过在其捕获内核的 /etc/sysconfig/kump 文件中指定 rd.memdebug 作为参数来实现相同的功能。
  • options 指令之前被用来在初始 RAM 文件系统(initramfs)中包含与内核模块相关的参数。Red Hat Enterprise Linux 7 不支持这个方法。用户可以在捕获内核的 /etc/sysconfig/kdump 文件中指定相关参数。
  • link_delaydisk_timeout 参数不再是必需的或支持,因为 dracut 包含 udev,它解决了之前需要这些参数的用例。
  • 在启动 kdump 服务并创建初始 RAMDdisk 镜像前,所有文件系统后端转储目标都必须挂载到崩溃的内核中。您可以将这些目标添加到 /etc/fstab,以便在引导时自动挂载这些目标。
  • 如果您指定路径但没有指定目标,并且您指定的路径中的任何目录都是单独设备的挂载点,则 vmcore 将保存到路径中,而不是与该路径挂载的设备。因此,当您的系统重启以及设备挂载时,vmcore 无法访问,因为该设备已经挂载到其位置的顶部。现在,当您指定路径而不指定目标时,Red Hat Enterprise Linux 7 会警告此问题。

有关 kdump 的详情,请查看 内核管理指南