第 13 章 使用 RHEL 系统角色配置自动崩溃转储
要使用 Ansible 管理 kdump
,您可以使用 kdump
角色,这是 RHEL 10 中提供的 RHEL 系统角色之一。使用 kdump
角色可让您指定保存系统内存内容的位置,以便稍后进行分析。
13.1. 使用 kdump RHEL 系统角色配置内核崩溃转储机制 复制链接链接已复制到粘贴板!
内核崩溃转储是诊断和故障排除系统问题的一个重要特性。当您的系统遇到内核 panic 或其他关键故障时,崩溃内核转储允许您在失败时捕获内核状态的内存转储(核转储)。
通过使用 Ansible playbook,您可以使用 kdump
RHEL 系统角色在多个系统上设置内核崩溃转储参数。这确保 kdump
服务在所有受管节点上一致的设置。
kdump
系统角色替换了 /etc/kdump.conf
和 /etc/sysconfig/kdump
配置文件中的内容。之前的设置变为角色变量中指定的变量,如果它们没有在角色变量中指定,则会丢失。
先决条件
- 您已准备好控制节点和受管节点。
- 您以可在受管主机上运行 playbook 的用户身份登录到控制节点。
-
您用于连接到受管节点的帐户对它们具有
sudo
权限。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例 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
文件。验证 playbook 语法:
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,这个命令只验证语法,不能防止错误的、但有效的配置。
运行 playbook:
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证内核崩溃转储参数:
ansible managed-node-01.example.com -m command -a 'grep crashkernel /proc/cmdline'
$ ansible managed-node-01.example.com -m command -a 'grep crashkernel /proc/cmdline'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow