第 14 章 使用 RHEL 系统角色永久配置内核参数
您可以使用 kernel_settings
RHEL 系统角色一次在多个客户端上配置内核参数。这个解决方案:
- 提供带有有效输入设置的友好接口。
- 保留所有预期的内核参数。
从控制计算机运行 kernel_settings
角色后,内核参数将立即应用于受管系统,并在重新启动后保留。
请注意,通过 RHEL 渠道交付的 RHEL 系统角色作为默认 AppStream 存储库中的 RPM 软件包提供给 RHEL 客户。RHEL 系统角色也可以作为一个集合提供给具有通过 Automation Hub 的 Ansible 订阅的客户。
14.1. 使用 kernel_settings RHEL 系统角色应用所选的内核参数 复制链接链接已复制到粘贴板!
您可以使用 kernel_settings
RHEL 系统角色在多个受管操作系统间远程配置各种内核参数,并具有持久性效果。例如,您可以配置:
- 透明巨页,以通过减少管理较小页的开销来提高性能。
- 通过具有回环接口的网络传输的最大数据包大小。
- 对文件的限制,可以同时打开。
先决条件
- 您已准备好控制节点和受管节点。
- 您以可在受管主机上运行 playbook 的用户身份登录到控制节点。
-
您用于连接到受管节点的帐户对它们具有
sudo
权限。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例 playbook 中指定的设置包括如下:
kernel_settings_sysfs: <list_of_sysctl_settings>
-
sysctl
设置的 YAML 列表以及您要分配给这些设置的值。 kernel_settings_transparent_hugepages: <value>
-
控制内存子系统透明巨页(THP)设置。您可以禁用 THP 支持(
never
)、在系统范围(always
)或在MAD_HUGEPAGE
区域内(madvise
)启用它。 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 'sysctl fs.file-max kernel.threads-max net.ipv6.conf.lo.mtu' ansible managed-node-01.example.com -m command -a 'cat /sys/kernel/mm/transparent_hugepage/enabled'
# ansible managed-node-01.example.com -m command -a 'sysctl fs.file-max kernel.threads-max net.ipv6.conf.lo.mtu' # ansible managed-node-01.example.com -m command -a 'cat /sys/kernel/mm/transparent_hugepage/enabled'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow