この節の手順では、次の作業を行います。
リソースグループの追加のマスターとなるクラスタノードを構成する
リソースグループからノードを削除する
ノードの追加や削除をフェイルオーバーリソースグループに対して行うのか、スケーラブルリソースグループに対して行うのかによって、手順は異なります。
フェイルオーバーリソースグループは、フェイルオーバーとスケーラブルの両方のサービスによって使用されるネットワークリソースを含みます。クラスタに接続される各 IP サブネットワークは、指定された独自のネットワークリソースを持ち、フェイルオーバーリソースグループに含まれます。このネットワークリソースは、論理ホスト名または共有アドレスリソースのいずれかになります。各ネットワークリソースは、それが使用する IPMPグループのリストを含んでいます。フェイルオーバーリソースグループの場合は、リソースグループ (netiflist リソースプロパティー) に含まれる各ネットワークリソースに対し、IPMPグループの完全なリストを更新する必要があります。
スケーラブルリソースグループの手順には、次の手順が含まれます。
スケーラブルリソースによって使用されるネットワークリソースを含むフェイルオーバーグループのための手順を繰り返す
スケーラブルグループをホストの新しいセット上でマスターされるように変更する
詳細は、clresourcegroup(1CL) のマニュアルページを参照してください。
いずれの手順も任意のクラスタノードから実行できます。
ノードをリソースグループに追加する手順は、リソースグループがスケーラブルリソースグループであるか、フェイルオーバーリソースグループであるかによって異なります。詳細の手順については、以下の節を参照してください。
この手順を実行するには、次の情報が必要になります。
すべてのクラスタノードの名前と ID およびゾーンの名前
ノードが追加されるリソースグループの名前
すべてのノード上のリソースグループによって使用されるネットワークリソースをホストする IPMPグループの名前
さらに、新しいノードがすでにクラスタメンバーになっていることも確認してください。
リソースグループ内のスケーラブルリソースが使用する各ネットワークリソースごとに、そのネットワークリソースが配置されているリソースグループが新しいノードで実行されるようにします。
スケーラブルリソースグループをマスターできるノードのリスト (nodelist リソースグループプロパティー) に新しいノードを追加します。
この手順は、nodelist の値を上書きするため、リソースグループをマスターできるすべてのノードをここに含める必要があります。
# clresourcegroup set [-n node-zone-list] resource-group |
このリソースグループをマスターできるノードの、コンマ区切りの順序付けされたリストを指定します。このリソースグループは、このノード以外のすべてのノードでオフラインに切り替えられます。リスト内の各エントリの形式は node:zone です。この形式では、node はノード名を指定し、zone はグローバルクラスタ非投票ノードの名前を指定します。グローバルクラスタ投票ノードを指定する、またはグローバルクラスタ非投票ノードのないノードを指定するには、node のみを指定します。
このリストはオプションです。このリストを省略すると、Nodelist プロパティーがクラスタ内のすべてのノードに対して設定されます。
ノードが追加されるリソースグループの名前を指定します。
(省略可能) スケーラブルリソースの Load_balancing_weights プロパティーを更新し、リソースグループに追加するノードにウエイトを割り当てます。
ウエイトを割り当てない場合は、デフォルトで 1 になります。詳細は、clresourcegroup(1CL) のマニュアルページを参照してください。
現在のノードリスト、およびリソースグループ内の各リソース用に構成された IPMPグループの現在のリストを表示します。
# clresourcegroup show -v resource-group | grep -i nodelist # clresourcegroup show -v resource-group | grep -i netiflist |
nodelist と netiflist のコマンド行出力では、ノード名でノードが識別されます。ノード ID を識別するには、コマンド clnode show -v | grep -i node-id を実行してください。
ノードの追加によって影響を受けるネットワークリソースの netiflist を更新します。
この手順は、netiflist の値を上書きするため、すべての IPMPグループをここに含める必要があります。
# clresource set -p netiflist=netiflist network-resource |
各ノード上の IPMPグループをコンマで区切って指定します。netiflist の各要素は、netif@node の形式にする必要があります。netif は IPMP グループ名 (sc_ipmp0 など) として指定できます。ノードは、ノード名またはノード ID (sc_ipmp0@1、sc_ipmp@phys-schost-1 など) で識別できます。
netiflist エントリ上でホストされているネットワークリソースの名前 (論理ホスト名または共有アドレス) を指定します。
HAStoragePlus AffinityOn 拡張プロパティーが True に等しい場合、適切なディスクセットまたはデバイスグループにノードを追加します。
このリソースグループをマスターできるすべてのノードを含めるように、ノードリストを更新します。
この手順は、nodelist の値を上書きするため、リソースグループをマスターできるすべてのノードをここに含める必要があります。
# clresourcegroup set [-n node-zone-list] resource-group |
このリソースグループをマスターできるグローバルクラスタ非投票ノードの、コンマ区切りの順序付けされたリストを指定します。このリソースグループは、このノード以外のすべてのノードでオフラインに切り替えられます。リスト内の各エントリの形式は node:zone です。この形式では、node はノード名を指定し、zone はグローバルクラスタ非投票ノードの名前を指定します。グローバルクラスタ投票ノードを指定する、またはグローバルクラスタ非投票ノードのないノードを指定するには、node のみを指定します。
このリストはオプションです。このリストを省略すると、Nodelist プロパティーがクラスタ内のすべてのノードに対して設定されます。
ノードが追加されるリソースグループの名前を指定します。
更新された情報を確認します。
# clresourcegroup show -vresource-group | grep -i nodelist # clresourcegroup show -vresource-group | grep -i netiflist |
次に、リソースグループ (resource-group-1) にグローバルクラスタ投票ノード (phys-schost-2) を追加する例を示します。このリソースグループは、論理ホスト名リソース (schost-2) を含んでいます。
# clresourcegroup show -v resource-group-1 | grep -i nodelist ( Nodelist: phys-schost-1 phys-schost-3 # 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@3 (Only nodes 1 and 3 have been assigned IPMP groups. You must add an IPMP group for node 2.) # clresource set -p netiflist=sc_ipmp0@1,sc_ipmp0@2,sc_ipmp0@3 schost-2 # metaset -s red -a -h phys-schost-2 # clresourcegroup set -n phys-schost-1,phys-schost-2,phys-schost-3 resource-group-1 # clresourcegroup show -v resource-group-1 | grep -i nodelist Nodelist: phys-schost-1 phys-schost-2 phys-schost-3 # clresourcegroup show -v resource-group-1 | grep -i netiflist Res property value: sc_ipmp0@1 sc_ipmp0@2 sc_ipmp0@3 |
ノードをリソースグループから削除する手順は、リソースグループがスケーラブルリソースグループであるか、フェイルオーバーリソースグループであるかによって異なります。詳細の手順については、以下の節を参照してください。
この手順を実行するには、次の情報が必要になります。
すべてのクラスタノードの名前とノード 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 |
このリソースグループを現在マスターできるノードを指定します。
切り替えるリソースグループの名前を指定します。このリソースグループは、削除するノード上でマスターされます。
詳細は、clresourcegroup(1CL) のマニュアルページを参照してください。
すべてのリソースグループからノードを削除する場合で、スケーラブルサービス構成を使用するときは、最初にスケーラブルリソースグループからそのノードを削除してください。続いて、フェイルオーバーグループからそのノードを削除します。
スケーラブルサービスは、次に示すように 2 つのリソースグループとして構成されます。
1 つは、スケーラブルサービスリソースを含むスケーラブルグループです。
もう 1 つは、スケーラブルサービスリソースが使用する共有アドレスリソースを含むフェイルオーバーグループです。
スケーラブルリソースグループの RG_dependencies プロパティーは、フェイルオーバーリソースグループへの依存性を使用してスケーラブルグループを構成するように設定されます。このプロパティーの詳細については、付録 B 標準プロパティーを参照してください。
スケーラブルサービス構成の詳細は、『Sun Cluster の概念 (Solaris OS 版)』を参照してください。
スケーラブルリソースグループからノードを削除すると、そのスケーラブルサービスはそのノード上でオンラインにすることができなくなります。スケーラブルリソースグループからノードを削除するには、以下の作業を行なってください。
スケーラブルリソースグループをマスターできるノードのリスト (nodelist リソースグループプロパティー) からノードを削除します。
# clresourcegroup set [-n node-zone-list] scalable-resource-group |
このリソースグループをマスターできるノードの、コンマ区切りの順序付けされたリストを指定します。このリソースグループは、このノード以外のすべてのノードでオフラインに切り替えられます。リスト内の各エントリの形式は node:zone です。この形式では、node はノード名を指定し、zone はグローバルクラスタ非投票ノードの名前を指定します。グローバルクラスタ投票ノードを指定する、またはグローバルクラスタ非投票ノードのないノードを指定するには、node のみを指定します。
このリストはオプションです。このリストを省略すると、Nodelist プロパティーがクラスタ内のすべてのノードに対して設定されます。
ノードが削除されるリソースグループの名前を指定します。
(省略可能) 共有アドレスリソースが入ったフェイルオーバーリソースグループからノードを削除します。
詳細については、「共有アドレスリソースを含むフェイルオーバーリソースグループからノードを削除する」を参照してください。
(省略可能) スケーラブルリソースの Load_balancing_weights プロパティーを更新し、リソースグループから削除するノードのウエイトを削除します。
clresourcegroup(1CL) のマニュアルページ。
フェイルオーバーリソースグループからノードを削除するには、以下の作業を行なってください。
すべてのリソースグループからノードを削除する場合で、スケーラブルサービス構成を使用するときは、最初にスケーラブルリソースグループからそのノードを削除してください。続いて、この方法を使用してフェイルオーバーグループからノードを削除します。
フェイルオーバーリソースグループに、スケーラブルサービスが使用する共有アドレスリソースが含まれる場合は、「共有アドレスリソースを含むフェイルオーバーリソースグループからノードを削除する」を参照してください。
このリソースグループをマスターできるすべてのノードを含めるように、ノードリストを更新します。
この手順はノードを削除してノードリストの値を上書きするため、リソースグループをマスターできるすべてのノードをここに含める必要があります。
# clresourcegroup set [-n node-zone-list] failover-resource-group |
このリソースグループをマスターできるノードの、コンマ区切りの順序付けされたリストを指定します。このリソースグループは、このノード以外のすべてのノードでオフラインに切り替えられます。リスト内の各エントリの形式は node:zone です。この形式では、node はノード名を指定し、zone はグローバルクラスタ非投票ノードの名前を指定します。グローバルクラスタ投票ノードを指定する、またはグローバルクラスタ非投票ノードのないノードを指定するには、node のみを指定します。
このリストはオプションです。このリストを省略すると、Nodelist プロパティーがクラスタ内のすべてのノードに対して設定されます。
ノードが削除されるリソースグループの名前を指定します。
リソースグループ内の各リソース用に構成した IPMPグループの現在のリストを表示します。
# clresourcegroup show -v failover-resource-group | grep -i netiflist |
ノードの削除によって影響を受けるネットワークリソースの netiflist を更新します。
この手順は netiflist の値を上書きするため、すべての IPMPグループをここに含める必要があります。
# clresource set -p netiflist=netiflist network-resource |
上記コマンド行の出力は、ノード 名によってノードを識別します。ノード ID を識別するには、コマンド clnode show -v | grep -i "Node ID" を実行してください。
各ノード上の IPMPグループをコンマで区切って指定します。netiflist の各要素は、netif@node の形式にする必要があります。netif は IPMP グループ名 (sc_ipmp0 など) として指定できます。ノードは、ノード名またはノード ID (sc_ipmp0@1、sc_ipmp@phys-schost-1 など) で識別できます。
netiflist エントリ上でホストされているネットワークリソースの名前を指定します。
Sun Cluster では、netif にアダプタ名を使用できません。
更新された情報を確認します。
# clresourcegroup show -vfailover-resource-group | grep -i nodelist # clresourcegroup show -vfailover-resource-group | grep -i netiflist |
スケーラブルサービスが使用する共有アドレスリソースを含むフェイルオーバーリソースグループでは、ノードは次の場所に現れます。
フェイルオーバーリソースグループのノードリスト
共有アドレスリソースの auxnodelist
フェイルオーバーリソースグループのノードリストからノードを削除するには、「フェイルオーバーリソースグループからノードを削除する」に示されている作業を行なってください。
共有アドレスリソースの auxnodelist を変更するには、共有アドレスリソースを削除して作成し直す必要があります。
フェイルオーバーグループのノードリストからノードを削除すると、そのノード上の共有アドレスリソースを継続して使用し、スケーラブルサービスを提供できます。共有アドレスリソースを継続して使用するには、共有アドレスリソースの auxnodelist にそのノードを追加する必要があります。auxnodelist にノードを追加するには、以下の作業を行なってください。
以下の作業は、共有アドレスリソースの auxnodelist からノードを削除するためにも使用できます。auxnodelist からノードを削除するには、共有アドレスリソースを削除して作成し直す必要があります。
スケーラブルサービスリソースをオフラインに切り替えます。
フェイルオーバーリソースグループから共有アドレスリソースを削除します。
共有アドレスリソースを作成します。
フェイルオーバーリソースグループから削除したノードのノード ID またはノード名を auxnodelist に追加します。
# clressharedaddress create -g failover-resource-group \ -X new-auxnodelist shared-address |
共有アドレスリソースを含めるために使用されたフェイルオーバーリソースグループの名前
妥当なノードの追加または削除によって変更された新しい auxnodelist
共有アドレスの名前
次に、リソースグループ (resource-group-1) からノード (phys-schost-3) を削除する例を示します。このリソースグループは、論理ホスト名リソース (schost-1) を含んでいます。
# 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 |