新バージョンのリソースタイプがリリースされる際には、そのアップグレードされたリソースタイプをインストールして登録できます。また、既存のリソースを新しいリソースタイプバージョンにアップグレードすることも可能です。この節では、次の 2 つの作業、アップグレードされたリソースタイプをインストールして登録する方法と、既存のリソースを新しいリソースタイプバージョンにアップグレードする方法について説明します。
この作業は、scsetup の Resource Group オプションを使用しても行えます。scsetup の詳細は、scsetup(1M) のマニュアルページを参照してください。
すべてのクラスタノードに、リソースタイプアップグレードパッケージをインストールします。
リソースタイプパッケージがどのノードにもインストールされていない場合は、 作業が別途必要です (手順 3)。
リソースタイプのアップグレードパッケージをインストールする際にノードを非クラスタモードで起動する必要があるかどうかは、アップグレードドキュメントに示されています。ダウンタイムを避けるには、パッケージをインストールするノードを非クラスタモード、残りのノードをクラスタモードに設定した状態で、一度に 1 台のノードに限定してローリングアップグレード方式で新しいパッケージを追加します。
この新しいリソースタイプバージョンを登録します。
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 プロパティが存在します。
リソースのタイプの RT_Version プロパティは、標準のリソースプロパティ Type_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 である
移行を実行すべきタイミングは「リソースがオフラインのとき」である
リソース名は「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 である
移行を実行すべきタイミングは「リソースのマウントが解除しているとき」である
リソース名は「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 |