クラスタメンバーシップモニター (CMM) は、クラスタインターコネクトを使ってメッセージを交換し、次の処理を行う一連の分散エージェントです。
すべてのノード (定足数) で一貫したメンバーシップの表示を行います。
メンバーシップの変更に応じて同期のとれた再構成を行います。
クラスタのパーティション分割を処理します。
障害のあるノードを、障害が修復されるまでクラスタから除外することによって、すべてのクラスタメンバー間の完全な接続を維持します。
CMM の主な機能はクラスタメンバーシップを確立することですが、そのためには、クラスタに逐次参加するノード群に関してクラスタ全体が合意していなければなりません。CMM は、1 つまたは複数のノード間での通信の途絶など、各ノードにおけるクラスタステータスの大きな変化を検知します。CMM は、トランスポートカーネルモジュールを使ってハートビートを生成し、トランスポート媒体を通してそれをクラスタのほかのノードに伝送します。定義されたタイムアウト時間内にノードからハートビートが送られてこないと、CMM は、そのノードに障害が発生したものとみなし、クラスタの再構成を通してクラスタメンバーシップの再設定を試みます。
CMM は、クラスタメンバーシップを確定し、データの整合性を確保するために、次の処理を行います。
クラスタへのノードの参加、またはクラスタからのノードの脱退など、クラスタメンバーシップの変更を把握します。
異常のあるノードを、クラスタから切り離された状態に保ちます。
異常のあるノードを、それが修復されるまで非アクティブの状態に保ちます。
クラスタそのものがノードのサブセットに分割されないように防止します。
クラスタ自身が複数の異なるクラスタに分割されないようにする方法についての詳細は、「split-brain と amnesia」を参照してください。