この節の手順では、次の作業を行います。
リソースグループの追加のマスターとなるクラスタノードの構成
リソースグループからのノードの削除
ノードの追加や削除をフェイルオーバーリソースグループに対して行うのか、スケーラブルリソースグループに対して行うのかによって、手順は異なります。
フェイルオーバーリソースグループは、フェイルオーバーとスケーラブルの両方のサービスによって使用されるネットワークリソースを含みます。クラスタに接続される各 IP サブネットワークは、指定された独自のネットワークリソースを持ち、フェイルオーバーリソースグループに含まれます。このネットワークリソースは、論理ホスト名または共有アドレスリソースのいずれかになります。各ネットワークリソースは、それが使用する IP ネットワークマルチパスグループのリストを含んでいます。フェイルオーバーリソースグループの場合は、リソースグループ (netiflist リソースプロパティ) に含まれる各ネットワークリソースに対し IP ネットワークマルチパスグループの完全なリストを更新する必要があります。
スケーラブルリソースグループの場合は、スケーラブルグループがホストの新しいセット上でマスターされるように変更するほかに、スケーラブルリソースによって使用されるネットワークリソースを含むフェイルオーバーグループのための手順も実行する必要があります。
詳細は、scrgadm(1M) のマニュアルページを参照してください。
任意のクラスタノードから、以下に説明する手順のいずれかを実行します。
この作業は次のセクションに分かれています。
この手順を実行するには、次の情報が必要になります。
すべてのクラスタノードの名前とノード ID
ノードが追加されるリソースグループの名前
すべてのノード上のリソースグループによって使用されるネットワークリソースをホストする IP ネットワークマルチパスグループの名前
さらに、新しいノードがすでにクラスタメンバーになっていることも確認してください。
リソースグループ内のスケーラブルリソースが使用する各ネットワークリソースごとに、そのネットワークリソースが配置されているリソースグループが新しいノードで実行されるようにします。
スケーラブルリソースグループをマスターできるノードのリスト (nodelist リソースグループプロパティ) に新しいノードを追加します。
この手順は、nodelist の値を上書きするため、リソースグループをマスターできるすべてのノードをここに含める必要があります。
# scrgadm -c -g resource-group -h nodelist |
リソースグループを変更します。
ノードが追加されるリソースグループの名前を指定します。
リソースグループをマスターできるノードをコンマで区切って指定します。
(省略可能) スケーラブルリソースの Load_balancing_weights プロパティを更新し、リソースグループに追加するノードにウエイトを割り当てます。
ウエイトを割り当てない場合は、デフォルトで 1 になります。詳細は、scrgadm(1M) のマニュアルページを参照してください。
現在のノードリスト、およびリソースグループ内の各リソース用に構成された 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 コマンドを実行します。
ノードの追加によって影響を受けるネットワークリソースの netiflist を更新します。
この手順は、netiflist の値を上書きするため、すべての IP ネットワークマルチパスグループをここに含める必要があります。
# scrgadm -c -j network-resource -x netiflist=netiflist |
ネットワークリソースを変更します。
netiflist エントリ上でホストされているネットワークリソースの名前 (論理ホスト名または共有アドレス) を指定します。
各ノード上の IP ネットワークマルチパスグループ グループをコンマで区切って指定します。netiflist 内の各要素の書式は、 netif@node でなければなりません。 netif は、sc_ipmp0 などの IP ネットワークマルチパスグループ名として指定できます。ノードは、sc_ipmp@phys-schost-1 や sc_ipmp0@1 などのノード名またはノード ID で識別できます。
このリソースグループをマスターできるすべてのノードを含めるように、ノードリストを更新します。
この手順は、nodelist の値を上書きするため、リソースグループをマスターできるすべてのノードをここに含める必要があります。
# scrgadm -c -g resource-group -h nodelist |
リソースグループを変更します。
ノードが追加されるリソースグループの名前を指定します。
リソースグループをマスターできるノードをコンマで区切って指定します。
更新された情報を確認します。
# 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 |
この作業は次のセクションに分かれています。
これらの手順を実行するには、次の情報が必要になります。
すべてのクラスタノードのノード名とノード ID
# env LC_ALL=C scconf -pv | grep "Node ID” |
ノードを削除予定のリソースグループまたはグループの名前
# env LC_ALL=C scrgadm -pv | grep "Res Group Nodelist” |
すべてのノード上のリソースグループによって使用されるネットワークリソースをホストする IP ネットワークマルチパスグループの名前
# env LC_ALL=C scrgadm -pvv | grep "NetIfList.*value” |
さらに、削除するノード上でリソースグループがマスターされていないことを確認します。削除するノード上でマスターされている場合は、scswitch コマンドを実行し、そのノードでリソースグループをオフラインに切り替えてください。次の scswitch コマンドは、指定されたノードからリソースグループをオフラインにします。この場合、new-masters にこのノードが含まれていてはいけません。
# scswitch -z -g resource-group -h new-masters |
オフラインに切り替えるリソースグループ (削除するノードでマスターされている) の名前を指定します。
このリソースグループを現在マスターできるノードを指定します。
詳細は、scswitch(1M) のマニュアルページを参照してください。
すべてのリソースグループからノードを削除する場合に、スケーラブルサービス構成を使用するときは、最初にスケーラブルリソースグループからそのノードを削除します。続いて、フェイルオーバーグループからそのノードを削除します。
スケーラブルサービスは、次に示すように 2 つのリソースグループとして構成されます。
1 つは、スケーラブルサービスリソースを含むスケーラブルグループです。
もう 1 つは、スケーラブルサービスリソースが使用する共有アドレスリソースを含むフェイルオーバーグループです。
スケーラブルリソースグループの RG_dependencies プロパティは、フェイルオーバーリソースグループへの依存性を使用してスケーラブルグループを構成するように設定されます。このプロパティの詳細は、付録 A 「標準プロパティ」を参照してください。
スケーラブルサービス構成の詳細は、『Sun Cluster 3.1 の概念』を参照してください。
スケーラブルリソースグループからノードを削除すると、そのスケーラブルサービスはそのノード上でオンラインにすることができなくなります。スケーラブルリソースグループからノードを削除するには、以下の作業を行なってください。
スケーラブルリソースグループをマスターできるノードのリスト (nodelist リソースグループプロパティ) からノードを削除します。
# scrgadm -c -g scalable-resource-group -h nodelist |
リソースグループを変更します。
ノードが削除されるリソースグループの名前を指定します。
このリソースグループをマスターできるノードをコンマで区切って指定します。
(省略可能) 共有アドレスリソースが入ったフェイルオーバーリソースグループからノードを削除します。
詳細は、共有アドレスリソースを含むフェイルオーバーリソースグループからのノードの削除を参照してください。
(省略可能) スケーラブルリソースの Load_balancing_weights プロパティを更新し、リソースグループから削除するノードのウェイトを削除します。
詳細は、scrgadm(1M) のマニュアルページを参照してください。
フェイルオーバーリソースグループからノードを削除するには、以下の作業を行なってください。
すべてのリソースグループからノードを削除する場合に、スケーラブルサービス構成を使用するときは、最初にスケーラブルリソースグループからそのノードを削除します。続いて、この方法を使用してフェイルオーバーグループからノードを削除します。
フェイルオーバーリソースグループにスケーラブルサービスが使用する共有アドレスリソースが含まれる場合は、共有アドレスリソースを含むフェイルオーバーリソースグループからのノードの削除を参照してください。
このリソースグループをマスターできるすべてのノードを含めるように、ノードリストを更新します。
この手順はノードを削除してノードリストの値を上書きするため、リソースグループをマスターできるすべてのノードをここに含める必要があります。
# scrgadm -c -g failover-resource-group -h nodelist |
リソースグループを変更します。
ノードが削除されるリソースグループの名前を指定します。
このリソースグループをマスターできるノードをコンマで区切って指定します。
リソースグループ内の各リソース用に構成した IP ネットワークマルチパスグループの現在のリストを表示します。
# scrgadm -pvv -g failover-resource-group | grep -i netiflist |
ノードの削除によって影響を受けるネットワークリソースの netiflist を更新します。
この手順は netiflist の値を上書きするため、すべての IP ネットワークマルチパスグループをここに含める必要があります。
# scrgadm -c -j network-resource -x netiflist=netiflist |
上記コマンド行の出力は、ノード名でノードを識別します。ノード ID を検索するには、コマンド scconf -pv | grep “Node ID” を実行してください。
ネットワークリソースを変更します。
netiflist エントリ上でホストされているネットワークリソースの名前を指定します。
各ノード上の IP ネットワークマルチパスグループをコンマで区切って指定します。netiflist 内の各要素の書式は、 netif@node でなければなりません。 netif は、sc_ipmp0 などの IP ネットワークマルチパスグループ名として指定できます。ノードは、sc_ipmp@phys-schost-1 や sc_ipmp0@1 などのノード名またはノード ID で識別できます。
現在 Sun Cluster では、netif にアダプタ名を使用できません。
更新された情報を確認します。
# scrgadm -pvv -g failover-resource-group | grep -i nodelist # scrgadm -pvv -g failover-resource-group | grep -i netiflist |
スケーラブルサービスが使用する共有アドレスリソースを含むフェイルオーバーリソースグループでは、ノードは次の場所に表示されます。
フェイルオーバーリソースグループのノードリスト
共有アドレスリソースの auxnodelist
フェイルオーバーリソースグループのノードリストからノードを削除するには、フェイルオーバーリソースグループからのノードの削除に示されている作業を行なってください。
共有アドレスリソースの auxnodelist を変更するには、共有アドレスリソースを削除して作成し直す必要があります。
フェイルオーバーグループのノードリストからノードを削除しても、そのノード上の共有アドレスリソースを継続して使用し、スケーラブルサービスを提供できます。このためには、共有アドレスリソースの auxnodelist にそのノードを追加する必要があります。auxnodelist にノードを追加するには、以下の作業を行なってください。
以下の作業は、共有アドレスリソースの auxnodelist からノードを削除するためにも使用できます。auxnodelist からノードを削除するには、共有アドレスリソースを削除して作成し直す必要があります。
スケーラブルサービスリソースをオフラインに切り替えます。
フェイルオーバーリソースグループから共有アドレスリソースを削除します。
共有アドレスリソースを作成します。
フェイルオーバーリソースグループから削除したノードのノード ID またはノード名を auxnodelist に追加します。
# scrgadm -a -S -g failover-resource-group\ -l shared-address -X 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 |