22.4. フェンシングおよびリソースを使用した高可用性クラスターの設定
以下の手順では、ha_cluster
システムロールを使用して、フェンスデバイス、クラスターリソース、リソースグループ、およびクローンされたリソースを含む高可用性クラスターを作成します。
前提条件
Playbook を実行するノードに
ansible-core
がインストールされている。注記ansible-core
をクラスターメンバーノードにインストールする必要はありません。-
Playbook を実行するシステムに
rhel-system-roles
パッケージがインストールされている。 - クラスターメンバーとして使用するシステムに、RHEL および RHEL High Availability Add-On の有効なサブスクリプション範囲が必要。
ha_cluster
システムロールは、指定されたノードの既存のクラスター設定を置き換えます。ロールで指定されていない設定は失われます。
手順
-
ha_cluster
システムロールのインベントリーの指定 で説明されているように、クラスター内のノードを指定するインベントリーファイルを作成します。 Playbook ファイルを作成します (例:
new-cluster.yml
)。注記実稼働環境の Playbook ファイルを作成する場合は、Ansible Vault を使用したコンテンツの暗号化 で説明されているように、パスワード vault を暗号化することが推奨されます。
以下の Playbook ファイルの例では、フェンシング、複数のリソース、およびリソースグループを含むクラスターを設定します。また、リソースグループのリソースクローンも含まれます。
- hosts: node1 node2 vars: ha_cluster_cluster_name: my-new-cluster ha_cluster_hacluster_password: password ha_cluster_resource_primitives: - id: xvm-fencing agent: 'stonith:fence_xvm' instance_attrs: - attrs: - name: pcmk_host_list value: node1 node2 - id: simple-resource agent: 'ocf:pacemaker:Dummy' - id: resource-with-options agent: 'ocf:pacemaker:Dummy' instance_attrs: - attrs: - name: fake value: fake-value - name: passwd value: passwd-value meta_attrs: - attrs: - name: target-role value: Started - name: is-managed value: 'true' operations: - action: start attrs: - name: timeout value: '30s' - action: monitor attrs: - name: timeout value: '5' - name: interval value: '1min' - id: dummy-1 agent: 'ocf:pacemaker:Dummy' - id: dummy-2 agent: 'ocf:pacemaker:Dummy' - id: dummy-3 agent: 'ocf:pacemaker:Dummy' - id: simple-clone agent: 'ocf:pacemaker:Dummy' - id: clone-with-options agent: 'ocf:pacemaker:Dummy' ha_cluster_resource_groups: - id: simple-group resource_ids: - dummy-1 - dummy-2 meta_attrs: - attrs: - name: target-role value: Started - name: is-managed value: 'true' - id: cloned-group resource_ids: - dummy-3 ha_cluster_resource_clones: - resource_id: simple-clone - resource_id: clone-with-options promotable: yes id: custom-clone-id meta_attrs: - attrs: - name: clone-max value: '2' - name: clone-node-max value: '1' - resource_id: cloned-group promotable: yes roles: - rhel-system-roles.ha_cluster
- ファイルを保存します。
手順 1 で作成したインベントリーファイル inventory へのパスを指定して、Playbook を実行します。
# ansible-playbook -i inventory new-cluster.yml