第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
権限がある。 - 更新するブートローダーエントリーに対応するカーネルを特定した。
手順
次の内容を含む 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
ファイルを参照してください。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" ...
関連情報
-
/usr/share/ansible/roles/rhel-system-roles.bootloader/README.md
ファイル -
/usr/share/doc/rhel-system-roles/bootloader/
ディレクトリー - Playbook の使用
- 変数の使用
- ロール
- カーネルコマンドラインパラメーターの設定