Sun Cluster 3.0 データサービス開発ガイド

リソース管理オブジェクトのモデル

ここでは、まず、基本的な用語をいくつか紹介します。次に、さまざまな要素の API を組み合わせて高可用性のアプリケーションを作成する方法について説明します。

RGM および関連する API は、「リソースタイプ」、「リソース」、「リソースグループ」という 3 種類の相互に関連するオブジェクトを処理します。これらのオブジェクトを紹介するために、次のような例を使用します。

まず、開発者は、リソースタイプ ha-oracle を実装します。これは、既存の Oracle DBMS アプリケーションを高可用性にするためのリソースタイプです。次に、エンドユーザーは、マーケティング、エンジニアリング、および財務ごとに異なるデータベースを定義し、それぞれのリソースタイプを ha-oracle にします。次に、クラスタ管理者は、上記リソースを異なるリソースグループに分類することによって、異なるノード上で実行したり、個別にフェイルオーバーできるようにします。同様に、開発者は、もう 1 つのリソースタイプ ha-calendar を作成します。これは、Oracle データベースを必要とする高可用性のカレンダサーバーを実装するためのリソースタイプです。次に、クラスタ管理者は、財務カレンダリソースと財務データベースリソースを同じリソースグループに分類することによって、両方のリソースを同じノード上で実行したり、一緒にフェイルオーバーできるようにします。

リソースタイプ

リソースタイプは、クラスタ上で実行されるソフトウェアアプリケーション、アプリケーションをクラスタリソースとして管理するために RGM がコールバックメソッドとして使用する制御プログラム、およびクラスタの静的な構成の一部を形成するプロパティセットからなります。RGM はリソースタイププロパティを使用して、特定のタイプのリソースを管理します。

ソフトウェアアプリケーションに加えて、リソースタイプは、他のシステムリソース (ネットワークアドレスなど) も表すことができます。

リソースタイプの開発者は、リソースタイププロパティを指定し、その値をリソースタイプ登録 (RTR) ファイルに設定します。リソースタイプ登録ファイルの形式は明確に定義されています。詳細は、「リソースとリソースタイププロパティの設定」rt_reg(4) のマニュアルページを参照してください。また、リソースタイプ登録ファイルの例については、「リソースタイプ登録ファイルの定義」を参照してください。

表 A-1 に、リソースタイププロパティのリストを示します。

クラスタ管理者は、リソースタイプの実装と実際のアプリケーションをクラスタにインストールして、管理コマンドで登録します。そして、登録手順で、リソースタイプ登録ファイルの情報をクラスタ構成に入力します。データサービスの登録手順については、『Sun Cluster 3.0 データサービスのインストールと構成』を参照してください。

リソース

リソースは、そのリソースタイプからプロパティと値を継承します。さらに、開発者は、リソースタイプ登録ファイルでリソースプロパティを宣言できます。リソースプロパティのリストについては、表 A-2を参照してください。

クラスタ管理者は、リソースタイプ登録 (RTR) ファイルにプロパティを指定することによって、特定のプロパティの値を変更できます。たとえば、プロパティ定義に値の許容範囲を指定しておきます。これにより、プロパティが調節可能なときに、作成時、常時、不可などを指定できます。このような許容範囲内であれば、クラスタ管理者は管理コマンドでプロパティを変更できます。

クラスタ管理者は、同じタイプのリソースをたくさん作成して、各リソースに独自の名前とプロパティ値セットを持たせることができます。これによって、実際のアプリケーションの複数のインスタンスをクラスタ上で実行できます。このとき、各インスタンスにはクラスタ内で一意の名前が必要です。

リソースグループ

各リソースはリソースグループに構成する必要があります。RGM はすべてのリソースを、同じノード上にあるグループ、オンライン (online) とオフライン (offline) に分けます。RGM がリソースをグループ、オンラインまたはオフラインに分けるとき、グループ内の個々のリソース上でコールバックメソッドを呼び出します。

リソースグループが現在オンラインであるノードのことを主ノードと呼びます。リソースグループは、自分の主ノードによってマスター (制御) されます。各リソースグループは、クラスタ管理者が設定した独自の Nodelist プロパティを持っており、この Nodelist プロパティがリソースグループのすべての潜在的な主ノード (つまり、マスター) を識別します。

リソースグループはまた、プロパティセットも持っています。このようなプロパティには、クラスタ管理者が設定できる構成プロパティや、RGM が設定してリソースグループのアクティブな状態を反映する動的プロパティが含まれます。

RGM は 2 種類のリソースグループ、フェイルオーバー (failover) とスケーラブル (scalable) を定義します。フェイルオーバーリソースグループは、同時に 1 つのノード上だけでオンラインになることができます。一方、スケーラブルリソースグループは、同時に複数のノード上でオンラインになることができます。RGM は、各種類のリソースグループを作成するためのプロパティセットを提供します。このようなプロパティについての詳細は、「フェイルオーバーリソースの実装」「スケーラブルリソースの実装」 を参照してください。

リソースグループのプロパティのリストについては、表 A-3 を参照してください。