Sun Cluster 3.1 データサービスのインストールと構成

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

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

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

フェイルオーバーリソースグループは、フェイルオーバーとスケーラブルの両方のサービスによって使用されるネットワークリソースを含みます。クラスタに接続される各 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
    

    注 –

    nodelist および netiflist のコマンド行出力では、ノード名でノードが識別されます。ノード 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 は、sc_ipmp0 などの IP ネットワークマルチパスグループ名として指定できます。ノードは、sc_ipmp@phys-schost-1sc_ipmp0@1 などのノード名またはノード ID で識別できます。

  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) を含んでいます。


# env LC_ALL=C scrgadm -pvv -g resource-group-1 | grep -i nodelist
(resource-group-1) Res Group Nodelist:    phys-schost-1 phys-schost-3
# env LC_ALL=C scrgadm -pvv -g resource-group-1 | grep -i netiflist
(resource-group-1:schost-2) Res property name: NetIfList
(resource-group-1:schost-2:NetIfList) Res property class: extension
(resource-group-1:schost-2:NetIfList) List of IP ネットワークマルチパスグループ interfaces on each node
(resource-group-1:schost-2:NetIfList) Res property type: stringarray
(resource-group-1:schost-2:NetIfList) Res 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
# env LC_ALL=C scrgadm -pvv -g resource-group-1 | grep -i nodelist
(resource-group-1) Res Group Nodelist:     phys-schost-1 phys-schost-2 
                                           phys-schost-3
# env LC_ALL=C scrgadm -pvv -g resource-group-1 | grep -i netiflist
(resource-group-1:schost-2:NetIfList) Res 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 3.1 の概念』を参照してください。

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

  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 “Node ID” を実行してください。


    -c

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

    -j network-resource

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

    -x netiflist=netiflist

    各ノード上の IP ネットワークマルチパスグループをコンマで区切って指定します。netiflist 内の各要素の書式は、 netif@node でなければなりません。 netif は、sc_ipmp0 などの IP ネットワークマルチパスグループ名として指定できます。ノードは、sc_ipmp@phys-schost-1sc_ipmp0@1 などのノード名またはノード ID で識別できます。


    注 –

    現在 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) を含んでいます。


# env LC_ALL=C scrgadm -pvv -g resource-group-1 | grep -i nodelist
(resource-group-1) Res Group Nodelist:       phys-schost-1 phys-schost-2 
                                             phys-schost-3
# scrgadm -c -g resource-group-1 -h phys-schost-1,phys-schost-2
# env LC_ALL=C scrgadm -pvv -g resource-group-1 | grep -i netiflist
(resource-group-1:schost-1) Res property name: NetIfList
(resource-group-1:schost-1:NetIfList) Res property class: extension
(resource-group-1:schost-1:NetIfList) List of IP ネットワークマルチパスグループ 
interfaces on each node
(resource-group-1:schost-1:NetIfList) Res property type: stringarray
(resource-group-1:schost-1:NetIfList) Res property value: sc_ipmp0@1 sc_ipmp0@2
                                                          sc_ipmp0@3

(sc_ipmp0@3 は、削除対象となる IP ネットワークマルチパスグループです。 )

# env LC_ALL=C 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) Res Group Nodelist:       phys-schost-1 phys-schost-2
# env LC_ALL=C scrgadm -pvv -g resource-group-1 | grep -i netiflist
(resource-group-1:schost-1:NetIfList) Res property value: sc_ipmp0@1 sc_ipmp0@2