第 13 章 使用 RHEL 系统角色配置自动崩溃转储


要使用 Ansible 管理 kdump,您可以使用 kdump 角色,这是 RHEL 9 中提供的 RHEL 系统角色之一。

使用 kdump 角色可让您指定保存系统内存内容的位置,以便稍后进行分析。

内核崩溃转储是诊断和故障排除系统问题的一个重要特性。当您的系统遇到内核 panic 或其他关键故障时,崩溃内核转储允许您在失败时捕获内核状态的内存转储(核转储)。

通过使用 Ansible playbook,您可以使用 kdump RHEL 系统角色在多个系统上设置内核崩溃转储参数。这确保 kdump 服务在所有受管节点上一致的设置。

警告

kdump 系统角色替换了 /etc/kdump.conf/etc/sysconfig/kdump 配置文件中的内容。之前的设置变为角色变量中指定的变量,如果它们没有在角色变量中指定,则会丢失。

先决条件

流程

  1. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Configuring kernel crash dumping
      hosts: managed-node-01.example.com
      tasks:
        - name: Setting the kdump directory.
          ansible.builtin.include_role:
            name: redhat.rhel_system_roles.kdump
          vars:
            kdump_target:
              type: raw
              location: /dev/sda1
            kdump_path: /var/crash/vmcore
            kernel_settings_reboot_ok: true
    Copy to Clipboard Toggle word wrap

    示例 playbook 中指定的设置包括如下:

    kdump_target: <type_and_location>
    vmcore 写到 root 文件系统以外的地方。当 type 是 raw 或文件系统时,location 指向一个分区(按名称、标签或 UUID)。
    kernel_settings_reboot_ok: <true|false>
    默认值为 false。如果设置为 true,则系统角色将确定是否需要重启受管主机,以使请求的更改生效,并重启。如果设置为 false,则角色将返回值为 true 的变量 kernel_settings_reboot_required ,表示需要重启。在这种情况下,用户必须手动重启受管节点。

    有关 playbook 中使用的所有变量的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.kdump/README.md 文件。

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml
    Copy to Clipboard Toggle word wrap

    请注意,这个命令只验证语法,不能防止错误的、但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml
    Copy to Clipboard Toggle word wrap

验证

  • 验证内核崩溃转储参数:

    $ ansible managed-node-01.example.com -m command -a 'grep crashkernel /proc/cmdline'
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat