15.3. bootloader RHEL システムロールを使用したブートローダーメニューのタイムアウトの設定
bootloader
RHEL システムロールを使用して、GRUB2 ブートローダーメニューのタイムアウトを自動的に設定できます。この方法により、さまざまな目的で介入し、デフォルト以外のブートエントリーを選択できる期間を効率的に更新できます。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo
権限がある。
手順
次の内容を含む Playbook ファイル (例:
~/playbook.yml
) を作成します。--- - name: Configuration and management of GRUB2 boot loader hosts: managed-node-01.example.com tasks: - name: Update the boot loader timeout ansible.builtin.include_role: name: rhel-system-roles.bootloader vars: bootloader_timeout: 10
サンプル Playbook で指定されている設定は次のとおりです。
bootloader_timeout: 10
- デフォルトのエントリーを起動する前に GRUB2 ブートローダーメニューを表示する時間を制御する整数を入力します。
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.reboot managed-node-01.example.com | CHANGED => { "changed": true, "elapsed": 21, "rebooted": true }
管理対象ノードで、GRUB2 ブートメニュー画面を確認します。
The highlighted entry will be executed automatically in 10s
GRUB2 が自動的にデフォルトエントリーを使用するまで、このブートメニューを表示する時間。
別の方法: 管理対象ノードの
/boot/grub2/grub.cfg
ファイル内の "timeout" 設定をリモートでクエリーすることもできます。# ansible managed-node-01.example.com -m ansible.builtin.command -a "grep 'timeout' /boot/grub2/grub.cfg" managed-node-01.example.com | CHANGED | rc=0 >> if [ x$feature_timeout_style = xy ] ; then set timeout_style=menu set timeout=10 # Fallback normal timeout code in case the timeout_style feature is set timeout=10 if [ x$feature_timeout_style = xy ] ; then set timeout_style=menu set timeout=10 set orig_timeout_style=${timeout_style} set orig_timeout=${timeout} # timeout_style=menu + timeout=0 avoids the countdown code keypress check set timeout_style=menu set timeout=10 set timeout_style=hidden set timeout=10 if [ x$feature_timeout_style = xy ]; then if [ "${menu_show_once_timeout}" ]; then set timeout_style=menu set timeout=10 unset menu_show_once_timeout save_env menu_show_once_timeout
関連情報
-
/usr/share/ansible/roles/rhel-system-roles.bootloader/README.md
ファイル -
/usr/share/doc/rhel-system-roles/bootloader/
ディレクトリー