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

リソースグループへのノードの追加と削除

この節の手順では、次の作業を行います。

ノードの追加や削除をフェイルオーバーリソースグループに対して行うのか、スケーラブルリソースグループに対して行うのかによって、手順は異なります。

フェイルオーバーリソースグループは、フェイルオーバーとスケーラブルの両方のサービスによって使用されるネットワークリソースを含みます。クラスタに接続される各 IP サブネットワークは、指定された独自のネットワークリソースを持ち、フェイルオーバーリソースグループに含まれます。このネットワークリソースは、論理ホスト名または共有アドレスリソースのいずれかになります。各ネットワークリソースは、それが使用する IP ネットワークマルチパスグループのリストを含んでいます。フェイルオーバーリソースグループの場合は、リソースグループ (netiflist リソースプロパティ) に含まれる各ネットワークリソースに対し、IP ネットワークマルチパスグループの完全なリストを更新する必要があります。

スケーラブルリソースグループの場合は、スケーラブルグループをホストの新しいセット上でマスターされるように変更するほかに、スケーラブルリソースによって使用されるネットワークリソースを含むフェイルオーバーグループのための手順も実行する必要があります。

追加情報については、scrgadm(1M) のマニュアルページを参照してください。


注 –

任意のクラスタノードから、以下に説明する手順のいずれかを実行します。


リソースグループにノードを追加する

ノードをリソースグループに追加する手順は、リソースグループがスケーラブルリソースグループか、またはフェイルオーバーリソースグループかによって異なります。詳細の手順については、以下の節を参照してください。

この手順を実行するには、次の情報が必要になります。

さらに、新しいノードがすでにクラスタメンバーになっていることも確認してください。

スケーラブルリソースグループにノードを追加する

  1. リソースグループ内のスケーラブルリソースが使用する各ネットワークリソースごとに、そのネットワークリソースが配置されているリソースグループが新しいノードで実行されるようにします。

    詳細は、以下の作業の手順 1 から手順 4 を参照してください。

  2. スケーラブルリソースグループをマスターできるノードのリスト (nodelist リソースグループプロパティ) に新しいノードを追加します。

    この手順は、nodelist の値を上書きするため、リソースグループをマスターできるすべてのノードをここに含める必要があります。


    # scrgadm -c -g resource-group -h nodelist
    
    -c

    リソースグループを変更します。

    -g resource-group

    ノードが追加されるリソースグループの名前を指定します。

    -h nodelist

    リソースグループをマスターできるノードの名前をコンマで区切って指定します。

  3. (省略可能) スケーラブルリソースの Load_balancing_weights プロパティを更新し、リソースグループに追加するノードにウエイトを割り当てます。

    ウエイトを割り当てない場合は、デフォルトで 1 になります。詳細は、scrgadm(1M) のマニュアルページを参照してください。

フェイルオーバーリソースグループにノードを追加する

  1. 現在のノードリスト、およびリソースグループ内の各リソース用に構成された IP ネットワークマルチパスグループの現在のリストを表示します。


    # scrgadm -pvv -g resource-group | grep -i nodelist
    # scrgadm -pvv -g resource-group | grep -i netiflist
    

    注 –

    nodelistnetiflist のコマンド行出力では、ノード名でノードが識別されます。ノード ID を識別するには、コマンド scconf -pv | grep -i node_id を実行してください。


  2. ノードの追加によって影響を受けるネットワークリソースの netiflist を更新します。

    この手順は、netiflist の値を上書きするため、すべての IP ネットワークマルチパスグループをここに含める必要があります。


    # scrgadm -c -j network-resource -x netiflist=netiflist
    
    -c

    ネットワークリソースを変更します。

    -j network-resource

    netiflist エントリ上でホストされているネットワークリソースの名前 (論理ホスト名または共有アドレス) を指定します。

    -x netiflist =netiflist

    各ノード上の IP ネットワークマルチパスグループをコンマで区切って指定します。netiflist の各要素は、netif@node の形式にする必要があります。netif は IP ネットワークマルチパス グループ名 (sc_ipmp0 など) として指定できます。ノードには、ノード名またはノード ID ( sc_ipmp0@1sc_ipmp@phys-schost-1 など) を指定できます。

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

    この手順は、nodelist の値を上書きするため、リソースグループをマスターできるすべてのノードをここに含める必要があります。


    # scrgadm -c -g resource-group -h nodelist
    
    -c

    リソースグループを変更します。

    -g resource-group

    ノードが追加されるリソースグループの名前を指定します。

    -h nodelist

    リソースグループをマスターできるノードの名前をコンマで区切って指定します。

  4. 更新された情報を確認します。


    # scrgadm -pvv -g resource-group | grep -i nodelist
    # scrgadm -pvv -g resource-group | grep -i netiflist
    

例 – リソースグループへのノードの追加

次に、リソースグループ (resource-group-1) にノード (phys-schost-2) を追加する例を示します。このリソースグループは、論理ホスト名リソース (schost-2) を含んでいます。


# scrgadm -pvv -g resource-group-1 | grep -i nodelist
(resource-group-1) リソースグループ Nodelist:    phys-schost-1 phys-schost-3
# scrgadm -pvv -g resource-group-1 | grep -i netiflist
(resource-group-1:schost-2) リソース property name: NetIfList
(resource-group-1:schost-2:NetIfList) リソース property class: extension
(resource-group-1:schost-2:NetIfList) List of IP Networking Multipathing
interfaces on each node
(resource-group-1:schost-2:NetIfList) リソース property type: stringarray
(resource-group-1:schost-2:NetIfList) リソース property value: sc_ipmp0@1 sc_ipmp0@3
 
(ノード 1 と 3 のみが IP ネットワークマルチパスグループに割り当てられています。ノード 2 用の
IP ネットワークマルチパスグループを追加する必要があります。)

# scrgadm -c -j schost-2 -x netiflist=sc_ipmp0@1,sc_ipmp0@2,sc_ipmp0@3
# scrgadm -c -g resource-group-1 -h phys-schost-1,phys-schost-2,phys-schost-3
# scrgadm -pvv -g resource-group-1 | grep -i nodelist
(resource-group-1) リソースグループ Nodelist:     phys-schost-1 phys-schost-2
                                           phys-schost-3
# scrgadm -pvv -g resource-group-1 | grep -i netiflist
(resource-group-1:schost-2:NetIfList) リソース property value: sc_ipmp0@1 sc_ipmp0@2
                                                          sc_ipmp0@3

リソースグループからノードを削除する

ノードをリソースグループから削除する手順は、リソースグループがスケーラブルリソースグループであるか、またはフェイルオーバーリソースグループであるかによって異なります。詳細の手順については、以下の節を参照してください。

具体例は、「例 – リソースグループからのノードの削除」 を参照してください。

この手順を実行するには、次の情報が必要になります。

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


# scswitch -z -g resource-group -h new-masters
-g resource-group

オフラインに切り替えるリソースグループ (削除するノードでマスターされている) の名前を指定します。

-h new-masters

このリソースグループを現在マスターできるノードを指定します。

追加情報については、scswitch(1M) のマニュアルページを参照してください。


注意 – 注意 –

すべてのリソースグループからノードを削除する場合で、スケーラブルサービス構成を使用するときは、最初にスケーラブルリソースグループからそのノードを削除してください。続いて、フェイルオーバーグループからそのノードを削除してください。


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

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

スケーラブルリソースグループの RG_dependencies プロパティは、フェイルオーバーリソースグループへの依存性を使用してスケーラブルグループを構成するように設定されます。このプロパティの詳細は、付録 A 「標準プロパティ」 を参照してください。

スケーラブルサービスの構成に関する詳細は、『 Sun Cluster の概念 (Solaris OS 版)』のマニュアルを参照してください。

スケーラブルリソースグループからノードを削除すると、そのスケーラブルサービスはそのノード上でオンラインにすることができなくなります。スケーラブルリソースグループからノードを削除するには、以下の作業を行なってください。

  1. スケーラブルリソースグループをマスターできるノードのリスト (nodelist リソースグループプロパティ) からノードを削除します。


    # scrgadm -c -g scalable-resource-group -h nodelist
    
    -c

    リソースグループを変更します。

    -g scalable-resource-group

    ノードが削除されるリソースグループの名前を指定します。

    -h nodelist

    当該リソースグループをマスターできるノードの名前をコンマで区切って指定します。

  2. (省略可能) 共有アドレスリソースが入ったフェイルオーバーリソースグループからノードを削除します。

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

  3. (省略可能) スケーラブルリソースの Load_balancing_weights プロパティを更新し、リソースグループから削除するノードのウエイトを削除します。

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

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

フェイルオーバーリソースグループからノードを削除するには、以下の作業を行なってください。


注意 – 注意 –

すべてのリソースグループからノードを削除する場合で、スケーラブルサービス構成を使用するときは、最初にスケーラブルリソースグループからそのノードを削除してください。続いて、この方法を使用してフェイルオーバーグループからノードを削除してください。



注 –

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


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

    この手順はノードを削除してノードリストの値を上書きするため、リソースグループをマスターできるすべてのノードをここに含める必要があります。


    # scrgadm -c -g failover-resource-group -h nodelist
    

    -c

    リソースグループを変更します。

    -g failover-resource-group

    ノードが削除されるリソースグループの名前を指定します。

    -h nodelist

    当該リソースグループをマスターできるノードの名前をコンマで区切って指定します。

  2. リソースグループ内の各リソース用に構成した IP ネットワークマルチパスグループの現在のリストを表示します。


    # scrgadm -pvv -g failover-resource-group | grep -i netiflist
    

  3. ノードの削除によって影響を受けるネットワークリソースの netiflist を更新します。

    この手順は netiflist の値を上書きするため、すべての IP ネットワークマルチパスグループをここに含める必要があります。


    # scrgadm -c -j network-resource -x netiflist=netiflist
    


    注 –

    上記コマンド行の出力は、ノード 名によってノードを識別します。ノード ID を識別するには、コマンド scconf -pv | grep “ノード ID” を実行してください。


    -c

    ネットワークリソースを変更します。

    -j network-resource

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

    -x netiflist=netiflist

    各ノード上の IP ネットワークマルチパスグループをコンマで区切って指定します。netiflist の各要素は、netif@node の形式にする必要があります。netif は IP ネットワークマルチパス グループ名 (sc_ipmp0 など) として指定できます。ノードは、ノード名またはノード ID (sc_ipmp0@1sc_ipmp@phys-schost-1 など) で識別できます。


    注 –

    現バージョンの Sun Cluster では、netif にアダプタ名を使用できません。


  4. 更新された情報を確認します。


    # scrgadm -pvv -g failover-resource-group | grep -i nodelist
    # scrgadm -pvv -g failover-resource-group | grep -i netiflist 
    

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

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

フェイルオーバーリソースグループのノードリストからノードを削除するには、 「フェイルオーバーリソースグループからノードを削除する」に示されている作業を行なってください。

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

フェイルオーバーグループのノードリストからノードを削除すると、そのノード上の共有アドレスリソースを継続して使用し、スケーラブルサービスを提供できます。このためには、共有アドレスリソースの auxnodelist にそのノードを追加する必要があります。auxnodelist にノードを追加するには、以下の作業を行なってください。


注 –

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


  1. スケーラブルサービスリソースをオフラインに切り替えます。

  2. フェイルオーバーリソースグループから共有アドレスリソースを削除します。

  3. 共有アドレスリソースを作成します。

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


    # scrgadm -a -S -g failover-resource-group \
     -l shared-address -X new-auxnodelist 
    
    failover-resource-group

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

    shared-address

    共有アドレスの名前。

    new-auxnodelist

    妥当なノードの追加または削除によって変更された新しい auxnodelist

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

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


# scrgadm -pvv -g resource-group-1 | grep -i nodelist
(resource-group-1) リソースグループ Nodelist:       phys-schost-1 phys-schost-2
                                             phys-schost-3
# scrgadm -c -g resource-group-1 -h phys-schost-1,phys-schost-2
# scrgadm -pvv -g resource-group-1 | grep -i netiflist
(resource-group-1:schost-1) リソース property name: NetIfList
(resource-group-1:schost-1:NetIfList) リソース property class: extension
(resource-group-1:schost-1:NetIfList) List of IP Networking Multipathing
interfaces on each node
(resource-group-1:schost-1:NetIfList) リソース property type: stringarray
(resource-group-1:schost-1:NetIfList) リソース property value: sc_ipmp0@1 sc_ipmp0@2
                                                          sc_ipmp0@3

(sc_ipmp0@3 は削除される IP ネットワークマルチパスグループです。)

# scrgadm -c  -j schost-1 -x  netiflist=sc_ipmp0@1,sc_ipmp0@2
# scrgadm -pvv -g resource-group-1 | grep -i nodelist
(resource-group-1) リソースグループ Nodelist:       phys-schost-1 phys-schost-2
# scrgadm -pvv -g resource-group-1 | grep -i netiflist
(resource-group-1:schost-1:NetIfList) リソース property value: sc_ipmp0@1 sc_ipmp0@2