Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
10.5. クォーラムデバイス
Red Hat Enterprise Linux 7.4 は、クラスター用のサードパーティーのアービトレーションデバイスとして機能する別のクォーラムデバイスの設定に完全に対応しています。主要な用途は、クォーラムルールによって許容されるノード障害の数よりも多くのノード障害をクラスターが許容するようにすることです。クォーラムデバイスは、偶数のノードで構成されるクラスターに推奨され、2 ノード構成のクラスターには強く推奨されます。
クォーラムデバイスの設定時に以下を考慮する必要があります。
- クォーラムデバイスを使用するクラスターと同じ場所にある異なる物理ネットワークでクォーラムデバイスを実行することが推奨されます。理想的には、クォーラムデバイスホストはメインクラスターとは別のラックに置くようにし、最低でも別の PSU に置くようにしてください。corosync リングと同じネットワークセグメントには置かないでください。
- 複数のクォーラムデバイスをクラスターで同時に使用することはできません。
- 複数のクォーラムデバイスをクラスターで同時に使用することはできませんが、複数のクラスターが 1 つのクォーラムデバイスを同時に使用することはできます。アルゴリズムやクォーラムオプションはクラスターノード自体に保存されるため、同じクォーラムデバイスを使用する各クラスターは異なるアルゴリズムやクォーラムオプションを使用できます。たとえば、
ffsplit
((fifty/fifty split) アルゴリズムを使用するクラスターと、lms
(last man standing) アルゴリズムを使用する別のクラスターが 1 つのクォーラムデバイスを使用することができます。 - クォーラムデバイスは既存のクラスターノードで実行しないでください。
10.5.1. クォーラムデバイスパッケージのインストール
クラスターにクォーラムデバイスを設定するには、以下のパッケージをインストールする必要があります。
- 既存クラスターのノードで
corosync-qdevice
をインストールします。[root@node1:~]#
yum install corosync-qdevice
[root@node2:~]#yum install corosync-qdevice
- クォーラムデバイスホストで
pcs
およびcorosync-qnetd
をインストールします。[root@qdevice:~]#
yum install pcs corosync-qnetd
pcsd
サービスを起動し、システムの起動時にpcsd
がクォーラムデバイスホストで有効になるようにします。[root@qdevice:~]#
systemctl start pcsd.service
[root@qdevice:~]#systemctl enable pcsd.service
10.5.2. クォーラムデバイスの設定
本セクションでは、Red Hat High Availability クラスターでクォーラムデバイスを設定する手順例を説明します。以下の手順はクォーラムデバイスを設定し、クラスターに追加します。この例では以下を前提とします。
- クォーラムデバイスに使用されるノードは
qdevice
です。 - クォーラムデバイスモデルは
net
で、これは現在サポートされている唯一のクォーラムデバイスモデルです。net
モデルは以下のアルゴリズムをサポートします。ffsplit
(fifty-fifty split) - この場合、アクティブなノードの数の最も多いパーティションに 1 票が提供されます。lms
(last-man-standing) - ノードがqnetd
サーバーを確認できるクラスター内に残っている唯一のノードである場合に、票が返されます。警告
LMS アルゴリズムは、残りのノードが 1 つのみである場合にもクラスターがクォーラムに達した状態であることを許可しますが、これは number_of_nodes - 1 と同じであるため、クォーラムデバイスの議決権が強いことも意味します。クォーラムデバイスとの接続を失うことは、number_of_nodes - 1 票を失うことを意味し、これはすべてのノードがアクティブであるクラスターのみが (クォーラムデバイスへの投票過多により) クォーラムに達した状態にあることを意味し、その他のクラスターはクォーラムに達しない状態になることを意味します。
これらのアルゴリズムの実装の詳細は、man ページのcorosync-qdevice
(8) を参照してください。 - クラスターノードは
node1
とnode2
です。
以下の手順は、クォーラムデバイスを設定し、そのクォーラムデバイスをクラスターに追加します。
- クォーラムデバイスをホストするために使用するノードで以下のコマンドを使用し、クォーラムデバイスを設定します。このコマンドは、クォーラムデバイスモデルである
net
を設定および開始し、デバイスが起動時に開始されるよう設定します。[root@qdevice:~]#
pcs qdevice setup model net --enable --start
Quorum device 'net' initialized quorum device enabled Starting quorum device... quorum device startedクォーラムデバイスの設定後、その状態をチェックできます。corosync-qnetd
デーモンが実行され、この時点では接続されているクライアントがないはずです。--full
コマンドオプションを指定すると詳細が出力されます。[root@qdevice:~]#
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 - 以下のコマンドを実行して
firewalld
でhigh-availability
サービスを有効にし、pcsd
デーモンで必要なファイアウォールのポートおよびnet
クォーラムデバイスを有効にします。[root@qdevice:~]#
firewall-cmd --permanent --add-service=high-availability
[root@qdevice:~]#firewall-cmd --add-service=high-availability
- 既存のクラスターのノードのいずれかから、クォーラムデバイスをホストしているノード上で認証ユーザー
hacluster
を認証します。[root@node1:~] #
pcs cluster auth qdevice
Username: hacluster Password: qdevice: Authorized - クォーラムデバイスをクラスターに追加します。クォーラムデバイスを追加する前に、クォーラムデバイスの現在の設定と状況をチェックして後で比較することができます。これらのコマンドの出力はクラスターがクォーラムデバイスを使用していないことを示しています。
[root@node1:~]#
pcs quorum config
Options:[root@node1:~]#
pcs quorum status
Quorum information ------------------ Date: Wed Jun 29 13:15:36 2016 Quorum provider: corosync_votequorum Nodes: 2 Node ID: 1 Ring ID: 1/8272 Quorate: Yes Votequorum information ---------------------- Expected votes: 2 Highest expected: 2 Total votes: 2 Quorum: 1 Flags: 2Node Quorate Membership information ---------------------- Nodeid Votes Qdevice Name 1 1 NR node1 (local) 2 1 NR node2以下のコマンドは、以前に作成したクォーラムデバイスをクラスターに追加します。複数のクォーラムデバイスをクラスターで同時に使用することはできませんが、複数のクラスターが 1 つのクォーラムデバイスを同時に使用することはできます。このコマンド例は、クォーラムデバイスがffsplit
アルゴリズムを使用するよう設定します。クォーラムデバイスの設定オプションに関する情報は、man ページのcorosync-qdevice
(8) を参照してください。[root@node1:~]#
pcs quorum device add model net host=qdevice algorithm=ffsplit
Setting up qdevice certificates on nodes... node2: Succeeded node1: Succeeded Enabling corosync-qdevice... node1: corosync-qdevice enabled node2: corosync-qdevice enabled Sending updated corosync.conf to nodes... node1: Succeeded node2: Succeeded Corosync configuration reloaded Starting corosync-qdevice... node1: corosync-qdevice started node2: corosync-qdevice started - クォーラムデバイスの設定状態をチェックします。クラスター側から以下のコマンドを実行すると、設定の変更内容を確認することができます。
pcs quorum config
は設定されたクォーラムデバイスを表示します。[root@node1:~]#
pcs quorum config
Options: Device: Model: net algorithm: ffsplit host: qdevicepcs quorum status
コマンドは、使用中のクォーラムデバイスとクォーラムのランタイム状態を表示します。[root@node1:~]#
pcs quorum status
Quorum information ------------------ Date: Wed Jun 29 13:17:02 2016 Quorum provider: corosync_votequorum Nodes: 2 Node ID: 1 Ring ID: 1/8272 Quorate: Yes Votequorum information ---------------------- Expected votes: 3 Highest expected: 3 Total votes: 3 Quorum: 2 Flags: Quorate Qdevice Membership information ---------------------- Nodeid Votes Qdevice Name 1 1 A,V,NMW node1 (local) 2 1 A,V,NMW node2 0 1 Qdevicepcs quorum device status
はクォーラムデバイスのランタイム状態を表示します。[root@node1:~]#
pcs quorum device status
Qdevice information ------------------- Model: Net Node ID: 1 Configured node list: 0 Node ID = 1 1 Node ID = 2 Membership node list: 1, 2 Qdevice-net information ---------------------- Cluster name: mycluster QNetd host: qdevice:5403 Algorithm: ffsplit Tie-breaker: Node with lowest node ID State: Connectedクォーラムデバイス側から以下のコマンドを実行すると、corosync-qnetd
デーモンの状態を表示できます。[root@qdevice:~]#
pcs qdevice status net --full
QNetd address: *:5403 TLS: Supported (client certificate required) Connected clients: 2 Connected clusters: 1 Maximum send/receive size: 32768/32768 bytes Cluster "mycluster": Algorithm: ffsplit Tie-breaker: Node with lowest node ID Node ID 2: Client address: ::ffff:192.168.122.122:50028 HB interval: 8000ms Configured node list: 1, 2 Ring ID: 1.2050 Membership node list: 1, 2 TLS active: Yes (client certificate verified) Vote: ACK (ACK) Node ID 1: Client address: ::ffff:192.168.122.121:48786 HB interval: 8000ms Configured node list: 1, 2 Ring ID: 1.2050 Membership node list: 1, 2 TLS active: Yes (client certificate verified) Vote: ACK (ACK)
10.5.3. クォーラムデバイスサービスの管理
以下のコマンド例のとおり、PCS はローカルホスト (
corosync-qnetd
) でクォーラムデバイスサービスを管理する機能を提供します。これらのコマンドは corosync-qnetd
サービスのみに影響することに注意してください。
[root@qdevice:~]#pcs qdevice start net
[root@qdevice:~]#pcs qdevice stop net
[root@qdevice:~]#pcs qdevice enable net
[root@qdevice:~]#pcs qdevice disable net
[root@qdevice:~]#pcs qdevice kill net
10.5.4. クラスターでのクォーラムデバイス設定の管理
以下のセクションは、クラスターでクォーラムデバイス設定を管理するために使用する PCS コマンドについて説明し、「クォーラムデバイスの設定」 のクォーラムデバイス設定を基にした例を使用します。
10.5.4.1. クォーラムデバイス設定の変更
クォーラムデバイスの設定を変更するには
pcs quorum device update
コマンドを使用します。
警告
クォーラムデバイスモデル
net
の host
オプションを変更するには、pcs quorum device remove
および pcs quorum device add
コマンドを使用し、設定プロパティーを設定します (変更前のホストと変更後のホストが同じマシンである場合を除く)。
以下のコマンドは、クォーラムデバイスアルゴリズムを
lms
に変更します。
[root@node1:~]# pcs quorum device update model algorithm=lms
Sending updated corosync.conf to nodes...
node1: Succeeded
node2: Succeeded
Corosync configuration reloaded
Reloading qdevice configuration on nodes...
node1: corosync-qdevice stopped
node2: corosync-qdevice stopped
node1: corosync-qdevice started
node2: corosync-qdevice started
10.5.4.2. クォーラムデバイスの削除
以下のコマンドを使用して、クラスターノードに設定されたクォーラムデバイスを削除します。
[root@node1:~]# pcs quorum device remove
Sending updated corosync.conf to nodes...
node1: Succeeded
node2: Succeeded
Corosync configuration reloaded
Disabling corosync-qdevice...
node1: corosync-qdevice disabled
node2: corosync-qdevice disabled
Stopping corosync-qdevice...
node1: corosync-qdevice stopped
node2: corosync-qdevice stopped
Removing qdevice certificates from nodes...
node1: Succeeded
node2: Succeeded
クォーラムデバイスの削除後、クォーラムデバイスの状態を確認すると以下のエラーメッセージが表示されます。
[root@node1:~]# pcs quorum device status
Error: Unable to get quorum status: corosync-qdevice-tool: Can't connect to QDevice socket (is QDevice running?): No such file or directory
10.5.4.3. クォーラムデバイスの破棄
クォーラムデバイスホストのクォーラムデバイスを無効化および停止し、設定ファイルをすべて削除するには、以下のコマンドを実行します。
[root@qdevice:~]# pcs qdevice destroy net
Stopping quorum device...
quorum device stopped
quorum device disabled
Quorum device 'net' configuration files removed
このページには機械翻訳が使用されている場合があります (詳細はこちら)。