次の手順では、scrgadm(1M) コマンドを使用してこの作業を実行する方法を説明します。ただし、この作業を行うには、scrgadm コマンドを使用する方法以外もあります。scrgadm コマンドを使用する代わりに、SunPlex Manager や、scsetup(1M) コマンドの Resource Group オプションを使用してこの作業を実行することもできます。
リソースを新しいバージョンのリソースタイプに移行できる時点を判断するには、リソースタイプをアップグレードするための手順を参照してください。
任意の時点 (Anytime)
リソースが監視されていないときのみ
リソースがオフラインのときのみ
リソースが無効のときのみ
リソースグループが管理されていないときのみ
指示では、既存のバージョンのリソースをアップグレードできないことが規定されている場合があります。リソースを移行できない場合は、次の代替策を検討してください。
リソースを削除し、アップグレードされたバージョンの新しいリソースに置き換える
リソースタイプの古いバージョンでリソースから離脱する
スーパーユーザーになるか、同等の役割になります。
移行するリソースタイプの各リソースに関して、リソースまたはリソースグループの状態を適切な状態に変更します。
任意の時点でリソースを移行できる場合、アクションは必要ありません。
リソースが監視されていない場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# scswitch -M -n -j resource |
リソースがオフラインである場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# scswitch -n -j resource |
移行するリソースにそのほかのリソースが依存している場合、この手順は失敗します。このような場合は、出力されるエラーメッセージを参照して、依存しているリソースの名前を判別します。続いて、移行するリソースと依存するリソースを含むコンマ区切りリストを指定して、この手順を繰り返します。
リソースが無効である場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# scswitch -n -j resource |
移行するリソースにそのほかのリソースが依存している場合、この手順は失敗します。このような場合は、出力されるエラーメッセージを参照して、依存しているリソースの名前を判別します。続いて、移行するリソースと依存するリソースを含むコンマ区切りリストを指定して、この手順を繰り返します。
リソースグループが管理されていない場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# scswitch -n -j resource-list # scswitch -F -g resource-group # scswitch -u -g resource-group |
上記コマンドの各項目の意味は次のとおりです。
管理されていないリソースグループにあるすべてのリソースのコンマ区切りリストを指定します。
管理されていないリソースグループを指定します。
resource-list では任意の順序でリソースを指定できます。scswitch コマンドにより、resource-list での順序に関係なく、リソース間の依存関係を満たすのに必要な順序でリソースが無効になります。
移行するリソースタイプのリソースごとに、Type_version プロパティーを新バージョンに変更します。
必要に応じて、同じコマンドで、同じリソースのそのほかのプロパティーを適切な値に設定します。これらのプロパティーを設定するには、コマンドで追加の -x オプションまたは -y オプションを指定します。
そのほかのプロパティーを設定する必要があるかどうかを判別するには、リソースタイプをアップグレードするための手順を参照してください。次の理由により、そのほかのプロパティーを設定しなければならない場合があります。
新しいバージョンのリソースタイプに拡張プロパティーが導入されている。
既存のプロパティーのデフォルト値が、新しいバージョンのリソースタイプにおいて変更されている。
# scrgadm -c -j resource -y Type_version=new-version \ [-x extension-property=new-value][ -y standard-property=new-value] |
既存のバージョンのリソースタイプが、新しいバージョンへのアップグレードをサポートしていない場合、この手順は失敗します。
手順 2で入力したコマンドを逆にすることで、リソースまたはリソースグループの以前の状態を回復します。
任意の時点でリソースを移行できる場合、アクションは必要ありません。
いつでも移行できるリソースを移行した後、リソースの検証により、リソースタイプのバージョンが正しく表示されないことがあります。このような状況が発生した場合、リソースの障害モニターを一度無効にし、有効にし直すると、リソースの検証において、リソースタイプのバージョンが正しく表示されます。
リソースが監視されていない場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# scswitch -M -e -j resource |
リソースがオフラインである場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# scswitch -e -j resource |
手順 2で、移行するリソースに依存するそのほかのリソースを無効にした場合、依存するリソースも有効にします。
リソースが無効である場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# scswitch -e -j resource |
手順 2で、移行するリソースに依存するそのほかのリソースを無効にした場合、依存するリソースも有効にします。
リソースグループが管理されていない場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# scswitch -e -j resource-list # 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 |
Type_version プロパティーを新しいバージョンに変更するには、次のコマンドを実行します。
# scrgadm -c -j myresource -y Type_version=2.0 |
移行後リソースの監視を有効にするには、次のコマンドを実行します。
# scswitch -M -e -j myresource |