Show Table of Contents
10.5. クォーラムデバイス (テクノロジープレビュー)
重要
クォーラムデバイスの機能はテクノロジープレビューとしてのみ提供されます。「テクノリジープレビュー」の意味については、テクノロジプレビュー機能のサポート範囲 を参照してください。
Red Hat Enterprise Linux 7.3 より、クラスター用のサードパーティーのアービトレーションデバイスとして機能する別のクォーラムデバイスを設定することが可能となりました。主要な用途は、クォーラムルールによって許容されるノード障害の数よりも多くのノード障害をクラスターが許容するようにすることです。クォーラムデバイスは、偶数のノードで構成されるクラスターに推奨され、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 - クォーラムデバイスホストで
corosync-qnetdをインストールします。[root@qdevice:~]#
yum install corosync-qnetd
10.5.2. クォーラムデバイスの設定
本セクションでは、Red Hat High Availability クラスターでクォーラムデバイスを設定する手順例を説明します。以下の手順はクォーラムデバイスを設定し、クラスターに追加します。この例では以下を前提とします。
- クォーラムデバイスに使用されるノードは
qdeviceです。 - クォーラムデバイスモデルは
netで、現在唯一サポートされているモデルです。 - クラスターノードは
node1とnode2です。
以下の手順は、クォーラムデバイスを設定し、そのクォーラムデバイスをクラスターに追加します。
- クォーラムデバイスをホストするために使用するノードで以下のコマンドを使用し、クォーラムデバイスを設定します。このコマンドは、クォーラムデバイスモデルである
netを設定および開始し、デバイスが起動時に開始されるよう設定します。[root@qdevice:~]#
pcs qdevice setup model net --enable --startQuorum device 'net' initialized quorum device enabled Starting quorum device... quorum device startedクォーラムデバイスの設定後、その状態をチェックできます。corosync-qnetdデーモンが実行され、この時点では接続されているクライアントがないはずです。--fullコマンドオプションを指定すると詳細が出力されます。[root@qdevice:~]#
pcs qdevice status net --fullQNetd address: *:5403 TLS: Supported (client certificate required) Connected clients: 0 Connected clusters: 0 Maximum send/receive size: 32768/32768 bytes - クォーラムデバイスをクラスターに追加します。クォーラムデバイスを追加する前に、クォーラムデバイスの現在の設定と状況をチェックして後で比較することができます。これらのコマンドの出力はクラスターがクォーラムデバイスを使用していないことを示しています。
[root@node1:~]#
pcs quorum configOptions:[root@node1:~]#
pcs quorum statusQuorum 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 つのクォーラムデバイスを同時に使用することはできます。このコマンド例は、クォーラムデバイスがlms(last man standing) アルゴリズムを使用するよう設定します。クォーラムデバイスの設定オプションに関する情報は、corosync-qdevice(8) の man ページを参照してください。[root@node1:~]#
pcs quorum device add model net host=qdevice algorithm=lmsSetting 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 configOptions: Device: Model: net algorithm: lms host: qdevicepcs quorum statusコマンドは、使用中のクォーラムデバイスとクォーラムのランタイム状態を表示します。[root@node1:~]#
pcs quorum statusQuorum 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 statusQdevice 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: LMS Tie-breaker: Node with lowest node ID State: Connectedクォーラムデバイス側から以下のコマンドを実行すると、corosync-qnetdデーモンの状態を表示できます。[root@qdevice:~]#
pcs qdevice status net --fullQNetd address: *:5403 TLS: Supported (client certificate required) Connected clients: 2 Connected clusters: 1 Maximum send/receive size: 32768/32768 bytes Cluster "mycluster": Algorithm: LMS 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 コマンドを使用し、設定プロパティーを設定します (変更前のホストと変更後のホストが同じマシンである場合を除く)。
以下のコマンドは、クォーラムデバイスアルゴリズムを
ffsplit (fifty/fifty split) に変更します。
[root@node1:~]# pcs quorum device update model algorithm=ffsplit
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 started10.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 directory10.5.4.3. クォーラムデバイスの破棄
クォーラムデバイスホストのクォーラムデバイスを無効化および停止し、設定ファイルをすべて削除するには、以下のコマンドを実行します。
[root@qdevice:~]# pcs qdevice destroy net
Stopping quorum device...
quorum device stopped
quorum device disabled
Quorum device 'net' configuration files removed
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.