28.2. クォーラムデバイスの設定
次の手順でクォーラムデバイスを設定し、クラスターに追加します。
この例では、以下のように設定されています。
-
クォーラムデバイスに使用されるノードは
qdeviceです。 クォーラムデバイスモデルは
netで、これは現在対応している唯一のクォーラムデバイスモデルです。netモデルは、以下のアルゴリズムに対応します。-
ffsplit(fifty-fifty split) -これにより、アクティブなノードの数が最も多いパーティションに 1 票が提供されます。 lms(last-man-standing) -ノードがqnetdサーバーを確認できるクラスター内に残っている唯一のノードである場合に、1 票が返されます。警告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
[root@qdevice:~]# pcs qdevice setup model net --enable --start Quorum device 'net' initialized quorum device enabled Starting quorum device... quorum device startedCopy to Clipboard Copied! Toggle word wrap Toggle overflow クォーラムデバイスの設定後、そのステータスを確認できます。
corosync-qnetdデーモンが実行中であり、この時点でクライアントが接続されていないことが分かります。--fullコマンドオプションを指定すると詳細が出力されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、
firewalldでhigh-availabilityサービスを有効にして、pcsdデーモンおよびnetクォーラムデバイスで必要なファイアウォールのポートを有効にします。[root@qdevice:~]# firewall-cmd --permanent --add-service=high-availability [root@qdevice:~]# firewall-cmd --add-service=high-availability
[root@qdevice:~]# firewall-cmd --permanent --add-service=high-availability [root@qdevice:~]# firewall-cmd --add-service=high-availabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow 既存クラスターのいずれかのノードにより、クォーラムデバイスをホストしているノードで
haclusterユーザーを認証します。これにより、クラスターのpcsがqdeviceホストのpcsにアクセスできるようになりますが、qdeviceホストのpcsは、クラスターのpcsに接続することを許可しません。[root@node1:~] # pcs host auth qdevice Username: hacluster Password: qdevice: Authorized
[root@node1:~] # pcs host auth qdevice Username: hacluster Password: qdevice: AuthorizedCopy to Clipboard Copied! Toggle word wrap Toggle overflow クォーラムデバイスをクラスターに追加します。
クォーラムデバイスを追加する前に、後で比較するために、クォーラムデバイスの現在の設定と状況を確認できます。このコマンドの出力から、クラスターがクォーラムデバイスを使用しておらず、各ノードの
QdeviceメンバーシップのステータスがNR(登録されていない) であることが分かります。[root@node1:~]# pcs quorum config Options:
[root@node1:~]# pcs quorum config Options:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドは、作成しておいたクォーラムデバイスをクラスターに追加します。複数のクォーラムデバイスをクラスターで同時に使用することはできません。ただし、複数のクラスターが 1 つのクォーラムデバイスを同時に使用することはできます。以下のコマンド例では、
ffsplitアルゴリズムを使用するようにクォーラムデバイスを設定します。クォーラムデバイスの設定オプションの詳細は、man ページのcorosync-qdevice(8) を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow クォーラムデバイスの設定状態をチェックします。
クラスター側から以下のコマンドを実行すると、設定の変更内容を確認できます。
pcs quorum configは、設定されたクォーラムデバイスを表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs quorum statusコマンドは、クォーラムデバイスのステータスを表示し、クォーラムデバイスが使用中であることを示します。各クラスターノードのQdeviceメンバーシップ情報のステータス値の意味は以下のとおりです。-
A/NA- クォーラムデバイスはが有効かどうか、つまりqdeviceとcorosyncの間にハートビートがあるかどうかを示します。この値は常に、クォーラムデバイスが有効でなければなりません。 -
V/NV- クォーラムデバイスがノードに投票した場合にはVに設定されます。この例では、相互に通信できるため、両方のノードがVに設定されます。クラスターを 2 つの単一ノードクラスターに分割する場合には、ノードのいずれかがVに、他のノードはNVに設定されます。 MW/NMW- 内部クォーラムデバイスフラグが設定されている (MW) か、設定されていない (NMW) かを示します。デフォルトでは、フラグは設定されず、値はNMWです。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs quorum device statusは、クォーラムデバイスのランタイムステータスを表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow クォーラムデバイスから次のコマンドを実行して、
corosync-qnetdデーモンのステータスを表示できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-