次の手順では、clresource(1CL) コマンドを使用してこの作業を実行する方法を説明します。ただし、この作業を行うには、clresource コマンドを使用する以外の方法もあります。clresource コマンドを使用する代わりに、SunPlex Manager や clsetup(1CL) コマンドの Resource Group オプションを使用してこの作業を実行することもできます。
リソースを新しいバージョンのリソースタイプに移行できる時点を判断するには、リソースタイプをアップグレードするための手順を参照してください。
すべての時刻
リソースが監視されていないときのみ
リソースがオフラインのときのみ
リソースが無効のときのみ
リソースグループが管理されていないときのみ
指示では、既存のバージョンのリソースをアップグレードできないことが規定されている場合があります。リソースを移行できない場合は、次の代替策を検討してください。
リソースを削除し、アップグレードされたバージョンの新しいリソースに置き換える
リソースを古いバージョンのリソースタイプのままにする
クラスタメンバーで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。
移行するリソースタイプの各リソースに関して、リソースまたはリソースグループの状態を適切な状態に変更します。
任意の時点でリソースを移行できる場合、アクションは必要ありません。
リソースが監視されていない場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# clresource unmonitor resource |
リソースがオフラインである場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# clresource disable resource |
移行するリソースにそのほかのリソースが依存している場合、この手順は失敗します。このような場合は、出力されるエラーメッセージを参照して、依存しているリソースの名前を判別します。続いて、移行するリソースと依存するリソースを含むコンマ区切りリストを指定して、この手順を繰り返します。
リソースが無効である場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# clresource disable resource |
移行するリソースにそのほかのリソースが依存している場合、この手順は失敗します。このような場合は、出力されるエラーメッセージを参照して、依存しているリソースの名前を判別します。続いて、移行するリソースと依存するリソースを含むコンマ区切りリストを指定して、この手順を繰り返します。
リソースグループが管理されていない場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# clresource disable -g resource-group + # clresourcegroup offline resource-group # clresourcegroup unmanage resource-group |
上記コマンドの各項目の意味は次のとおりです。
管理されていないリソースグループを指定します。
移行するリソースタイプのリソースごとに、Type_version プロパティーを新バージョンに変更します。
必要に応じて、同じコマンドで、同じリソースのそのほかのプロパティーを適切な値に設定します。これらのプロパティーを設定するには、コマンドで -p オプションを指定します。
そのほかのプロパティーを設定する必要があるかどうかを判別するには、リソースタイプをアップグレードするための手順を参照してください。次の理由により、そのほかのプロパティーを設定しなければならない場合があります。
新しいバージョンのリソースタイプに拡張プロパティーが導入されている。
既存のプロパティーのデフォルト値が、新しいバージョンのリソースタイプにおいて変更されている。
# clresource set -p Type_version=new-version \ [-p extension-property=new-value] [-p standard-property=new-value] resource |
既存のバージョンのリソースタイプが、新しいバージョンへのアップグレードをサポートしていない場合、この手順は失敗します。
手順 2で入力したコマンドを逆にすることで、リソースまたはリソースグループの以前の状態を回復します。
任意の時点でリソースを移行できる場合、アクションは必要ありません。
いつでも移行できるリソースを移行した後、リソースの検証により、リソースタイプのバージョンが正しく表示されないことがあります。このような状況が発生した場合、リソースの障害モニターを一度無効にし、有効にし直すると、リソースの検証において、リソースタイプのバージョンが正しく表示されます。
リソースが監視されていない場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# clresource monitor resource |
リソースがオフラインである場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# clresource enable resource |
手順 2で、移行するリソースに依存するそのほかのリソースを無効にした場合、依存するリソースも有効にします。
リソースが無効である場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# clresource enable resource |
手順 2で、移行するリソースに依存するそのほかのリソースを無効にした場合、依存するリソースも有効にします。
リソースグループが管理されていない場合にのみリソースを移行できる場合は、次のコマンドを入力します。
# clresource enable -g resource-group + # clresourcegroup manage resource-group # clresourcegroup online resource-group |
この例では、リソースがオフラインである場合にのみ移行可能なリソースの移行を示します。新しいリソースタイプパッケージには、新しいパスにあるメソッドが含まれています。インストール時にメソッドは上書きされないため、アップグレードされたリソースタイプのインストールが完了するまでリソースを無効にする必要はありません。
この例のリソースには次のような特徴があります。
新しいリソースタイプバージョンは 2.0 である。
リソース名は myresource である。
リソースタイプ名は myrt である。
新しい RTR ファイルは /opt/XYZmyrt/etc/XYZ.myrt に配備されている。
移行されるリソースに対する依存関係は存在しない。
所属しているリソースグループをオンラインの状態にしたまま、移行の対象となるリソースをオフラインに切り替えることができる。
この例では、サプライヤの指示に従って、アップグレードパッケージがすでにすべてのクラスタノードでインストールされていると仮定されています。
# clresourcetype register -f /opt/XYZmyrt/etc/XYZ.myrt myrt # clresource disable myresource # clresource set -p Type_version=2.0 myresource # clresource enable myresource |
この例では、リソースが監視対象外である場合にのみ移行可能なリソースの移行を示します。新しいリソースタイプパッケージには、モニターと RTR ファイルしか含まれていません。モニターはインストール時に上書きされるため、アップグレードパッケージをインストールする前にリソースの監視を無効にする必要があります。
この例のリソースには次のような特徴があります。
新しいリソースタイプバージョンは 2.0 である。
リソース名は myresource である。
リソースタイプ名は myrt である。
新しい RTR ファイルは /opt/XYZmyrt/etc/XYZ.myrt に配備されている。
この例では、次の操作が実行されます。
アップグレードパッケージをインストールする前に、次のコマンドを実行してリソースの監視を無効にします。
# clresource unmonitor myresource |
サプライヤの指示に従って、アップグレードパッケージはすべてのクラスタノードにインストールされます。
新しいバージョンのリソースタイプを登録するには、次のコマンドを実行します。
# clresourcetype register -f /opt/XYZmyrt/etc/XYZ.myrt myrt |
Type_version プロパティーを新しいバージョンに変更するには、次のコマンドを実行します。
# clresource set -p Type_version=2.0 myresource |
移行後リソースの監視を有効にするには、次のコマンドを実行します。
# clresource monitor myresource |