11.8. リソースに制約のある高可用性クラスターの設定
クラスターを設定するときに、アプリケーションの要件に合わせてクラスターリソースの動作を指定できます。リソース制約を設定することで、クラスターリソースの動作を制御できます。
次のカテゴリーのリソース制約を定義できます。
- 場所の制約: リソースがどのノードで実行できるかを決定します。場所の制約の詳細は、リソースを実行できるノードの決定を 参照してください。
- 順序の制約: リソースが実行される順序を決定します。順序の制約については、クラスターリソースの実行順序の決定を 参照してください。
- コロケーションの制約。1 つのリソースの場所が別のリソースの場所に依存することを指定します。コロケーション制約の詳細は、クラスターリソースのコロケーションを 参照してください。
- チケットの制約。特定の Booth チケットに依存するリソースを示します。Booth チケットの制約の詳細は、マルチサイト Pacemaker クラスター を参照してください。
次の手順の例では、ha_cluster RHEL システムロールを使用して、リソースの場所の制約、リソースコロケーションの制約、リソース順序の制約、およびリソースチケットの制約を含む高可用性クラスターを作成します。
ha_cluster RHEL システムロールは、指定されたノードの既存のクラスター設定を置き換えます。Playbook に指定されていない設定はすべて失われます。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo権限がある。 - クラスターメンバーとして使用するシステムには、RHEL および RHEL High Availability Add-On のアクティブなサブスクリプションがある。
- ha_cluster RHEL システムロールのインベントリーの指定 で説明されているように、インベントリーファイルでクラスターノードが指定されている。インベントリーファイルの作成に関する一般的な情報については、RHEL 8 でのコントロールノードの準備を 参照してください。
手順
機密性の高い変数を暗号化されたファイルに保存します。
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>形式で入力します。cluster_password: <cluster_password>
cluster_password: <cluster_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 で指定されている設定は次のとおりです。
ha_cluster_cluster_name: <cluster_name>- 作成するクラスターの名前。
ha_cluster_hacluster_password: <password>-
haclusterユーザーのパスワード。haclusterユーザーには、クラスターへのフルアクセス権が付与されます。 ha_cluster_manage_firewall: true-
ha_clusterRHEL システムロールがファイアウォールを管理するかどうかを決定する変数。 ha_cluster_manage_selinux: true-
ha_clusterRHEL システムロールがselinuxRHEL システムロールを使用してファイアウォール高可用性サービスのポートを管理するかどうかを決定する変数。 ha_cluster_resource_primitives: <cluster_resources>- ha_cluster RHEL システムロールによって設定される Pacemaker リソース (フェンシングを含む) のリソース定義のリスト。
ha_cluster_constraints_location: <location_constraints>- リソースの場所の制約を定義する変数。
ha_cluster_constraints_colocation: <colocation_constraints>- リソースのコロケーションの制約を定義する変数。
ha_cluster_constraints_order: <order_constraints>- リソースの順序の制約を定義する変数。
ha_cluster_constraints_ticket: <ticket_constraints>- Booth チケットの制約を定義する変数。
Playbook の構文を検証します。
ansible-playbook --syntax-check --ask-vault-pass ~/playbook.yml
$ ansible-playbook --syntax-check --ask-vault-pass ~/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