41.3. 启用 kdump


对于 Red Hat Enterprise Linux 8 系统,您可以在特定内核或所有安装的内核中配置或者禁用 kdump 功能。但是,您必须定期测试 kdump 功能并验证其工作状态。

41.3.1. 为所有安装的内核启用 kdump

kexec 工具安装后,kdump 服务通过启用 kdump.service 启动。您可以为在机器上安装的所有内核启用并启动 kdump 服务。

先决条件

  • 有管理员特权。

流程

  1. crashkernel= 命令行参数添加到所有安装的内核:

    # grubby --update-kernel=ALL --args="crashkernel=xxM"

    xxM 是所需的内存(以 MB 为单位)。

  2. 启用 kdump 服务:

    # systemctl enable --now kdump.service

验证

  • 检查 kdump 服务是否正在运行:

    # systemctl status kdump.service
    
    ○ kdump.service - Crash recovery kernel arming
         Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: disabled)
         Active: active (live)

41.3.2. 为特定安装的内核启用 kdump

您可以为机器上的特定内核启用 kdump 服务。

先决条件

  • 有管理员特权。

流程

  1. 列出安装在机器上的内核。

    # ls -a /boot/vmlinuz-*
    /boot/vmlinuz-0-rescue-2930657cd0dc43c2b75db480e5e5b4a9
    /boot/vmlinuz-4.18.0-330.el8.x86_64
    /boot/vmlinuz-4.18.0-330.rt7.111.el8.x86_64
  2. 向系统的 Grand Unified Bootloader (GRUB)配置中添加特定的 kdump 内核。

    例如:

    # grubby --update-kernel=vmlinuz-4.18.0-330.el8.x86_64 --args="crashkernel=xxM"

    xxM 是所需的内存保留(以 MB 为单位)。

  3. 启用 kdump 服务。

    # systemctl enable --now kdump.service

验证

  • 检查 kdump 服务是否正在运行。

    # systemctl status kdump.service
    
    ○ kdump.service - Crash recovery kernel arming
         Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: disabled)
         Active: active (live)

41.3.3. 禁用 kdump 服务

您可以停止 kdump.service,并禁止在 Red Hat Enterprise Linux 8 系统中启动该服务。

先决条件

流程

  1. 要在当前会话中停止 kdump 服务:

    # systemctl stop kdump.service
  2. 要禁用 kdump 服务:

    # systemctl disable kdump.service
警告

建议将 kptr_restrict=1 设置为默认值。当将 kptr_restrict 设置为(1)作为默认时,kdumpctl 服务会加载崩溃内核,无论是否启用了内核地址空间布局(KASLR)。

如果 kptr_restrict 没有设置为 1,且 KASLR 被启用了,则 /proc/kore 文件的内容被生成为全零。kdumpctl 服务无法访问 /proc/kcore 文件,并加载崩溃内核。kexec-kdump-howto.txt 文件显示一条警告信息,建议您设置 kptr_restrict=1。验证 sysctl.conf 文件中的以下内容,以确保 kdumpctl 服务加载崩溃内核:

  • sysctl.conf 文件中的内核 kptr_restrict=1

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.