変更するリソースタイプがアップグレード対応であるようにするには、リソースタイプの 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 属性はデフォルトでそのバージョンにされます。
既存のリソースが、新しいバージョンのリソースタイプにアップグレードされるのを防ぐために使用します。クラスタ管理者はリソースを削除し、再作成する必要があります。