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