Sun Cluster データサービス開発ガイド (Solaris OS 版)

リソースタイプ登録ファイルの内容の設定

ここでは、リソースタイプ登録ファイルの設定方法について説明します。

この章の内容は次のとおりです。

リソースタイプ名

リソースタイプ名の 3 つのコンポーネントは、vendor-idresource-typert-version として、RTR ファイルで指定されているプロパティーです。clresourcetype(1CL) コマンドは、ピリオドとコロンの区切り文字を挿入して次のリソースタイプの名前を作成します。

vendor-id.resource-type:rt-version

vendor-id 接頭辞は、異なる会社が提供する同じ名前の 2 つの登録ファイルを区別する役目を果たします。vendor-id が一意であることを保証するためには、リソースタイプを作成した時点の会社の株式の略号を使用します。 rt-version は、同じベースリソースタイプの複数の登録バージョン (アップグレード) を識別します。

次のコマンドを入力することで、完全修飾リソースタイプ名を取得できます。


# scha_resource_get -O Type -R resource-name -G resource-group-name

Sun Cluster 3.1 以前に登録されたリソースタイプ名は、引き続き次の構文を使用します。

vendor-id.resource-type

リソースタイプ名の形式は、「リソースタイプ名の形式」で説明されています。

#$upgrade および #$upgrade_from ディレクティブの指定

変更するリソースタイプがアップグレード対応であるようにするには、リソースタイプの RTR ファイルに #$upgrade ディレクティブを含めます。 #$upgrade ディレクティブのあと、サポートするリソースタイプの各旧バージョンに対して 0 個以上の #$upgrade_from ディレクティブを追加します。

#$upgrade および #$upgrade_from ディレクティブは、RTR ファイルのリソースタイププロパティー宣言と、リソース宣言のセクションの間に存在する必要があります。詳細は、rt_reg(4) のマニュアルページを参照してください。


例 4–1 RTR ファイルの #$upgrade_from ディレクティブ

#$upgrade_from   "1.1"   WHEN_OFFLINE
#$upgrade_from   "1.2"   WHEN_OFFLINE
#$upgrade_from   "1.3"   WHEN_OFFLINE
#$upgrade_from   "2.0"   WHEN_UNMONITORED
#$upgrade_from   "2.1"   ANYTIME
#$upgrade_from   ""      WHEN_UNMANAGED

#$upgrade_from ディレクティブの形式は次のとおりです。

#$upgrade_from version tunability
version

RT_version。リソースタイプにバージョンがない場合、または以前に RTR ファイルで定義したバージョン以外のバージョンに対しては、空の文字列 (“”) を指定します。

tunability

クラスタ管理者が指定の RT_version をアップグレードできる条件または時点。

#$upgrade_from ディレクティブでは次の Tunable 属性の値を使用します。

ANYTIME

クラスタ管理者がリソースをアップグレードできる時点に対して制限がない場合に使用します。リソースは、アップグレード中完全にオンラインになることができます。

WHEN_UNMONITORED

新しいリソースタイプバージョンのメソッドが次のような場合に使用します。

  • UpdateStopMonitor_checkPostnet_stop メソッドが、古いリソースタイプバージョンの起動メソッド (Prenet_stop および Start) と互換性がある

  • Fini メソッドが、古いバージョンの Init メソッドと互換性がある

クラスタ管理者は、アップグレードの前にリソース監視プログラムのみを停止する必要があります。

WHEN_OFFLINE

新しいリソースタイプバージョンの Update StopMonitor_checkPostnet_stop メソッドが次のような場合に使用します。

  • 古いバージョンの Init メソッドと互換性がある

  • 古いリソースタイプバージョンの起動メソッド (Prenet_stop および Start) と互換性がない

クラスタ管理者は、アップグレードの前にリソースをオフラインにする必要があります。

WHEN_DISABLED

WHEN_OFFLINE と同様です。ただし、クラスタ管理者はアップグレードの前にリソースを無効にする必要があります。

WHEN_UNMANAGED

新しいリソースタイプバージョンの Fini メソッドが、古いバージョンの Init メソッドと互換性がない場合に使用します。クラスタ管理者はアップグレードの前に、既存のリソースグループを管理されていない状態に切り替える必要があります。

リソースタイプのバージョンが #$upgrade_from ディレクティブのリストに存在しない場合、RGM により WHEN_UNMANAGED の Tunable 属性はデフォルトでそのバージョンにされます。

AT_CREATION

既存のリソースが、新しいバージョンのリソースタイプにアップグレードされるのを防ぐために使用します。クラスタ管理者はリソースを削除し、再作成する必要があります。

RTR ファイルでの RT_version の変更

RTR ファイルの内容が変更されても、そのたびに RTR ファイルの RT_version プロパティーを変更するだけで済みます。このバージョンのリソースタイプが最新バージョンであることを明確に示す、このプロパティーの値を選択します。

RTR ファイルの RT_version 文字列には次の文字を含めないでください。次の文字を含めると、リソースタイプの登録が失敗します。

RT_version プロパティは、Sun Cluster 3.0 まではオプションですが、Sun Cluster 3.1 以降のリリースでは必須です。

以前のバージョンの Sun Cluster のリソースタイプ名

次に示すように、Sun Cluster 3.0 のリソースタイプ名には、バージョン接尾辞がありません。

vendor-id.resource-type

Sun Cluster 3.0 で登録したリソースタイプの名前については、Sun Cluster 3.1 および Sun Cluster 3.2 でもこの構文が保たれます。RTR ファイルを、#$upgrade が省略された Sun Cluster 3.1 または Sun Cluster 3.2 で登録した場合でも、リソースタイプ名はこの構文に従います。

クラスタ管理者は、Sun Cluster 3.0 では、#$upgrade ディレクティブや #$upgrade_from ディレクティブを使った RTR ファイルの登録は可能ですが、Sun Cluster 3.0 では、既存のリソースの新しいリソースタイプへのアップグレードはサポートされません。