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