Index ソフト・ハード | Pacemakerの構成・方式 |
機能 構成・方式 構成の種類 5つの構成要素 コンポーネント 動作概要 スコア値 リソース RA Attribute 監視動作 場所 パラメータ タスク 導入 CRMファイル 自作RA |
ノード台数による構成の種類 ・1+1構成 Active/Standby・N+1構成 ・N+M構成 5つの構成要素 ・CIB (Cluster Information Base) CIBはXMLを使用して表す。そのコンテンツは、クラスター全体で自動的に同期が保たれる。 ・クラスターの構成 ・クラスター内のすべてのリソースの現在の状態 クラスターの理想的な状態とその達成方法を計算するためにPEngineによって使用される。・CRMd (Cluster Resource Management daemon) ・LRMd (Local Resource Management daemon) ローカルリソース管理デーモン・PEngine (Policy Engine) ・Fencing daemon (STONITHd) コンポーネントの構成 ・参考(推奨) ・Pacemaker + Corosync (2つで Pacemaker) ・リソース制御部(Pacemaker) CRM(Cluster Resource Manager) Tengine(Trantion Engine) Pengine(Policy Engine)・クラスタ制御部(CCM、Cluster Consensus Membership) Pacemakerは、クラスタ制御機能システムを選択可能 ・Corosyncを推奨 ・Heartbeat3・リソースエージェント 動作概要 ・CIBのリストは、指定されたコントローラー(DC)に送られる。 /var/lib/pacemaker/cib/cib.xml・Pacemakerは、マスターとして機能するCRMdインスタンスの1つを選択する。 すべてのクラスターの意思決定を一元化する。 選出されたCRMdプロセスが失敗した場合、新しいプロセスがすぐに確立される。 CRMdプロセス、又はそれがオンになっているノードが失敗した場合・DCは、CIBのリストをクラスターメッセージングインフラストラクチャを介して、LRMdに渡す。 又は、他のノードのCRMdピアに渡し、PEngineの指示を必要な順序で実行する。 ピアノードのLRMdプロセスに渡す。・ピアノードはすべて、操作の結果をDCに報告する。 ・DCは、予想される結果と実際の結果に基づいて必要なアクションを実行する。 前のノードが完了するまで待機する必要があるアクションを実行するか 処理を中止してPEngineに再計算を依頼するか 予期しない結果に基づく理想的なクラスター状態は・場合によっては、STONITHdでノードの電源を切る必要がある場合がある。 共有データを保護するため リソースの回復を完了するためスコア値 ・リソースをどのノードで起動するかの優先度を示す値 ・クラスタの状態に変化があった場合にPacemakerが自動的に再計算 ・算出したスコア値を比較し、最も大きな値のノードでリソースを起動 ・算出したスコア値が負の値場合、そのノードでそのリソースを起動することはできない。 ・スコア値の範囲 -INFINITY(禁止) < 負の値 < 0 < 正の値 < INFINITY(強制)・「制約」によりスコア値をPacemakerに与えることができる。 リソース ・ノード間でサービスを引き継ぐために必要なもの ・サービスの故障を検知するために監視が必要なもの アプリケーション動作の引継ぎ データの引継ぎ IPアドレスの引継ぎ ディスク、ネットワークの異常監視・リソースの種類 参考 Primitive Clone Master/Slave Group・「PostgreSQL」の例 アプリケーション(PostgreSQL)そのもの ファイルシステム(mountされている、共有ディスクやNFSサーバ) ネットワークスイッチに接続されているIPアドレス ディスク監視AP、ネットワーク監視APリソースエージェント(Resource Agent) ・リソースの起動、停止、監視などを制御する。 各リソースの操作方法をラップ 主に シェルスクリプトで作成 標準で多数用意 /usr/lib/ocf/resource.d/heartbeat/ /usr/lib/ocf/resource.d/pacemaker/ アプリケーション動作の引継ぎ apache pgsql tomcat データの引継ぎ Filesystem(複数のファイルシステムに対応) IPアドレスの引継ぎ IPaddr IPaddr2 ディスク、ネットワークの異常監視 diskd pingd スクリプトで自作も可能Attribute ・ノード毎の各リソースの状態を補完するPacemakerの内部の値 リソースエージェント(RA)の監視(monitor)などの概要 ・Pacemakerは、RAを介してリソースを監視(Monitor) RAは、Pacemaker本体から「monitor」コマンドを受ける。 ・インターコネクト(Interconnect)アドレス 「monitor」コマンドが成功するかどうかでリソースの動作を監視する。・リソースが故障したら、フェイルオーバなどのリソース制御を行う。 Pacemaker本体は、リソースをStandby側で起動してサービスを継続・「PostgreSQL」の例 PacemakerからRAへ「start」コマンド ・RAは、スタート制御(pgsql_start())開始 RAからPostgreSQLへ「pg_ctl_start」 PostgreSQLは、「OK/NG」を返す ・RAは、Pacemakerへ「OK/NG」を返す PacemakerからRAへ「monitor」コマンド ・RAは、状態監視(pgsql_monitor())開始 RAからPostgreSQLへ「select now()」のSQL文を実行 PostgreSQLは、「OK/NG」を返す ・RAは、Pacemakerへ「OK/NG」を返す PacemakerからRAへ「stop」コマンド ・RAは、ストップ制御(pgsql_stop())開始 RAからPostgreSQLへ「pg_ctl_stop」 PostgreSQLは、「OK/NG」を返す ・RAは、Pacemakerへ「OK/NG」を返す場所 ・/var/lib/pacemaker/cib /var/lib/pacemaker/cibパラメータ migration-threshold 故障回数が「migration-threshold」で設定した値に達すると故障とみなす。 |
All Rights Reserved. Copyright (C) ITCL |