リソースタイプ名の 3 つのコンポーネントは、vendor-id、 resource-type、rt-version として、RTR ファイルで指定されているプロパティーです。scrgadm コマンドにより、ピリオドとコロンの区切り文字が挿入され、リソースタイプの名前が作成されます。
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
リソースタイプ名の形式は、「リソースタイプ名の形式」で説明されています。
変更するリソースタイプがアップグレード対応であるようにするには、リソースタイプの RTR ファイルに #$upgrade ディレクティブを含めます。 #$upgrade ディレクティブのあと、サポートするリソースタイプの各旧バージョンに対して 0 個以上の #$upgrade_from ディレクティブを追加します。
#$upgrade および #$upgrade_from ディレクティブは、RTR ファイルのリソースタイププロパティー宣言と、リソース宣言のセクションの間に存在する必要があります。rt_reg(4) のマニュアルページを参照してください。
#$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
RT_version。リソースタイプにバージョンがない場合、または以前に RTR ファイルで定義したバージョン以外のバージョンに対しては、空の文字列 (“”) を指定します。
クラスタ管理者が指定の RT_version をアップグレードできる条件または時点。
#$upgrade_from ディレクティブでは次の Tunable 属性の値を使用します。
クラスタ管理者がリソースをアップグレードできる時点に対して制限がない場合に使用します。リソースは、アップグレード中完全にオンラインになることができます。
新しいリソースタイプバージョンのメソッドが次のような場合に使用します。
Update、Stop、Monitor_check、Postnet_stop メソッドが、古いリソースタイプバージョンの起動メソッド (Prenet_stop および Start) と互換性がある
Fini メソッドが、古いバージョンの Init メソッドと互換性がある
クラスタ管理者は、アップグレードの前にリソース監視プログラムのみを停止する必要があります。
新しいリソースタイプバージョンの Update、 Stop、Monitor_check、Postnet_stop メソッドが次のような場合に使用します。
古いバージョンの Init メソッドと互換性がある
古いリソースタイプバージョンの起動メソッド (Prenet_stop および Start) と互換性がない
クラスタ管理者は、アップグレードの前にリソースをオフラインにする必要があります。
WHEN_OFFLINE と同様です。ただし、クラスタ管理者はアップグレードの前にリソースを無効にする必要があります。
新しいリソースタイプバージョンの Fini メソッドが、古いバージョンの Init メソッドと互換性がない場合に使用します。クラスタ管理者はアップグレードの前に、既存のリソースグループを管理されていない状態に切り替える必要があります。
リソースタイプのバージョンが #$upgrade_from ディレクティブのリストに存在しない場合、RGM により WHEN_UNMANAGED の Tunable 属性はデフォルトでそのバージョンにされます。
既存のリソースが、新しいバージョンのリソースタイプにアップグレードされるのを防ぐために使用します。クラスタ管理者はリソースを削除し、再作成する必要があります。
RTR ファイルの内容が変更されたときにのみ、常に RTR ファイルの RT_version プロパティーを変更する必要があります。このバージョンのリソースタイプが最新バージョンであることを明確に示す、このプロパティーの値を選択します。
RTR ファイルの RT_version 文字列には次の文字を含めないでください。次の文字を含めると、リソースタイプの登録が失敗します。
スペース
タブ
スラッシュ (/)
バックスラッシュ (\)
アスタリスク (*)
疑問符 (?)
コンマ (,)
セミコロン (;)
左角括弧 ([)
右角括弧 (])
RT_version プロパティーは、Sun Cluster 3.0 ではオプションですが、Sun Cluster 3.1 以降では必須です。
次に示すように、Sun Cluster 3.0 のリソースタイプ名には、バージョン接尾辞がありません。
vendor-id.resource-type
元々 Sun Cluster 3.0 で登録されたリソースタイプは、クラスタ管理者がクラスタリングソフトウェアを Sun Cluster 3.1 以降のリリースにアップグレードしたあとも、引き続きこの構文に従う名前を持ちます。同様に、少なくとも Sun Cluster 3.1 を実行するクラスタで RTR ファイルを登録した場合でも、RTR ファイル内に #$upgrade ディレクティブがないリソースタイプには、(バージョン接尾辞のない) Sun Cluster 3.0 の形式の名前が付与されます。
クラスタ管理者は、Sun Cluster 3.0 では、#$upgrade ディレクティブや #$upgrade_from ディレクティブを使った RTR ファイルの登録は可能ですが、Sun Cluster 3.0 では、既存のリソースの新しいリソースタイプへのアップグレードはサポートされません。