第15章 RHEL システムロールを使用した GRUB 2 ブートローダーの設定


bootloader RHEL システムロールを使用すると、GRUB2 ブートローダーに関連する設定および管理タスクを自動化できます。

このロールは、現在、次の CPU アーキテクチャーで実行される GRUB2 ブートローダーの設定をサポートしています。

  • AMD および Intel 64 ビットアーキテクチャー (x86-64)
  • 64 ビット ARM アーキテクチャー (ARMv8.0)
  • IBM Power Systems (リトルエンディアン) (POWER9)

15.1. bootloader RHEL システムロールを使用した既存のブートローダーエントリーの更新

bootloader RHEL システムロールを使用して、GRUB2 ブートメニュー内の既存のエントリーを自動的に更新できます。この方法により、システムのパフォーマンスや動作を最適化できる特定のカーネルコマンドラインパラメーターを効率的に渡すことができます。

たとえば、カーネルや init システムからの詳細なブートメッセージが必要ないシステムを活用する場合は、bootloader を使用して管理対象ノード上の既存のブートローダーエントリーに quiet パラメーターを適用すると、よりクリーンで簡潔かつユーザーフレンドリーなブートエクスペリエンスを実現できます。

前提条件

  • コントロールノードと管理対象ノードの準備が完了している
  • 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
  • 管理対象ノードへの接続に使用するアカウントに、そのノードに対する sudo 権限がある。
  • 更新するブートローダーエントリーに対応するカーネルを特定した。

手順

  1. 次の内容を含む Playbook ファイル (例: ~/playbook.yml) を作成します。

    ---
    - name: Configuration and management of GRUB2 boot loader
      hosts: managed-node-01.example.com
      tasks:
        - name: Update existing boot loader entries
          ansible.builtin.include_role:
            name: 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 ファイルを参照してください。

  2. Playbook の構文を検証します。

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

    このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。

  3. 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"
    ...

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.