Oracle® Solaris Cluster データサービス計画および管理ガイド

印刷ビューの終了

更新: 2014 年 9 月
 
 

リソースグループからのノードの削除

リソースグループからノードを削除するための手順はすべて、そのリソースグループがスケーラブルリソースグループまたはフェイルオーバーリソースグループのどちらであるかによって異なります。詳細な手順については、次のセクションを参照してください。


注 -  削除するノードがノード単位のリソース依存関係に表示される場合は、リソースグループから削除する前に、まずノード単位の依存関係からそのノードを削除する必要があります。詳細は、リソース依存関係プロパティーを変更する方法を参照してください。

この手順を完了するには、次の情報を指定する必要があります。

  • すべてのクラスタノードのノード名とノード ID

    # clnode show -v | grep -i “Node ID”
  • ノードの削除元となる (1 つまたは複数の) リソースグループの名前

    # clresourcegroup show | grep “Nodelist”
  • すべてのノード上のリソースグループによって使用されるネットワークリソースをホストする IPMP グループの名前

    # clresourcegroup show -v | grep “NetIfList.*value”

さらに、削除するノード上でこのリソースグループがマスターされていないことを必ず確認してください。削除するノード上でこのリソースグループがマスターされている場合は、clresourcegroup コマンドを実行して、このリソースグループをそのノードからオフラインに切り替えてください。次の clresourcegroup コマンドは、そのノードが new-masters に含まれていない場合、このリソースグループを指定されたノードからオフラインにします。

# clresourcegroup switch -n new-masters resource-group
–n new-masters

リソースグループをマスターするようにするノードを指定します。

resource-group

切り替えるリソースグループの名前を指定します。このリソースグループは、削除するノード上でマスターされています。

詳細は、clresourcegroup(1CL) のマニュアルページを参照してください。


Caution

注意  -  すべてのリソースグループからノードを削除するときに、スケーラブルサービスの構成を使用している場合は、まずスケーラブルリソースグループからノードを削除します。次に、フェイルオーバーグループからノードを削除します。


スケーラブルリソースグループからノードを削除する方法

スケーラブルサービスは、次のように、2 つのリソースグループとして構成されます。

  • 1 つのリソースグループは、スケーラブルサービスリソースを含むスケーラブルグループです。

  • 1 つのリソースグループは、スケーラブルサービスリソースが使用する共有アドレスリソースを含むフェイルオーバーグループです。

さらに、スケーラブルリソースグループの RG_dependencies プロパティーは、フェイルオーバーリソースグループに対する依存関係を持つスケーラブルグループを構成するように設定されます。このプロパティーについては、rg_properties(5) のマニュアルページを参照してください。

スケーラブルサービス構成の詳細は、Oracle Solaris Cluster Concepts Guide を参照してください。

スケーラブルリソースグループからノードを削除すると、そのノード上ではスケーラブルサービスがオンラインにならなくなります。スケーラブルリソースグループからノードを削除するには、次の手順を実行します。

  1. そのスケーラブルリソースグループをマスターできるノードのリスト (nodelist リソースグループプロパティー) からノードを削除します。
    # clresourcegroup set [-n nodelist] scalable-resource-group
    –n nodelist

    このリソースグループをマスターできるノードの、コンマで区切られた順序付きリストを指定します。このリソースグループは、ほかのすべてのノード上でオフラインに切り替えられます。

    このリストはオプションです。このリストを省略した場合は、クラスタ内のすべてのノードに Nodelist プロパティーが設定されます。

    scalable-resource-group

    ノードの削除元となるリソースグループの名前を指定します。

  2. (オプション) 共有アドレスリソースを含むフェイルオーバーリソースグループからノードを削除します。

    詳細は、共有アドレスリソースを含むフェイルオーバーリソースグループからノードを削除する方法を参照してください。

  3. (オプション) スケーラブルリソースの Load_balancing_weights プロパティーを更新して、リソースグループから削除するノードのウェイトを削除します。

関連項目

clresourcegroup(1CL) のマニュアルページ。

フェイルオーバーリソースグループからノードを削除する方法

フェイルオーバーリソースグループからノードを削除するには、次の手順を実行します。


Caution

注意  -  すべてのリソースグループからノードを削除するときに、スケーラブルサービスの構成を使用している場合は、まずスケーラブルリソースグループからノードを削除します。次に、この手順を使用して、フェイルオーバーグループからノードを削除します。


そのフェイルオーバーリソースグループに、スケーラブルサービスが使用する共有アドレスリソースが含まれている場合は、共有アドレスリソースを含むフェイルオーバーリソースグループからノードを削除する方法を参照してください。

  1. ノードリストを更新して、このリソースグループをマスターできるようにするすべてのノードを含めます。

    この手順によってノードが削除され、ノードリストの以前の値が上書きされます。そのリソースグループをマスターできるすべてのノードをここに必ず含めてください。

    # clresourcegroup set [-n nodelist] failover-resource-group
    –n nodelist

    このリソースグループをマスターできるノードの、コンマで区切られた順序付きリストを指定します。このリソースグループは、ほかのすべてのノード上でオフラインに切り替えられます。

    このリストはオプションです。このリストを省略した場合は、クラスタ内のすべてのノードに Nodelist プロパティーが設定されます。

    failover-resource-group

    ノードの削除元となるリソースグループの名前を指定します。

  2. リソースグループ内のリソースごとに構成されている IPMP グループの現在のリストを表示します。
    # clresourcegroup show -v failover-resource-group | grep -i netiflist
  3. ノードの削除によって影響を受けるネットワークリソースの netiflist を更新します。

    この手順によって netiflist の以前の値が上書きされます。すべての IPMP グループをここに必ず含めてください。

    # clresource set -p netiflist=netiflist network-resource

    注 -  前のコマンド行の出力では、ノードがノード名で識別されます。ノード ID を見つけるには、コマンド行 clnode show -v | grep -i “Node ID” を実行してください。
    –p netiflist=netiflist

    各ノード上に存在する IPMP グループを識別するコンマ区切りリストを指定します。netiflist 内の各要素は、netif@node の形式である必要があります。netif は、sc_ipmp0 などの IPMP グループ名として指定できます。ノードは、sc_ipmp0@1sc_ipmp@phys-schost-1 などのノード名またはノード ID で識別できます。

    network-resource

    netiflist のエントリ上でホストされるネットワークリソースの名前を指定します。


    注 -  Oracle Solaris Cluster は、netif に対するアダプタ名の使用をサポートしていません。
  4. 更新された情報を確認します。
    # clresourcegroup show -v failover-resource-group | grep -i nodelist
    # clresourcegroup show -v failover-resource-group | grep -i netiflist 

共有アドレスリソースを含むフェイルオーバーリソースグループからノードを削除する方法

スケーラブルサービスが使用する共有アドレスリソースを含むフェイルオーバーリソースグループでは、ノードは次の場所に表示される可能性があります。

  • フェイルオーバーリソースグループのノードリスト

  • 共有アドレスリソースの auxnodelist

フェイルオーバーリソースグループのノードリストからノードを削除するには、フェイルオーバーリソースグループからノードを削除する方法の手順に従います。

共有アドレスリソースの auxnodelist を変更するには、共有アドレスリソースを削除して再作成する必要があります。

フェイルオーバーグループのノードリストからノードを削除した場合は、引き続きそのノード上で共有アドレスリソースを使用してスケーラブルサービスを提供できます。引き続き共有アドレスリソースを使用するには、そのノードを共有アドレスリソースの auxnodelist に追加する必要があります。auxnodelist にノードを追加するには、次の手順を実行します。


注 -  次の手順はまた、共有アドレスリソースの auxnodelist からノードを削除するためにも使用できます。auxnodelist からノードを削除するには、共有アドレスリソースを削除して再作成する必要があります。

始める前に

すべての論理ホスト名の IP アドレスのサブネットとネットマスクのエントリが /etc/netmasks ファイルにあることを確認してください。必要に応じて、/etc/netmasks ファイルを編集して、不足しているエントリがある場合は追加します。

  1. スケーラブルサービスリソースをオフラインに切り替えます。
  2. フェイルオーバーリソースグループから共有アドレスリソースを削除します。
  3. 共有アドレスリソースを作成します。

    フェイルオーバーリソースグループから削除したノードのノード ID またはノード名を auxnodelist に追加します。

    # clressharedaddress create -g failover-resource-group \
    -X new-auxnodelist shared-address 
    failover-resource-group

    共有アドレスリソースを含めるために使用されたフェイルオーバーリソースグループの名前。

    new-auxnodelist

    目的のノードが追加または削除された、変更された新しい auxnodelist

    shared-address

    共有アドレスの名前。

使用例 2-32  リソースグループからのノードの削除

この例では、論理ホスト名リソース (schost-1) を含むリソースグループ (resource-group-1) からノード (phys-schost-3) を削除する方法を示します。

# clresourcegroup show -v resource-group-1 | grep -i nodelist
Nodelist:       phys-schost-1  phys-schost-2  phys-schost-3
# clresourcegroup set -n phys-schost-1,phys-schost-2 resource-group-1
# clresourcegroup show -v resource-group-1 | grep -i netiflist
( Res property name: NetIfList
Res property class: extension
( List of IPMP
interfaces on each node
( Res property type: stringarray
Res property value: sc_ipmp0@1  sc_ipmp0@2  sc_ipmp0@3

(sc_ipmp0@3 is the IPMP group to be removed.)

# clresource set  -p  netiflist=sc_ipmp0@1,sc_ipmp0@2 schost-1
# clresourcegroup show -v resource-group-1 | grep -i nodelist
Nodelist:       phys-schost-1 phys-schost-2
# clresourcegroup show -v resource-group-1 | grep -i netiflist
Res property value: sc_ipmp0@1 sc_ipmp0@2