Sun Cluster データサービスの計画と管理 (Solaris OS 版)

Procedure既存のリソースを新バージョンのリソースタイプに移行する

次の手順では、clresource(1CL) コマンドを使用してこの作業を実行する方法を説明します。ただし、この作業を行うには、clresource コマンドを使用する以外の方法もあります。clresource コマンドを使用する代わりに、Sun Cluster Manager や、clsetup(1CL) コマンドの Resource Group オプションを使用してこの作業を実行することもできます。

始める前に

リソースを新しいバージョンのリソースタイプに移行できる時点を判断するには、リソースタイプをアップグレードするための手順を参照してください。

指示では、既存のバージョンのリソースをアップグレードできないことが規定されている場合があります。リソースを移行できない場合は、次の代替策を検討してください。

  1. クラスタメンバーで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。

  2. 移行するリソースタイプの各リソースに関して、リソースまたはリソースグループの状態を適切な状態に変更します。

    • 任意の時点でリソースを移行できる場合、アクションは必要ありません。

    • リソースが監視されていない場合にのみリソースを移行できる場合は、次のコマンドを入力します。


      # clresource unmonitor resource
      
    • リソースがオフラインである場合にのみリソースを移行できる場合は、次のコマンドを入力します。


      # clresource disable resource
      

      注 –

      移行するリソースにそのほかのリソースが依存している場合、この手順は失敗します。このような場合は、出力されるエラーメッセージを参照して、依存しているリソースの名前を判別します。続いて、移行するリソースと依存するリソースを含むコンマ区切りリストを指定して、この手順を繰り返します。


    • リソースが無効である場合にのみリソースを移行できる場合は、次のコマンドを入力します。


      # clresource disable resource
      

      注 –

      移行するリソースにそのほかのリソースが依存している場合、この手順は失敗します。このような場合は、出力されるエラーメッセージを参照して、依存しているリソースの名前を判別します。続いて、移行するリソースと依存するリソースを含むコンマ区切りリストを指定して、この手順を繰り返します。


    • リソースグループが管理されていない場合にのみリソースを移行できる場合は、次のコマンドを入力します。


      # clresource disable -gresource-group +
      # clresourcegroup offline resource-group
      # clresourcegroup unmanage resource-group
      

      上記コマンドの各項目の意味は次のとおりです。

      resource-group

      管理されていないリソースグループを指定します。

  3. 移行するリソースタイプのリソースごとに、Type_version プロパティーを新バージョンに変更します。

    必要に応じて、同じコマンドで、同じリソースのそのほかのプロパティーを適切な値に設定します。これらのプロパティーを設定するには、コマンドで -p オプションを指定します。

    そのほかのプロパティーを設定する必要があるかどうかを判別するには、リソースタイプをアップグレードするための手順を参照してください。次の理由により、そのほかのプロパティーを設定しなければならない場合があります。

    • 新しいバージョンのリソースタイプに拡張プロパティーが導入されている。

    • 既存のプロパティーのデフォルト値が、新しいバージョンのリソースタイプにおいて変更されている。


    # clresource set -p Type_version=new-version \
    [-p extension-property=new-value] [-p standard-property=new-value] resource
    

    注 –

    既存のバージョンのリソースタイプが、新しいバージョンへのアップグレードをサポートしていない場合、この手順は失敗します。


  4. 手順 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–2 オフラインである場合にのみ移行可能なリソースの移行

この例では、リソースがオフラインである場合にのみ移行可能なリソースの移行を示します。新しいリソースタイプパッケージには、新しいパスにあるメソッドが含まれています。インストール時にメソッドは上書きされないため、アップグレードされたリソースタイプのインストールが完了するまでリソースを無効にする必要はありません。

この例のリソースには次のような特徴があります。

この例では、サプライヤの指示に従って、アップグレードパッケージがすでにすべてのクラスタノードでインストールされていると仮定されています。


# clresourcetype register -f /opt/XYZmyrt/etc/XYZ.myrt myrt
# clresource disable myresource
# clresource set -p Type_version=2.0 myresource
# clresource enable myresource


例 2–3 監視対象外である場合にのみ移行可能なリソースの移行

この例では、リソースが監視対象外である場合にのみ移行可能なリソースの移行を示します。新しいリソースタイプパッケージには、モニターと RTR ファイルしか含まれていません。モニターはインストール時に上書きされるため、アップグレードパッケージをインストールする前にリソースの監視を無効にする必要があります。

この例のリソースには次のような特徴があります。

この例では、次の操作が実行されます。

  1. アップグレードパッケージをインストールする前に、次のコマンドを実行してリソースの監視を無効にします。


    # clresource unmonitor  myresource
    
  2. サプライヤの指示に従って、アップグレードパッケージはすべてのクラスタノードにインストールされます。

  3. 新しいバージョンのリソースタイプを登録するには、次のコマンドを実行します。


    # clresourcetype register -f /opt/XYZmyrt/etc/XYZ.myrt myrt
    
  4. Type_version プロパティーを新しいバージョンに変更するには、次のコマンドを実行します。


    # clresource set -p Type_version=2.0 myresource
    
  5. 移行後リソースの監視を有効にするには、次のコマンドを実行します。


    # clresource monitor myresource