11.11. クォーラムデバイスを使用した高可用性クラスターの設定
(RHEL 9.2 以降) 別のクォーラムデバイスを設定すると、クラスターは標準のクォーラムルールで許容されるよりも多くのノード障害に耐えることができます。クォーラムデバイスは、クラスターの軽量な調停デバイスとして機能します。クォーラムデバイスは、偶数のノードを持つクラスターに推奨されます。2 ノードクラスターでクォーラムデバイスを使用すると、スプリットブレインの状況で存続するノードをより適切に判別できます。
クォーラムデバイスの詳細は、クォーラムデバイスの設定 を参照してください。
ha_cluster
RHEL システムロールを使用し、別個のクォーラムデバイスを使用した高可用性クラスターを設定するには、まずクォーラムデバイスをセットアップします。クォーラムデバイスをセットアップした後は、任意の数のクラスターでデバイスを使用できます。
11.11.1. クォーラムデバイスの設定
ha_cluster
RHEL システムロールを使用してクォーラムデバイスを設定するには、この手順の例に従います。クラスターノード上ではクォーラムデバイスを実行できないことに注意してください。
ha_cluster
RHEL システムロールは、指定されたノードの既存のクラスター設定を置き換えます。Playbook に指定されていない設定はすべて失われます。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo
権限がある。 - クォーラムデバイスの実行に使用するシステムには、RHEL および RHEL High Availability Add-On のアクティブなサブスクリプションがある。
- ha_cluster RHEL システムロールのインベントリーの指定 で説明されているように、インベントリーファイルでクォーラムデバイスが指定されている。インベントリーファイルの作成に関する一般的な情報については、RHEL 9 でのコントロールノードの準備 を参照してください。
手順
機密性の高い変数を暗号化されたファイルに保存します。
vault を作成します。
$ ansible-vault create vault.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>
ansible-vault create
コマンドでエディターが開いたら、機密データを<key>: <value>
形式で入力します。cluster_password: <cluster_password>
- 変更を保存して、エディターを閉じます。Ansible は vault 内のデータを暗号化します。
次の内容を含む Playbook ファイル (例:
~/playbook-qdevice.yml
) を作成します。--- - name: Configure a host with a quorum device hosts: nodeQ vars_files: - vault.yml tasks: - name: Create a quorum device for the cluster ansible.builtin.include_role: name: rhel-system-roles.ha_cluster vars: ha_cluster_cluster_present: false ha_cluster_hacluster_password: "{{ cluster_password }}" ha_cluster_manage_firewall: true ha_cluster_manage_selinux: true ha_cluster_qnetd: present: true
サンプル Playbook で指定されている設定は次のとおりです。
ha_cluster_cluster_present: false
-
false
に設定されると、すべてのクラスター設定をターゲットホストから削除することを決定する変数。 ha_cluster_hacluster_password: <password>
-
hacluster
ユーザーのパスワード。hacluster
ユーザーには、クラスターへのフルアクセス権が付与されます。 ha_cluster_manage_firewall: true
-
ha_cluster
RHEL システムロールがファイアウォールを管理するかどうかを決定する変数。 ha_cluster_manage_selinux: true
-
ha_cluster
RHEL システムロールがselinux
RHEL システムロールを使用してファイアウォール高可用性サービスのポートを管理するかどうかを決定する変数。 ha_cluster_qnetd: <quorum_device_options>
-
qnetd
ホストを設定する変数。
Playbook の構文を検証します。
$ ansible-playbook --ask-vault-pass --syntax-check ~/playbook-qdevice.yml
このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
$ ansible-playbook --ask-vault-pass ~/playbook-qdevice.yml
関連情報
-
/usr/share/ansible/roles/rhel-system-roles.ha_cluster/README.md
ファイル -
/usr/share/doc/rhel-system-roles/ha_cluster/
ディレクトリー
11.11.2. クォーラムデバイスを使用するようにクラスターを設定する
クォーラムデバイスを使用するようにクラスターを設定するには、この手順の例に従います。
ha_cluster
RHEL システムロールは、指定されたノードの既存のクラスター設定を置き換えます。Playbook に指定されていない設定はすべて失われます。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo
権限がある。 - クラスターメンバーとして使用するシステムには、RHEL および RHEL High Availability Add-On のアクティブなサブスクリプションがある。
- ha_cluster RHEL システムロールのインベントリーの指定 で説明されているように、インベントリーファイルでクラスターノードが指定されている。インベントリーファイルの作成に関する一般的な情報については、RHEL 9 でのコントロールノードの準備 を参照してください。
- クォーラムデバイスが設定されている。
手順
次の内容を含む Playbook ファイル (例:
~/playbook-cluster-qdevice.yml
) を作成します。--- - name: Configure a cluster to use a quorum device hosts: node1 node2 vars_files: - vault.yml tasks: - name: Create cluster that uses a quorum device ansible.builtin.include_role: name: rhel-system-roles.ha_cluster vars: ha_cluster_cluster_name: my-new-cluster ha_cluster_hacluster_password: "{{ cluster_password }}" ha_cluster_manage_firewall: true ha_cluster_manage_selinux: true ha_cluster_quorum: device: model: net model_options: - name: host value: nodeQ - name: algorithm value: lms
サンプル Playbook で指定されている設定は次のとおりです。
ha_cluster_cluster_name: <cluster_name>
- 作成するクラスターの名前。
ha_cluster_hacluster_password: <password>
-
hacluster
ユーザーのパスワード。hacluster
ユーザーには、クラスターへのフルアクセス権が付与されます。 ha_cluster_manage_firewall: true
-
ha_cluster
RHEL システムロールがファイアウォールを管理するかどうかを決定する変数。 ha_cluster_manage_selinux: true
-
ha_cluster
RHEL システムロールがselinux
RHEL システムロールを使用してファイアウォール高可用性サービスのポートを管理するかどうかを決定する変数。 ha_cluster_quorum: <quorum_parameters>
- クラスターでクォーラムデバイスを使用することを指定するのに使用できるクラスタークォーラムを設定する変数。
Playbook の構文を検証します。
$ ansible-playbook --ask-vault-pass --syntax-check ~/playbook-cluster-qdevice.yml
このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
$ ansible-playbook --ask-vault-pass ~/playbook-cluster-qdevice.yml
関連情報
-
/usr/share/ansible/roles/rhel-system-roles.ha_cluster/README.md
ファイル -
/usr/share/doc/rhel-system-roles/ha_cluster/
ディレクトリー