#Pacemaker2.0系(corosync+pacemaker)でのプロセスの関連と構成について
2.0系ではPacemaker層のプロセス名が変更になりました。
なお、名称が変わっただけで基本的なプロセスの機能は変更されていません。
運用監視ツールなどで、Pacemaker環境を監視(プロセス名、ログ出力名などが変更)している場合には、今後、注意が必要となります。
corosync層(2.0系を利用した場合)
- corosync : corosyncの本体(pacemakerとは別物)
- cpg : Cluster Process Group Service - corosync配下にグループを作成し、グループ内でメッセージなどを配送するサービス(pacemakerもCPGサービスのクライアント)
- quorum : Quorum Service - ノード数管理(QUORUM)サービス(pacemakerにQUORUM情報を伝搬)
corosync層(3.0系を利用した場合)
- corosync/cpg/quorumなどは同じですが、下位層にさらにlibknetの5つのスレッド(pmtu/dst/rx/tx/heartbeat)が動作します。実際に送受信を実施するのもこのスレッドの3つとなります。corosync層はlibknetに送信を依頼する形となります。
- libknetを利用しないcorosyncの動作も可能ですが、クラスタ間のインターコネクトを2本以上利用したい場合には、corosync3系を利用した場合には、libknetの利用が必須となります。
- また、libknetを利用した場合には、送信プロトコルとしてsctpも利用可能となります。
Pacemaker層
Pacemaker自体は、corosyncのCPGサービスのクライアントとして動作する。
クラスタ間のメッセージ送信は、CPGサービスを利用して行う。プロセス間の通信は、IPCを利用して行う。
- pacemakerd : 各以下pacemakerプロセスを起動、停止、監視するメインコントロール
- pacemaker-controld : クラスタマネージャー(クラスタ構成の管理などを行う、pacemaker-schedulerdにて作成された状態遷移の実行(自ノードのpacemaker-execdへの依頼、他ノードのpacemaker-controldへの依頼)も行う)
- pacemaker-based : CIB情報(リソース構成情報やノード状態、リソース状態)の更新、管理プロセス
- pacemaker-schedulerd:状態遷移を計算するプロセス
- pacemaker-attrd:属性管理プロセス
- pacemaker-execd:ローカルリソースマネージャープロセス(自ノードのリソースの起動、停止、モニター)
- pacemaker-fenced:STONITHプロセス