リソースエージェントとは、特定のクラスタリソースに関する情報をカプセル化したものです。リソース・エージェント・タイプおよびサブタイプであるリソースインスタンスに応じて、さまざまなことを行います。サポートされているリソースエージェントは、標準的なLSB initスクリプトと大変よく似ています。
CRMと併せて使用する場合、Heartbeat のバージョン2でサポートされているエージェントは3タイプあります(推奨順に列挙してあります)。
ha.cfにcrm yesが無い場合、あるいはバージョン1.xが使われている場合には、OCFリソースエージェントはサポートされません。
リソースインスタンスに対してHeartbeatが実行できるオペレーションには、以下の項目が含まれます。
start - 所定のリソースを有効にする、あるいは開始する。
stop - 所定のリソースを無効にする、あるいは停止する。
status - 所定のリソースのステータスを返す。
注記: OCF仕様では、statusオペレーションがmonitorに置き換えられています。
また、OCFエージェントは、以下の項目をサポートしていなければなりません。
metadata - 所定のリソース・エージェント・タイプについて記述した(XML)メタデータを返す。
リソースエージェントは、一般的にシェルスクリプトとしてコード化されています(シェルスクリプトである必要はありません)。リソースエージェントは、本質的には同期的に動作します。つまり、リソースエージェントを開始すると、しばらくして作業を終えます。作業が終わるまでの間は待つことになります。一定の作業(特にstart、stop、monitor)は、終わるまでに相当な時間(数秒から、場合によっては数分)を要する場合があります。
注記: Heartbeatのクラスタリソースは、Heartbeat自体によってのみ、開始/停止されるべきです。例:Heartbeatが管理する共有ファイルシステムを、オペレーティングシステムで自動マウントするべきではありません。