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

リソースタイプの更新

リソースタイプをアップグレードすると、新しいバージョンのリソースタイプで導入された新機能を使用できるようになります。新バージョンのリソースタイプは、次の点で旧バージョンと異なっている可能性があります。

リソースタイプのアップグレードには、次の各節で説明されている作業が必要です。

  1. 「アップグレードされたリソースタイプをインストールして登録する」

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

Procedureアップグレードされたリソースタイプをインストールして登録する

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

始める前に

ノードにアップグレードパッケージをインストールする前にどのような作業を行わなければならないかを判断するには、リソースタイプのドキュメントを参照してください。次のリストのいずれかのアクションが必要です。

非クラスタモードでノードを再起動する必要がある場合、順次アップグレードを実行することでサービスが失われるのを防止します。順次アップグレードでは、残りのノードをクラスタモードで動作させ続けながら、各ノードでパッケージを個別にインストールします。

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

  2. 対象となるリソースタイプのインスタンスをオンラインにするすべてのクラスタノード上で、リソースタイプアップグレード用のパッケージをインストールします。

  3. 新しいバージョンのリソースタイプを登録します。

    正しいバージョンのリソースタイプを登録するには、次の情報を指定する必要があります。

    • リソースタイプ名

    • リソースタイプを定義するリソースタイプ登録 (RTR) ファイル


    # clresourcetype register -f path-to-new-rtr-file resource-type-name
    

    リソースタイプ名の形式は次のとおりです。

    vendor-id.base-rt-name:rt-version
    

    この形式の詳細については、「リソースタイプ名の形式」を参照してください。

  4. 新しく登録されたリソースタイプを表示します。


    # clresourcetype show resource-type-name
    
  5. 必要に応じて、Installed_nodes プロパティーを、リソースタイプアップグレード用のパッケージがインストールされるノードに設定します。

    リソースタイプアップグレード用のパッケージが一部のクラスタノードでインストールされていない場合、この手順を実行する必要があります。

    リソースタイプのインスタンスを含むすべてのリソースグループの nodelist プロパティーは、リソースタイプの Installed_nodes プロパティーのサブセットである必要があります。


    # clresourcetype set -n installed-node-list resource-type
    
    -n installed-node-list

    このリソースタイプがインストールされるノードの名前を指定します。

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