Sun Cluster システムを使用すると、アプリケーションを高度な可用性とスケーラビリティーを備えたリソースとして実行および管理できます。リソースグループマネージャー (Resource Group Manager、RGM) は、高可用性とスケーラビリティーを実現するための機構を提供します。
この機能を利用するためのプログラミングインタフェースを形成する要素は、次のとおりです。
ユーザーが作成するコールバックメソッドのセット。このコールバックメソッドにより、RGM はクラスタ内のアプリケーションを制御することができます。
リソース管理 API (Resource Management API、RMAPI)。コールバックメソッドの作成に使用する低レベルの API コマンドおよび API 関数のセットです。RMAPI は libscha.so ライブラリとして実装されています。
プロセス監視機能 (Process Monitor Facility、PMF)。クラスタ内のプロセスを監視し、再起動します。
データサービス開発ライブラリ(Data Service Development Library、DSDL)。低レベル API およびプロセス管理機能をより高レベルでカプセル化するライブラリ関数のセットです。DSDL は、コールバックメソッドの作成を支援するいくつかの機能を追加します。DSDL 関数は libdsdev.so ライブラリとして実装されています。
Sun Cluster Agent Builder (第 9 章Sun Cluster Agent Builderを参照) は Sun Cluster パッケージ内のツールで、データサービスの作成プロセスを自動化します。Agent Builder は、(DSDL 関数を使用してコールバックメソッドを作成することにより) C、または (低レベル API コマンドを使用してコールバックメソッドを作成することにより) Korn (ksh) シェルコマンドでデータサービスコードを生成します。
RGM は各クラスタノード上でデーモンとして動作し、事前に構成したポリシーに従って、選択した Solaris ホスト上のリソースを自動的に起動および停止します。RGM は、ノードの障害やリブートが発生した場合もリソースの高可用性を保ちます。これを実現するため、RGM は影響を受けたノード上でリソースを停止し、別のノード上でそのリソースを起動します。また RGM は、リソース固有のモニターを自動的に起動および停止します。これらのモニターは、リソース障害を検出して、障害が発生しているリソースを別のノードに再配置するなど、さまざまな視点からリソース性能を監視します。
RGM はフェイルオーバーリソースとスケーラブルリソースの両方をサポートしています。フェイルオーバーリソースは、常に単一のノード上でしかオンラインにできません。スケーラブルリソースは、同時に複数のノード上でオンラインにできます。ただし、共有アドレスを使用してノード間でサービスの負荷を分散しているスケーラブルリソースは、Solaris ホストあたり 1 つのノードでしかオンラインにできません。