第6章 クラスター内のクォーラムデバイスの設定
サービスの耐障害性を高めるために、クラスター内に qdevice を設定することが推奨されます。または、クォーラム票の追加のみを目的とする専用のクラスターノードを設定することもできます。
同じクラスター内に qdevice ノードとマジョリティーメーカーノードの両方を設定しないでください。メソッドごとに 1 票が追加され、クォーラム投票数が再び偶数になります。
6.1. クラスタークォーラム用の qdevice の設定 リンクのコピーリンクがクリップボードにコピーされました!
この目的で専用のマジョリティーメーカークラスターノードを使用する場合は、qdevice のセットアップをスキップし、代わりに クラスタークォーラム用のマジョリティーメーカーノードの設定 の手順に従ってください。
6.1.1. クォーラムデバイスホストの準備 リンクのコピーリンクがクリップボードにコピーされました!
- クォーラムデバイスホストで RHEL High Availability リポジトリーを設定します。
-
firewalldサービスがインストールされているが、それをホスト上で使用していない場合は、サービスを無効にします。ファイアウォールサービスの無効化 を参照してください。
6.1.2. クォーラムデバイスホスト上の qdevice の設定 リンクのコピーリンクがクリップボードにコピーされました!
まず、クラスタークォーラムの qdevice にサービスを提供するクォーラムデバイスホストを設定する必要があります。
次のステップで使用するサンプル qdevice ホストの名前は dc3qdevice です。
前提条件
- 理想的にはクラスターノードと異なる場所またはアベイラビリティーゾーンに配置された別のホストをインストールした。
- 専用クォーラムデバイスホストに RHEL High Availability リポジトリーを設定した。
- クラスターノードがクォーラムデバイスホストに到達できるようにネットワークを設定した。
手順
クォーラムデバイスホストに、
pcsおよびcorosync-qnetdをインストールします。[root]# dnf install pcs corosync-qnetdクォーラムデバイスホストで
pcsdサービスを起動して有効にします。[root]# systemctl enable --now pcsd.serviceクォーラムデバイスホストに qdevice を作成します。このコマンドは、クォーラムデバイスモデルである
netを設定および開始し、システムの起動時にデバイスが開始するように設定します。クォーラムデバイスホストで次のコマンドを実行します。[root]# pcs qdevice setup model net --enable --start Quorum device 'net' initialized quorum device enabled Starting quorum device... quorum device startedオプション:
firewalldサービスを実行している場合は、Red Hat High Availability Add-On に必要なポートを有効にします。クォーラムデバイスホストでこれを実行します。[root]# firewall-cmd --add-service=high-availability [root]# firewall-cmd --runtime-to-permanentクォーラムデバイスホストに、ユーザー
haclusterのパスワードを設定します。[root]# passwd hacluster
検証
クォーラムデバイスホスト上のクォーラムデバイスのステータスを確認します。
[root]# pcs qdevice status net --full QNetd address: *:5403 TLS: Supported (client certificate required) Connected clients: 0 Connected clusters: 0 Maximum send/receive size: 32768/32768 bytes
6.1.3. クラスター内の qdevice の設定 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
-
理想的にはクラスターノードと異なる場所またはアベイラビリティーゾーンに配置されたクォーラムデバイスホスト (例:
dc3qdevice) を設定した。 - クォーラムデバイスホストに qdevice を設定した。
- クラスターノードがクォーラムデバイスホストに到達できるようにネットワークを設定した。
手順
既存のすべてのクラスターノードの
/etc/hostsに qdevice ホストを追加して、結果的にすべてのノードの/etc/hostsエントリーが同じになるようにします。これにより、DNS サービスに障害が発生した場合でも、クラスターノードがホストと通信できるようになります。[root]# cat /etc/hosts ... 192.168.100.101 dc1hana1.example.com dc1hana1 192.168.100.102 dc1hana2.example.com dc1hana2 192.168.100.103 dc2hana1.example.com dc2hana1 192.168.100.104 dc2hana2.example.com dc2hana2 192.168.100.120 dc3qdevice.example.com dc3qdeviceクラスターのすべてのノードに
corosync-qdeviceをインストールします。[root]# dnf install corosync-qdeviceクラスター内のクォーラムデバイスホストを認証して、通信を有効化します。1 つのクラスターノードでこのコマンドを実行します。
[root]# pcs host auth <qdevice_host> Username: hacluster Password: dc3qdevice: Authorized-
<qdevice_host>は、クォーラムデバイスホストの名前 (例:dc3qdevice) に置き換えます。
-
クォーラムデバイスホストから qdevice をクラスターに追加します。1 つのクラスターノードでこのコマンドを実行します。
[root]# pcs quorum device add model net host=<qdevice_host> algorithm=ffsplit Setting up qdevice certificates on nodes... dc2hana1: Succeeded dc1hana2: Succeeded dc2hana2: Succeeded dc1hana1: Succeeded Enabling corosync-qdevice... dc2hana1: corosync-qdevice enabled dc1hana1: corosync-qdevice enabled dc1hana2: corosync-qdevice enabled dc2hana2: corosync-qdevice enabled Sending updated corosync.conf to nodes... dc2hana1: Succeeded dc1hana1: Succeeded dc1hana2: Succeeded dc2hana2: Succeeded dc1hana1: Corosync configuration reloaded Starting corosync-qdevice... dc2hana1: corosync-qdevice started dc1hana2: corosync-qdevice started dc1hana1: corosync-qdevice started dc2hana2: corosync-qdevice started-
<qdevice_host>は、クォーラムデバイスホストの名前 (例:dc3qdevice) に置き換えます。 -
アルゴリズムは
ffsplitまたはlmsを指定できます。さまざまなアルゴリズムの詳細は、corosync-qdevice(8)の man ページを参照してください。
-
検証
クラスターノード上のクォーラム設定を確認します。
[root]# pcs quorum config Device: votes: 1 Model: net algorithm: ffsplit host: dc3qdeviceクラスターノード場のクォーラムステータスを確認します。
[root]# pcs quorum status Quorum information ------------------ Date: Wed Sep 3 14:01:24 2025 Quorum provider: corosync_votequorum Nodes: 4 Node ID: 1 Ring ID: 1.180 Quorate: Yes Votequorum information ---------------------- Expected votes: 5 Highest expected: 5 Total votes: 5 Quorum: 3 Flags: Quorate Qdevice Membership information ---------------------- Nodeid Votes Qdevice Name 1 1 A,V,NMW dc1hana1 (local) 2 1 A,V,NMW dc1hana2 3 1 A,V,NMW dc2hana1 4 1 A,V,NMW dc2hana2 0 1 Qdeviceクラスターノード上のクォーラムデバイスのステータスを確認します。
[root]# pcs quorum device status Qdevice information ------------------- Model: Net Node ID: 1 Configured node list: 0 Node ID = 1 1 Node ID = 2 2 Node ID = 3 3 Node ID = 4 Membership node list: 1, 2, 3, 4 Qdevice-net information ---------------------- Cluster name: hana-scaleout-cluster QNetd host: dc3qdevice:5403 Algorithm: Fifty-Fifty split Tie-breaker: Node with lowest node ID State: Connectedクォーラムデバイスホスト上のクォーラムデバイスのステータスを確認します。ステータスには、qdevice が使用されているクラスターの詳細が表示されます。同じ qdevice が複数のクラスターで設定されている場合、ステータスには各クラスターの詳細が含まれます。
[root]# pcs qdevice status net --full QNetd address: *:5403 TLS: Supported (client certificate required) Connected clients: 4 Connected clusters: 1 Maximum send/receive size: 32768/32768 bytes Cluster "hana-scaleout-cluster": Algorithm: Fifty-Fifty split (KAP Tie-breaker) Tie-breaker: Node with lowest node ID Node ID 1: Client address: ::ffff:10.99.30.121:53312 HB interval: 8000ms Configured node list: 1, 2, 3, 4 Ring ID: 1.180 Membership node list: 1, 2, 3, 4 Heuristics: Undefined (membership: Undefined, regular: Undefined) TLS active: Yes (client certificate verified) Vote: ACK (ACK) Node ID 2: Client address: ::ffff:10.99.30.57:63610 HB interval: 8000ms Configured node list: 1, 2, 3, 4 Ring ID: 1.180 Membership node list: 1, 2, 3, 4 Heuristics: Undefined (membership: Undefined, regular: Undefined) TLS active: Yes (client certificate verified) Vote: ACK (ACK) Node ID 3: Client address: ::ffff:10.99.30.120:26758 HB interval: 8000ms Configured node list: 1, 2, 3, 4 Ring ID: 1.180 Membership node list: 1, 2, 3, 4 Heuristics: Undefined (membership: Undefined, regular: Undefined) TLS active: Yes (client certificate verified) Vote: ACK (ACK) Node ID 4: Client address: ::ffff:10.99.30.158:54932 HB interval: 8000ms Configured node list: 1, 2, 3, 4 Ring ID: 1.180 Membership node list: 1, 2, 3, 4 Heuristics: Undefined (membership: Undefined, regular: Undefined) TLS active: Yes (client certificate verified) Vote: No change (ACK)