第23章 rhel_mgmt コレクションを使用した IPMI と Redfish によるリモート管理
Intelligent Platform Management Interface (IPMI) と Redfish API を使用すると、管理者はオペレーティングシステムが実行されていない場合でもホストをリモートで管理できます。rhel_mgmt Ansible コレクションは、IPMI と Redfish を使用してブートデバイスの設定などの特定のリモート操作を実行するモジュールを提供します。
23.1. rhel_mgmt.ipmi_boot モジュールを使用したブートデバイスの設定 リンクのコピーリンクがクリップボードにコピーされました!
redhat.rhel_mgmt コレクションの ipmi_boot モジュールを使用して、ホストのブートデバイスを設定できます。このモジュールは、Intelligent Platform Management Interface (IPMI) を使用してこの操作を実行します。
この Ansible モジュールを使用する場合、3 つのホストが関係します。コントロールノード、管理対象ノード、および実際の IPMI 操作が適用されるベースボード管理コントローラー (BMC) を備えたホストです。コントロールノードは、管理対象ノード上で Playbook を実行します。管理対象ホストはリモートの BMC に接続して IPMI 操作を実行します。たとえば、Playbook で hosts: managed-node-01.example.com と name: server.example.com を設定すると、managed-node-01.example.com が server.example.com の IPMI を使用して設定を変更します。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo権限がある。 -
ansible-collection-redhat-rhel_mgmtパッケージがコントロールノードにインストールされている。 - BMC にアクセスするための認証情報がある。また、この認証情報に設定を変更する権限がある。
- 管理対象ノードがネットワーク経由でリモートの BMC にアクセスできる。
手順
機密性の高い変数を暗号化されたファイルに保存します。
vault を作成します。
ansible-vault create ~/vault.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>
$ ansible-vault create ~/vault.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-vault createコマンドでエディターが開いたら、機密データを<key>: <value>形式で入力します。ipmi_usr: <username> ipmi_pwd: <password>
ipmi_usr: <username> ipmi_pwd: <password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を保存して、エディターを閉じます。Ansible は vault 内のデータを暗号化します。
次の内容を含む Playbook ファイル (例:
~/playbook.yml) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow サンプル Playbook で指定されている設定は次のとおりです。
name: <bmc_hostname_or_ip_address>- BMC のホスト名または IP アドレスを定義します。これは、管理対象ノードがアクションを実行するホストの BMC です。
port: <bmc_port_number>-
Remote Management Control Protocol (RMCP) のポート番号を設定します。デフォルトは
623です。 bootdev: <value>ブートデバイスを設定します。以下の値のいずれかを選択できます。
-
hd: ハードディスクから起動します。 -
network: ネットワークから起動します。 -
optical: DVD-ROM などの光学ドライブから起動します。 -
floppy: フロッピーディスクから起動します。 -
safe: ハードドライブからセーフモードで起動します。 -
setup: BIOS または UEFI で起動します。 -
default: IPMI 経由で指示されたブートデバイスの要求をすべて削除します。
-
persistent: <true|false>-
定義した設定をリモートホストで今後のすべてのブートに使用するか、次回のブートにのみ使用するかを設定します。デフォルトでは、この変数は
falseに設定されています。すべての BMC がブートデバイスの永続的な設定をサポートしているわけではないことに注意してください。
Playbook で使用されるすべての変数の詳細は、コントロールノードで
ansible-doc redhat.rhel_mgmt.ipmi_bootコマンドを使用して、モジュールのドキュメントを参照してください。Playbook の構文を検証します。
ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml
$ ansible-playbook --ask-vault-pass --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
ansible-playbook --ask-vault-pass ~/playbook.yml
$ ansible-playbook --ask-vault-pass ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow