17.1 サポートされるリソースエージェントクラス

追加したそれぞれのクラスタリソースについて、リソースエージェントが従う標準を定義する必要があります。リソースエージェントは提供するサービスを抽象化し、正確な状態をクラスタに提供し、これによってクラスタは管理するリソースを認識しなくてすみます。クラスタは、start、stop、monitorコマンドを与えられた場合、リソースエージェントによって適切な処理を実施します。

通常、リソースエージェントはシェルスクリプトの形式をとります。High Availability Extensionは次のリソースエージェントクラスをサポートします。

従来のHeartbeat 1リソースエージェント

Heartbeatバージョン1にいは独自のスタイルのリソースエージェントが付属していました。多くのユーザが独自のエージェントをその表記方法に従って開発したため、このリソースエージェントはまだサポートされています。ただし、可能な場合は構成をHigh Availability OCF RAにマイグレートすることを推奨します。詳細については、http://wiki.linux-ha.org/HeartbeatResourceAgentを参照してください。

Linux Standards Base (LSB)スクリプト

LSBリソースエージェントは一般にオペレーティングシステム/ディストリビューションによって提供され、/etc/init.dにあります。クラスタで使用するには、LSB仕様に準拠する必要があります。たとえば、いくつかのアクションを実装する必要があり、少なくともstartstoprestartreloadforce-reloadstatus http://www.linuxbase.org/spec/refspecs/LSB_3.0.0/LSB-Core- generic/LSB-Core-generic/iniscrptact.htmlで示すように実装する必要があります。

Open Cluster Framework (OCF)リソースエージェント

OCF RAエージェントはHigh Availabilityとの使用に最適で、特にマスタリソースまたは特殊な監視機能を必要とする場合に適しています。エージェントは一般に/usr/lib/ocf/resource.d/heartbeat/にあります。この機能はLSBスクリプトの機能と同様です。ただし、構成は常に環境変数によって実行され、これによってパラメータを簡単に受け渡して処理できます。OCF仕様はhttp://www.opencf.org/cgi-bin/viewcvs.cgi/specs/ra/resource-agent-api.txt?rev=HEAD 4で参照できます(リソースエージェントに関連するため)。OCF仕様ではアクションによってどの出口コードが返されるか、厳密な定義があります。クラスタはこの仕様に正確に従います。詳細については、http://wiki.linux-ha.org/OCFResourceAgentを参照してください。使用できるすべてのOCF RAの詳細なリストは、Section 18.0, HA OCFエージェントを参照してください。

STONITHリソースエージェント

このクラスは、フェンシング関係のリソース専用に使用されます。詳細については、Section 8.0, フェンシングとSTONITHを参照してください。

High Availability Extensionで指定されたエージェントはOCF仕様に従って作成されています。