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


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

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

13.1. 使用 kdump RHEL 系统角色配置内核崩溃转储机制

内核崩溃转储是诊断和故障排除系统问题的关键功能。当您的系统遇到内核 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: rhel-system-roles.kdump
          vars:
            kdump_target:
              type: raw
              location: /dev/sda1
            kdump_path: /var/crash/vmcore
            kernel_settings_reboot_ok: true

    示例 playbook 中指定的设置包括以下内容:

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

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

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

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

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

验证

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

    $ ansible managed-node-01.example.com -m command -a 'grep crashkernel /proc/cmdline'

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.kdump/README.md 文件
  • /usr/share/doc/rhel-system-roles/kdump/ 目录
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.