この節では次の 2 つの手順を説明します。
リソースグループの追加のマスターとなるクラスタノードの構成
リソースグループからのノードの削除
ノードの追加や削除をフェイルオーバーリソースグループに対して行うのか、スケーラブルリソースグループに対して行うのかによって、手順は異なります。
フェイルオーバーリソースグループは、フェイルオーバーとスケーラブルの両方のサービスによって使用されるネットワークリソースを含みます。クラスタに接続される各 IP サブネットワークは、指定された独自のネットワークリソースを持ち、フェイルオーバーリソースグループに含まれます。このネットワークリソースは、論理ホスト名または共有アドレスリソースのいずれかになります。各ネットワークリソースは、それが使用する NAFO グループのリストを含んでいます。フェイルオーバーリソースグループの場合は、リソースグループ (netiflist リソースプロパティ) に含まれる各ネットワークリソースに対し、NAFO グループの完全なリストを更新する必要があります。
スケーラブルリソースグループの場合は、スケーラブルグループをホストの新しいセット上でマスターされるように変更するほかに、スケーラブルリソースによって使用されるネットワークリソースを含むフェイルオーバーグループのための手順も実行する必要があります。
詳細は、scrgadm(1M) のマニュアルページを参照してください。
任意のクラスタノードから、以下に説明する手順のいずれかを実行します。
この手順を実行するには、次の情報が必要になります。
すべてのクラスタノードの名前とノード ID
ノードが追加されるリソースグループの名前
すべてのノード上のリソースグループによって使用されるネットワークリソースをホストする NAFO グループの名前
次の事項に注意してください。
新しいノードがすでにクラスタメンバーになっていることを確認してください。
フェイルオーバーリソースグループの場合は、「リソースグループのノードを追加する」で説明する手順をすべて実行してください。
スケーラブルリソースグループの場合は、「スケーラブルリソースグループの場合のみ」の操作を実行してください。
スケーラブルリソースグループの場合のみ
リソースグループ内のスケーラブルリソースが使用する各ネットワークリソースに対し、ネットワークリソースが配置されているリソースグループが、新しいノードで実行されるようにします (以下の手順 1 から 4)。
スケーラブルリソースグループ (nodelist リソースグループプロパティ) をマスターできるノードのリストに新しいノードを追加します (以下の手順 3)。
(オプション) スケーラブルリソースの Load_balancing_weights プロパティを更新し、リソースグループに追加するノードにウエイトを割り当てます。ウエイトを割り当てない場合は、デフォルトで 1 になります。詳細は、scrgadm(1M) のマニュアルページを参照してください。
手順 - ノードをリソースグループに追加する
現在のノードリスト、およびリソースグループ内の各リソース用に構成した NAFO グループの現在のリストを表示します。
# scrgadm -pvv -g resource-group | grep -i nodelist # scrgadm -pvv -g resource-group | grep -i netiflist |
nodelist のコマンド行の出力は、ノード名によってノードを識別します。netiflist の出力は、ノード ID によってノードを識別します。
ノードの追加によって影響を受けるネットワークリソースの netiflist を更新します。
この手順は、netiflist の値を上書きするため、すべての NAFO グループをここに含める必要があります。また、netiflist にノードを入力するときはノード ID を使用する必要があります。ノード ID を調べるには、scconf -pv | grep "Node ID" を使用します。
# scrgadm -c -j network-resource -x netiflist=netiflist |
ネットワークリソースを変更します。
netiflist エントリ上でホストされているネットワークリソースの名前 (論理ホスト名または共有アドレス) を指定します。
各ノードの NAFO グループをコンマで区切って指定します。netiflist 内の各要素は、NAFO-group-name@nodeid の形式にする必要があります。
このリソースグループをマスターできるすべてのノードを含めるように、ノードリストを更新します。
この手順は、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) を含んでいます。
# scrgadm -pvv -g resource-group-1 | grep -i nodelist (resource-group-1) Res Group Nodelist: phys-schost-1 phys-schost-3 # 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 NAFO interfaces on each node(resource-group-1:schost-2:NetIfList) Res property type: stringarray (resource-group-1:schost-2:NetIfList) Res property value: nafo0@1 nafo0@3 (ノード 1 と 3 のみが、NAFO グループに割り当てられています。ノード 2 用の NAFO グループを追加する必要があります。) # scrgadm -c -j schost-2 -x netiflist=nafo0@1,nafo0@2,nafo0@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) Res Group 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) Res property value: nafo0@1 nafo0@2 nafo0@3 |
この手順を実行するには、次の情報が必要になります。
すべてのクラスタノードの名前とノード ID
ノードが削除されるリソースグループまたはグループの名前
すべてのノード上のリソースグループによって使用されるネットワークリソースをホストする NAFO グループの名前
次の事項に注意してください。
削除するノードでリソースグループがマスターされていないことを確認してください。マスターされている場合は、scswitch コマンドを使用し、削除するノードでそのリソースグループをオフラインにしてください。
フェイルオーバーリソースグループの場合は、「ノードをリソースグループから削除する」に説明する手順をすべて実行してください。
スケーラブルリソースグループの場合は、「スケーラブルリソースグループのみの場合」の操作を実行してください。
スケーラブルリソースグループの場合のみ
スケーラブルリソースグループ (nodelist リソースグループプロパティ) をマスターできるノードのリストからそのノードを削除します (以下の手順 1)。
(省略可能) リソースグループ内のスケーラブルリソースが使用する各ネットワークリソースに対し、ネットワークリソースが配置されているリソースグループが、削除されたノードでマスターされないように更新します (以下の手順 1 から 4)。
(省略可能) スケーラブルリソースの Load_balancing_weights プロパティを更新し、リソースグループから削除するノードのウエイトを削除します。詳細は、scrgadm(1M) のマニュアルページを参照してください。
手順 - ノードをリソースグループから削除する
このリソースグループをマスターできるすべてのノードを含めるように、ノードリストを更新します。
この手順は、ノードを削除し、nodelist の値を上書きするため、リソースグループをマスターできるすべてのノードをここに含める必要があります。
# scrgadm -c -g resource-group -h nodelist |
リソースグループを変更します。
ノードが削除されるリソースグループの名前を指定します。
このリソースグループをマスターできるノードをコンマで区切って指定します。
リソースグループ内の各リソース用に構成した NAFO グループの現在のリストを表示します。
# scrgadm -pvv -g resource-group | grep -i netiflist |
上記コマンド行の出力は、ノード ID によってノードを識別します。
ノードの削除によって影響を受けるネットワークリソースの netiflist を更新します。
この手順は、netiflist の値を上書きするため、すべての NAFO グループをここに含める必要があります。また、netiflist にノードを入力するときはノード ID を使用する必要があります。ノード ID を調べるには、 scconf -pv | grep "Node ID" を実行します。
# scrgadm -c -j network-resource -x netiflist=netiflist |
ネットワークリソースを変更します。
netiflist エントリ上でホストされているネットワークリソースの名前 (論理ホスト名または共有アドレス) を指定します。
各ノードの NAFO グループをコンマで区切って指定します。netiflist 内の各要素は、NAFO-group-name@nodeid の形式にする必要があります。
更新された情報を確認します。
# scrgadm -pvv -g resource-group | grep -i nodelist # scrgadm -pvv -g resource-group | grep -i netiflist |
次に、リソースグループ (resource-group-1) からノード (phys-schost-3) を削除する例を示します。このリソースグループは、論理ホスト名リソース (schost-1) を含んでいます。
# 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 # 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 NAFO interfaces on each node (resource-group-1:schost-1:NetIfList) Res property type: stringarray(resource-group-1: schost-1:NetIfList) Res property value: nafo0@1 nafo0@2 nafo0@3 (nafo0@3 が、削除される NAFO グループです) # scrgadm -c -j schost-1 -x netiflist=nafo0@1,nafo0@2 # scrgadm -pvv -g resource-group-1 | grep -i nodelist (resource-group-1) Res Group Nodelist: phys-schost-1 phys-schost-2 # scrgadm -pvv -g resource-group-1 | grep -i netiflist (resource-group-1:schost-1:NetIfList) Res property value: nafo0@1 nafo0@2 |