第 5 章 使用 RHEL 系统角色配置 GRUB 引导装载程序
通过使用 bootloader RHEL 系统角色,您可以自动化与 GRUB 引导装载程序相关的配置和管理任务。
此角色目前支持配置在以下 CPU 构架上运行的 GRUB 引导装载程序:
- AMD 和 Intel 64 位构架(x86-64)
- 64 位 ARM 架构(ARMv8.0)
- IBM Power Systems, Little Endian(POWER9)
5.1. 使用 bootloader RHEL 系统角色更新现有的引导装载程序条目 复制链接链接已复制到粘贴板!
您可以使用 bootloader RHEL 系统角色,以自动的方式更新 GRUB 引导菜单中的现有条目。这样,您可以有效地传递可以优化系统性能或行为的特定的内核命令行参数。
例如,如果您使用不需要来自内核和 init 系统的详细引导消息的系统,请使用 bootloader 将 quiet 参数应用到受管节点上的现有引导装载程序条目中,以实现更干净、更整洁、更用户友好的引导体验。
先决条件
- 您已准备好控制节点和受管节点。
- 您以可在受管主机上运行 playbook 的用户身份登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo权限。 - 您识别了与您要更新的引导装载程序条目对应的内核。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml:--- - name: Configuration and management of GRUB boot loader hosts: managed-node-01.example.com tasks: - name: Update existing boot loader entries ansible.builtin.include_role: name: redhat.rhel_system_roles.bootloader vars: bootloader_settings: - kernel: path: /boot/vmlinuz-5.14.0-362.24.1.el9_3.aarch64 options: - name: quiet state: present bootloader_reboot_ok: true示例 playbook 中指定的设置包括如下:
kernel- 指定与您要更新的引导装载程序条目关联的内核。
options- 指定要更新您所选的引导装载程序条目(内核)的内核命令行参数。
bootloader_reboot_ok: true- 角色检测到需要重启才能使更改生效,并对受管节点执行重启。
有关 playbook 中使用的所有变量的详情,请查看控制节点上的
/usr/share/ansible/roles/rhel-system-roles.bootloader/README.md文件。验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml请注意,这个命令只验证语法,不能防止错误的、但有效的配置。
运行 playbook:
$ ansible-playbook ~/playbook.yml
验证
检查您指定的引导装载程序条目是否有更新的内核命令行参数:
# ansible managed-node-01.example.com -m ansible.builtin.command -a 'grubby --info=ALL' managed-node-01.example.com | CHANGED | rc=0 >> ... index=1 kernel="/boot/vmlinuz-5.14.0-362.24.1.el9_3.aarch64" args="ro crashkernel=1G-4G:256M,4G-64G:320M,64G-:576M rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap $tuned_params quiet" root="/dev/mapper/rhel-root" initrd="/boot/initramfs-5.14.0-362.24.1.el9_3.aarch64.img $tuned_initrd" title="Red Hat Enterprise Linux (5.14.0-362.24.1.el9_3.aarch64) 9.4 (Plow)" id="2c9ec787230141a9b087f774955795ab-5.14.0-362.24.1.el9_3.aarch64" ...