ペースメーカークラスタにおけるクォーラムとは何か(クォーラム操作の理解)-オタク日記ペースメーカークラスタにおけるクォーラムとは何か(クォーラム操作の理解))

クォーラムとは何ですか?

クラスターが期待どおりに動作するためには、ノードは、現在どのマシンがクラスターメンバーであるか、サービスが実行されているか、どのマシンがどのリソー

Red Hat High Availabilityアドオンでこれを実装する方法は、多数決方式を使用することです。 すべてのクラスターノードは、corosyncネットワーク通信に正常に参加し、すでにクラスターに参加している他のノードと通信できる場合、一票を投じます。

すべての可能な投票の半分以上が正常にキャストされた場合、クラスタは動作しています。 投票の半分以上を達成するために必要な投票の最小数は、クォーラムと呼ばれます。 クォーラムが達成された場合、クラスターはクォーラムと見なされます。 ノードの半分以上が相互に通信できない場合、クラスターはクォーラムを失います。

クラスターが開始されると、すべてのクラスターノードが相互に通信し、クォーラムを達成しようとします。 大多数が形成されるとすぐに、quorateクラスターがあります。 Quorateクラスターに正常に参加していない他のすべてのノードは、クォーラムを持つノードによってフェンスされます。 Quorateクラスターの一部であるノードがクラスターと通信できなくなった場合、ノードはフェンスで囲まれます。

クォーラム計算が必要なのはなぜですか?

クラスター内の一部のノードが他の特定のノードと通信できない状況では、クォーラムが必要です。 次の図は、共有ストレージ上のext4ファイルシステムを使用するサービスを持つノードA、B、c、D、およびEで構成される5ノードのクラスターを示しています。 このサービスは現在、ノードAで実行されています。

クォーラムがなければ、これらの二つのノードは、A、B、およびCがすべて失敗したと判断し、リソースを回復できるようにフェンス(リモートでパワーオフ)する必 このように、定足数はフェンシングの前に重要なゲートとして機能します。

クラスタがフェンシングデバイスなしであった場合、ノードDとEはすぐにリソースの回復を開始し、同じext4ファイルシステムが一度に二つの場所にマ クラスターの2つの半分が互いに独立して動作するこの状況は、スプリットブレインと呼ばれます。

スプリットブレインは、いずれかのノードに障害が発生した場合、他のノードはクラスタ内のノードの大部分で構成されていないため、二つのノードクラスタ 特別なステップは2ノード集り操作を可能にし、まだ割れ目頭脳を避けるために取られる必要がある。”

この例のすべてのノードが1票を持っていると仮定すると、ノードDとノードEは2票しか持たず、総投票数(5票)の半分以下であるため、この状況は発生し これにより、ノードDとノードEは、少なくとも一つの他の投票が追加されるまで機能を停止することになります。 一方、ノードA、B、およびcは、3つの投票が組み合わされており、総投票数の半分以上であるため、サービスを提供するアクティブなままです。

クォーラムの計算

クォーラムは、corosyncコンポーネントvotequorumによってRed Hat High Availabilityアドオンで計算および管理されます。 Votequorumコンポーネントは、クラスターがquorateであるかどうかを計算するために二つの値を使用します:

  1. Expected votes:すべてのクラスターノードが完全に動作し、相互に通信している場合に予想される投票数。
  2. 総投票数:現在の投票数。 一部のノードが稼働していないか、クラスターと通信していない場合、これは予想される投票数よりも低くなる可能性があります。

定足数を達成するために必要な投票数は、予想される投票に基づいています。 次の式は、クォーラムに必要な投票数を示しています。 この計算では、floor()は常に切り捨てることを意味します。

Quorum = floor(expected votes + 2 + 1)

クォーラム計算例

次の例では、3つのノードを持つクラスターを想定しています。 3ノードのクラスターの予想投票数は3です。

Quorum= floor(expected votes + 2 + 1)Quorum = floor(3 + 2 + 1) Quorum = floor(1.5 + 1) Quorum = floor(2.5) Quorum = 2 

3ノードのクラスターでは、クォーラムを達成するために最低2つのノードが実行されている必要があります。

次の例では、4つのノードを持つクラスターを想定しています。 4ノードのクラスターの予想投票数は4です。

Quorum = floor(expected votes + 2 + 1} Quorum = floor(4 + 2 + 1) Quorum = floor(2 + 1} Quorum = floor(3) Quorum = 3

4ノードのクラスターでは、クォーラムを達成するために最低3つのノードが実行されている必要があります。

クォーラム状態の表示

Red Hat High Availabilityアドオンは、クラスター内のクォーラムの現在の状態を表示する包括的なユーティリティcorosync-quorumtoolを提供します。 Corosync-quorumtoolは、総投票数や予想投票数などのクォーラム関連情報の概要を提供し、クラスターがクォーラムであるかどうかを一目で示します。

  1. ノードエントリは、クラスターに属するノードのノード数を提供します。
  2. ノードIDエントリには、corosync-quorumtoolが実行されたノードのIDが表示されます。
  3. Quorateエントリは、クラスターがquorateであるかどうかを示します。
  4. Expected votesエントリには、構成されているすべてのクラスターメンバーがクラスター内でアクティブである場合に存在する投票数が表示されます。
  5. 最も高い予想エントリは、クラスターで見られる予想投票の最大数を示しています。
  6. Total votesエントリには、クラスタに現在存在する投票数が表示されます。
  7. Quorumエントリは、クラスターがquorateのままになるように、最低でもいくつの投票が必要かを示しています。
  8. Flagsエントリには、クラスターに現在設定されているクォーラム関連のプロパティが表示されます。 クラスターがquorateの場合、Quorateプロパティが表示されます。 LastManstandingやWaitForAllなどの追加の特別な機能も、このフィールドに設定されている場合に表示されます。

コメントを残す

メールアドレスが公開されることはありません。