11.10. SBD ノードフェンシングを使用した高可用性クラスターの設定
(RHEL 9.1 以降) 次の手順では、ha_cluster
システムロールを使用して、SBD ノードフェンシングを使用する高可用性クラスターを作成します。
ha_cluster
RHEL システムロールは、指定されたノードの既存のクラスター設定を置き換えます。Playbook に指定されていない設定はすべて失われます。
この Playbook は インベントリーでのウォッチドッグおよび SBD デバイスの設定 で説明されているように、ウォッチドッグモジュール (RHEL 8.9 以降でサポート) をロードするインベントリーファイルを使用します。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo
権限がある。 - クラスターメンバーとして使用するシステムには、RHEL および RHEL High Availability Add-On のアクティブなサブスクリプションがある。
- ha_cluster RHEL システムロールのインベントリーの指定 で説明されているように、インベントリーファイルでクラスターノードが指定されている。
手順
次の内容を含む Playbook ファイル (例:
~/playbook.yml
) を作成します。--- - name: Create a high availability cluster that uses SBD node fencing hosts: node1 node2 roles: - rhel-system-roles.ha_cluster vars: ha_cluster_cluster_name: my-new-cluster ha_cluster_hacluster_password: <password> ha_cluster_manage_firewall: true ha_cluster_manage_selinux: true ha_cluster_sbd_enabled: yes ha_cluster_sbd_options: - name: delay-start value: 'no' - name: startmode value: always - name: timeout-action value: 'flush,reboot' - name: watchdog-timeout value: 30 # Suggested optimal values for SBD timeouts: # watchdog-timeout * 2 = msgwait-timeout (set automatically) # msgwait-timeout * 1.2 = stonith-timeout ha_cluster_cluster_properties: - attrs: - name: stonith-timeout value: 72 ha_cluster_resource_primitives: - id: fence_sbd agent: 'stonith:fence_sbd' instance_attrs: - attrs: # taken from host_vars - name: devices value: "{{ ha_cluster.sbd_devices | join(',') }}" - name: pcmk_delay_base value: 30
このサンプル Playbook ファイルは、SBD フェンシングを使用し、SBD Stonith リソースを作成する
firewalld
およびselinux
サービスを実行するクラスターを設定します。実稼働用の Playbook ファイルを作成するときは、Encrypting content with Ansible Vault で説明されているように、パスワードを vault で暗号化します。
Playbook の構文を検証します。
$ ansible-playbook --syntax-check ~/playbook.yml
このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
$ ansible-playbook ~/playbook.yml
関連情報
-
/usr/share/ansible/roles/rhel-system-roles.ha_cluster/README.md
ファイル -
/usr/share/doc/rhel-system-roles/ha_cluster/
ディレクトリー