クラスタソフトウェア「Pacemaker」で利用される
「リソースエージェント」の概要について紹介します。
Pacemakerとは
Pacemakerは、一連のマシン間で関連する「サービス起動」と「サービス復旧」をコントロールするためのクラスタソフトウェアです。
Pacemakerの概要については、こちらも参照ください。
→クラスタ構成ソフトウェア「Pacemaker」と「Heartbeat」「Corosync」の関係性
「リソースエージェント」とは
リソースエージェント(Resource Agent)とは、クラスタリソースを管理する実行ファイルです。クラスタ管理ソフト(Pacemakerなど)が「リソース起動」「リソース停止」「リソース稼働監視」などに使用するプログラムです。
「クラスタリソース」とは
クラスタリソースは「クラスタが管理するすべてのもの」が対象になります。
代表的なリソース例
代表的なリソースとして、以下のように、さまざまな項目が該当します。
・仮想IPアドレス
・ファイルシステム—ハードディスク上のファイルシステム領域
・Webサーバ—Apache HTTP Server、Nginx
・メールサーバ—Sendmail、Postfix
・アプリケーションサーバ—JBoss、Tomcat
・データベースサービス—MySQL、PostgreSQL
・ディレクトリサービス—OpenLDAP
・仮想マシン全体 など
リソース管理標準「OCF(Open Cluster Framework)」
OCF(Open Cluster Framework)とは、リソース管理に関する業界標準です。OCF標準は、基本的にinitスクリプトのLinux Standard Base規則を拡張して作成されています。
Open Cluster Frameworkに準拠するクラスタ管理アプリケーションは、OCF準拠のリソースエージェントを使用してリソースを管理できます。
OCFクラスは「柔軟性が高い」「自己記述型」などの特徴があり、独自で任意のプログラミング言語での実装も可能です。
Pacemakerのリソースエージェント
Pacemakerは、Open Cluster Framework仕様に準拠したリソースエージェントを使用してクラスタリソースの管理を行います。
Pacemakerは、「稼働ノード優先順位」「リソース起動順」などの設定に基づいて、どのリソースをどのノード上で動作させるのかを動的に管理します。
また、リソースエージェントを実行して監視を行うことで、フェイルカウントにより「リソース停止」→「リソース切替」→「リソース再起動」を行います。
リソース設定
リソース設定では主に以下の4つを設定します。
①リソース定義・パラメータ設定
②リソース種類選択—プリミティブリソース、リソースグループ、クローンリソース、マスタ/スレーブリソース
③リソース制約—各リソースが起動するノードや順序のルールを設定
④クラスタ設定—スプリットブレイン時の動作設定
最後に
Pacemakerの構成においてリソースエージェントの設定は重要なポイントです。
弊社にご連絡をいただければ、Pacemakerを使用したHAクラスタ環境構築において、ユーザー様の環境に最適なリソースエージェント設定についてのご提案も行えます。
まずは、お気軽にお問い合わせください。
参考元サイト
- https://github.com/ClusterLabs/resource-agents/
- http://linux-ha.osdn.jp/wp/archives/4328
- https://github.com/ClusterLabs/resource-agents/blob/master/doc/dev-guides/ra-dev-guide.asc
- https://clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/s-resource-supported.html
- http://www.ossplaza.com/oss_info/pacemaker/resource_agent.html
- https://ha-cluster.jp/system/pacemaker/
- http://linux-ha.osdn.jp/wp/wp-content/uploads/OSC2016_Fukuoka.pdf