3.9. プリフライト Playbook の実行
この Ansible Playbook は Ceph リポジトリーを設定し、ブートストラップ用にストレージクラスターを準備します。また、podman、lvm2、chrony、cephadm パッケージなどのいくつかの前提条件もインストールします。cephadm-ansible および cephadm-preflight.yml のデフォルトの場所は /usr/share/cephadm-ansible です。
初期ホストをブートストラップする前に、プリフライト Playbook を実行します。
プリフライト Playbook は、cephadm-ansible インベントリーファイルを使用して、管理ノードとストレージクラスター内の他のすべてのノードを識別します。
インベントリーファイルのデフォルトの場所は /usr/share/cephadm-ansible/hosts です。以下の例は、一般的なインベントリーファイルの構造を示しています。
例
host02
host03
host04
[admin]
host01
インベントリーファイルの [admin] グループには、管理者キーリングが保存されるノードの名前が含まれます。新規ストレージクラスターでは、[admin] グループのノードがブートストラップノードになります。クラスターのブートストラップ後に管理ホストを追加するには、インストールガイド の 管理ノードの設定 を参照してください。
プリフライト Playbook は、Red Hat Ceph Storage デプロイに最適なシステム設定を確保するための包括的なチェックとタスクのセットを提供します。
Playbook のチェックとタスクには次のものが含まれます。
適切なオペレーティングシステムの設定。
- Red Hat Enterprise Linux のバージョン。
- 適切なソフトウェアプロファイル。
- 必須のパッケージがすべてインストールされている。不足しているパッケージがある場合、Playbook は不足している必須パッケージをインストールします。
適切なハードウェア設定。
- CPU の設定
- RAM の設定
- メモリースワップ領域
- ネットワークインターフェイスカード (NIC) の設定
-
root-filesystemおよび/varの分離。
非接続インストールを実行している場合は、非接続インストールのためのプリフライト Playbook の実行 を参照してください。
プリフライト Playbook は chrony をインストールしますが、単一の NTP ソース用に設定します。複数のソースを設定する場合、または非接続環境の場合は、次のドキュメントを参照してください。
以下の例では、host01 がブートストラップノードです。
前提条件
始める前に、次の前提条件が満たされていることを確認してください。
- Ansible 管理ノードへの root レベルのアクセス。
-
ストレージクラスター内のすべてのノードへの sudo アクセスおよびパスワードなしの
sshアクセスのある Ansible ユーザー。 -
dnf install cephadm-ansibleコマンドを使用してインストールされた cephadm-ansible パッケージ。
手順
-
/usr/share/cephadm-ansibleディレクトリーに移動します。 hostsファイルを開いて編集し、ノードを追加します。例
host02 host03 host04 [admin] host01プリフライト Playbook を実行します。
クラスター内のすべてのホストに対して Playbook を実行するか、クラスター内の選択したホストのセットに対して Playbook を実行して、プリフライト Playbook を実行します。
注記プリフライト Playbook を実行すると、
cephadm-ansibleはクライアントノードにchronyパッケージおよびceph-commonパッケージを自動的にインストールします。インストールが完了すると、cephadm は /usr/sbin/ ディレクトリーに配置されます。
クラスター内の全ホストに対して Playbook を実行します。
構文
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"Preflight Check Report と Summary では、合格、不合格、および情報チェックが生成され、強調表示されます。
図3.1 プリフライト Playbook の出力例
レポート内の各出力タイプには、対応するビジュアル表示があります。レポートを理解するには、次の表を使用してください。
重要すべてのチェックは情報のみです。失敗しても、チェックの実行は停止されません。
表3.1 Preflight Check Report キー レポートタイプ 対応するアイコン 説明 Passed
ベースラインまたは推奨値を満たす
INFO
一般的なシステムまたは環境情報の詳細。
Failed
推奨値を満たしていません。これは情報提供のみです。
レポートの最後には Summary セクションが提供されます。Summary には、失敗したチェックの情報が表示されます。
注記レポートは、Playbook が実行された現在の作業ディレクトリーに
./preflight_report.txtとして保存されます。概要レポートの後にはレポートへのパスが表示されます。--limitオプションを使用して、ストレージクラスター内の選択したホストセットでプリフライト Playbook を実行します。構文
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit GROUP_NAME|NODE_NAMEGROUP_NAME は、インベントリーファイルからのグループ名に置き換えます。NODE_NAME は、インベントリーファイルからの特定のノード名に置き換えます。
注記必要に応じて、
[mons]、[osds]、[mgrs]などのグループ名で、インベントリーファイルのノードをグループ化できます。ただし、管理ノードを[admin]グループに追加し、クライアントを[clients]グループに追加する必要があります。例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit clients [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit host01
検証
- プリフライトチェック中にフラグが付けられた問題を更新または修正します。
パッケージが正常にインストールされたことを確認します。
例
[ansible@admin cephadm-ansible]$ rpm -q chrony ceph-common chrony-4.5-3.el9.x86_64 ceph-common-19.2.0-55.el9cp.x86_64