新しいバージョンのリソースタイプがリリースされると、アップグレードされたリソースタイプのインストールと登録をしたくなるでしょう。また、既存のリソースを新しいバージョンのリソースタイプにアップグレードしたくなるかもしれません。この節の次の手順では、アップグレードされたリソースタイプをインストールして登録する方法、および既存のリソースを新しいバージョンのリソースタイプにアップグレードする方法について説明します。
この手順は、scsetup の Resource Group オプションを使用して実行することもできます。scsetup については、scsetup(1M) のマニュアルページを参照してください。
すべてのクラスタノードに、そのリソースタイプのアップグレードパッケージをインストールします。
リソースタイプのアップグレードパッケージがすべてのノードにインストールされていない場合は、追加手順を実行する必要があります (手順 3)。
リソースタイプのアップグレードパッケージをインストールするために、ノードを非クラスタモードで起動する必要があるかどうかについては、アップグレードに関するマニュアルを参照してください。停止時間を無くすためには、ローリングアップグレード方式で一度に一ノードづつ新しいパッケージを追加します。つまり、対象ノードを非クラスタモードで起動し、別のノードはクラスタモードにしておきます。
新しいバージョンのリソースタイプを登録します。
scrgadm -a -t resource_type -f path_to_new_RTR_file |
新しいリソースタイプは、次の書式の名前になります。
vendor_id.rtname:version |
scrgadm —p または scrgadm —pv (詳細形式で表示) を使用して、新しく登録したリソースタイプを表示します。
新しいリソースタイプをすべてのノードにインストールしない場合、それが実際にインストールされるノードに Installed_nodes プロパティを設定します。
scrgadm -c -t resource_type -h installed_node_list |
リソースタイプの新しいバージョンは、次の点において以前のバージョンと異なる可能性があります。
リソースタイププロパティの設定が変更されている可能性があります
標準および拡張プロパティを含む、宣言されたリソースプロパティのセットが変更されている可能性があります
リソースプロパティの属性 (default、min、max、arraymin、arraymax、tunability) が変更されている可能性があります
宣言されたメソッドのセットが異なる
メソッドおよびモニターの実装が変更されている可能性があります
この手順は、scsetup の Resource Group オプションを使用して実行することもできます。scsetup については、scsetup(1M) のマニュアルページを参照してください。
既存のリソースタイプのバージョン、および新しいバージョンの変更点により、新しいバージョンへの移行方法が決定されます。リソースタイプのアップグレードに関するマニュアルに、移行が可能かどうかが記載されていることでしょう。移行がサポートされない場合は、そのリソースを削除してアップグレードバージョンの新しいリソースで置き換えるか、そのリソースを古いバージョンのリソースタイプのままで維持します。
既存のリソースを移行すると、次の値が変わるかもしれません。
リソースタイプのアップグレードバージョンが、デフォルト値を持つプロパティに対して新しいデフォルト値を宣言する場合、新しいデフォルト値が既存のリソースによって継承されます。
新しいリソースタイプバージョンの VALIDATE メソッドは、既存のプロパティ設定が適切かどうかを検査します。設定が適切でない場合は、既存リソースのプロパティを編集して適切な値にしてください。プロパティを編集するには、手順 3を参照してください。
RTR ファイルには、次のプロパティが含まれており、リソースタイプの完全修飾名の形成に使用されます。
Vendor_id
Resource_type
RT_Version
リソースタイプのアップグレードバージョンを登録する場合、vendor_id.rtname:version という名前で格納されます。新しいバージョンに移行されたリソースは、上に示したプロパティから構成される、新しい Type プロパティを持ちます。
標準のリソースプロパティ Type_version は、リソースタイプの RT_Version プロパティを格納します。Type_Version プロパティは RTR ファイルに含まれません。次のコマンドを使用して、Type_Version プロパティを編集します。
scrgadm -c -j resource -y Type_version=new_version |
既存リソースをそのリソースタイプの新しいバージョンに移行する前に、新しいリソースタイプに付属するアップグレードマニュアルを読んで、移行が実施できるかどうかを判断してください。
そのマニュアルには、移行をいつ行うべきかも示されるでしょう。
任意の時点
リソースが監視されていないとき
リソースがオフラインのとき
リソースが無効になっている時
リソースグループが管理されていないとき
移行がサポートされない場合は、そのリソースを削除しアップグレードバージョンの新しいリソースで置き換えるか、そのリソースを古いバージョンのリソースタイプのままで維持します。
移行するリソースタイプの各リソースごとに、リソースまたはそのリソースグループの状態をアップグレードマニュアルに示されている適切な状態に変更します。
たとえば、リソースを非管理状態にする場合は、次のように変更します。
scswitch -M -n -j resource |
リソースをオフラインにするには、次のように変更します。
scswitch -n -j resource |
リソースを無効化する場合は、次のように変更します。
scswitch -n -j resource |
リソースグループを非管理状態にする場合は、次のように変更します。
scsswitch -n -j resource-group scswitch -F -g resource_group scswitch -u -g resource_group |
移行するリソースタイプの各リソースごとにリソースを編集して、その Type_version プロパティを新しいバージョンに変更します。
scrgadm -c -j resource -y Type_version=new_version \ -x extension_property=new_value -y extension_property=new_value |
必要に応じて、同じリソースの別のプロパティを適切な値で編集します。同じコマンドを使用して、コマンド行に —x と —y オプションのいずれかまたは両方を追加します。
手順 2 で入力したコマンドとは逆の操作を行うコマンドを実行して、リソースまたはリソースグループを前の状態に戻します。
たとえば、リソースを再び監視状態にするには、次のように入力します。
scswitch -M -e -j resource |
リソースを再び有効状態にするには、次のように入力します。
scswitch -e -j resource |
リソースグループを管理状態でオンラインにするには、次のように入力します。
scswitch -o -g resource_group scswitch -Z -g resource_group |
この例では、既存リソースを新しいバージョンのリソースタイプに移行する方法を示します。新しいリソースタイプパッケージに含まれるメソッドは、新しいパスの場所にあります。メソッドはインストール時に上書きされないため、アップグレードされたリソースタイプがインストールされるまで、そのリソースを無効にする必要はありません。
この実例では、次の前提に基づいています。
新しいリソースタイプのバージョンは 2.0 です。
以前のバージョンの調整状態は、“when_offline” です。
リソース名は、“myresource” です。
リソースタイプ名は、“myrt” です。
新しい RTR ファイルは、/opt/XYZmyrt/etc/XYZ.myrt にあります。
移行されるリソースに対する依存関係はありません。
移行されるリソースはオフラインにできます (それに含まれるリソースグループはオンラインのまま)。
(ベンダの指示に従い、すべてのノードに新しいパッケージをインストールする) # scrgadm -a -t myrt -f /opt/XYZmyrt/etc/XYZ.myrt # scswitch -n -j myresource # scrgadm -c -j myresource -y Type_version=2.0 # scswitch -e -j myresource |
この例では、既存リソースを新しいバージョンのリソースタイプに移行する方法を示します。新しいリソースタイプパッケージは、モニターファイルと RTR ファイルのみを含みます。モニターファイルはインストール時に上書きされるため、アップグレードされたリソースタイプをインストールする前に、リソースを無効化する必要があります。
この実例では、次の前提に基づいています。
新しいリソースタイプのバージョンは 2.0 です。
以前のバージョンの調整状態は、“when_unmonitored” です。
リソース名は、“myresource” です。
リソースタイプ名は、“myrt” です。
新しい RTR ファイルは、/opt/XYZmyrt/etc/XYZ.myrt にあります。
# scswitch -M -n -j myresource (ベンダの指示に従って、新しいパッケージをインストールする) # scrgadm -a -t myrt -f /opt/XYZmyrt/etc/XYZ.myrt # scrgadm -c -j myresource -y Type_version=2.0 # scswitch -M -e -j myresource |