第 7 章 使用 RHEL 系统角色配置 GRUB 引导装载程序


通过使用 bootloader RHEL 系统角色,您可以自动化与 GRUB 引导装载程序相关的配置和管理任务。

此角色目前支持配置 GRUB 引导装载程序,该加载程序可在以下 CPU 构架上运行:

  • AMD 和 Intel 64 位构架(x86-64)
  • 64 位 ARM 架构(ARMv8.0)
  • IBM Power Systems, Little Endian(POWER9)

您可以使用 bootloader RHEL 系统角色以自动的方式更新 GRUB 引导菜单中的现有条目。这样,您可以有效地传递可以优化系统性能或行为的特定的内核命令行参数。

例如,如果您利用了不需要来自内核和 init 系统的详细引导消息的系统,请使用 bootloaderquiet 参数应用到受管节点上的现有引导装载程序条目中,以实现更干净、更整洁、更用户友好的引导体验。

先决条件

  • 您已准备好控制节点和受管节点
  • 以可在受管主机上运行 playbook 的用户登录到控制节点。
  • 用于连接到受管节点的帐户具有 sudo 权限。
  • 您确定了与您要更新的引导装载程序条目对应的内核。

流程

  1. 创建一个包含以下内容的 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
    Copy to Clipboard Toggle word wrap

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

    kernel
    指定与您要更新的引导装载程序条目连接的内核。
    options
    指定要更新您所选的引导装载程序条目(内核)的内核命令行参数。
    bootloader_reboot_ok: true
    角色检测到需要重启才能使更改生效,并对受管节点执行重启。

    有关 playbook 中使用的所有变量的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.bootloader/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 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"
    ...
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat