アプリケーションリソースを大域ゾーンから非大域ゾーンに移行することができます。
移行するデータサービスはスケーラブルであり、また非大域ゾーンでサポートされる必要があります。
この手順では、3 つの各ノード上に作成された非大域ゾーンを持つ 3 つのノードクラスタがあると仮定しています。HAStoragePlus リソースを使用することで高可用性を実現している構成ディレクトリも、非大域ゾーンからアクセス可能であるべきです。
スケーラブルリソースが使用する共有アドレスを保持する大域ゾーンを使用してフェイルオーバーリソースグループを作成します。
# clresourcegroup create -n node1,node2,node3 sa-resource-group |
追加するフェイルオーバーリソースグループの名前を指定します。任意の名前の先頭文字は ASCII にする必要があります。
共有アドレスリソースをフェイルオーバーリソースグループに追加します。
# clressharedaddress create -g sa-resource-group -h hostnamelist, … \ [-X auxnodelist] -N netiflist network-resource |
リソースグループの名前を指定します。共有アドレスリソースのノードリストでは、同一ノード上では複数のゾーンを指定しないでください。共有アドレスリソースのノードリストは、同一ノード上で異なるゾーンを指定してはいけません。nodename:zonename のペアの同一リストをスケーラブルリソースグループのノードリストとして指定します。
共有アドレスホスト名をコンマで区切って指定します。
共有アドレスをホストできるクラスタノード (ただし、フェイルオーバー時に主ノードとして使用されない) を識別する物理ノード名または ID またはゾーンをコンマで区切って指定します。これらのノードは、リソースグループのノードリストで潜在的マスターとして識別されるノードと相互に排他的です。補助ノードリストが明示的に指定されていない場合、リストのデフォルトは、共有アドレスリソースを含むリソースグループのノードリストには含まれていない、すべてのクラスタノード名のリストになります。
サービスをマスターするために作成されたすべての非大域ゾーン内でスケーラブルサービスを動作させるには、共有アドレスリソースグループのノードリスト、または共有アドレスリソースの auxnodelist にゾーンの完全なリストを含めます。すべてのゾーンがノードリスト内にある場合は、auxnodelist を省略できます。
各ノード上の IP ネットワークマルチパス グループをコンマで区切って指定します (省略可能)。netiflist の各要素は、netif@node の形式にする必要があります。netif は IP ネットワークマルチパス グループ名 (sc_ipmp0 など) として指定できます。ノードは、ノード名またはノード ID (sc_ipmp0@1、sc_ipmp@phys-schost-1 など) で識別できます。
Sun Cluster では、 netif にアダプタ名を使用できません。
リソース名を指定します (省略可能)。
スケーラブルリソースグループを作成します。
# clresourcegroup create\-p Maximum_primaries=m\-p Desired_primaries=n\ -n node1,node2,node3\ -p RG_dependencies=sa-resource-group resource-group-1 |
このリソースグループのアクティブな主ノードの最大数を指定します。
リソースグループが起動するアクティブな主ノードの数を指定します。
追加するスケーラブルリソースグループの名前を指定します。任意の名前の先頭文字は ASCII にする必要があります。
HAStoragePlus のリソース hastorageplus-1 を作成し、ファイルシステムのマウントポイントを定義します。
# clresource create -g resource-group-1 -t SUNW.HAStoragePlus \ -p FilesystemMountPoints=/global/resource-group-1 hastorageplus-1 |
リソースは有効状態で作成されます。
アプリケーションのリソースタイプを登録します。
# clresourcetype register resource-type |
追加するリソースタイプの名前を指定します。指定する事前定義済みの名前を判別するには、Sun Cluster のリリースノートを参照してください。
アプリケーションリソースを resource-group-1 に追加し、依存関係を hastorageplus-1 に設定します。
# clresource create -g resource-group-1 -t SUNW.application \ [-p "extension-property[{node-specifier}]"=value, …] -p Scalable=True \ -p Resource_dependencies=network-resource -p Port_list=port-number/protocol \ -p Resource_dependencies=hastorageplus-1 resource |
フェイルオーバーリソースグループをオンラインにします。
# clresourcegroup online sa-resource-group |
すべてのノード上でスケーラブルリソースグループをオンラインにします。
# clresourcegroup online resource-group-1 |
各ノード上 (node1,node2,node3) で zone1 をインストールし、起動します。
2 つのノード (node1, node2) 上でアプリケーションリソースグループをオフラインにします。
共有アドレスを node3 上でオンラインにします。
# clresourcegroup switch -n node3 resource-group-1 |
切り替えるリソースグループの名前を指定します。
フェイルオーバーリソースグループの nodelist プロパティーを更新し、ノードリストから削除された対応するノードの非大域ゾーンを含めます。
# clresourcegroup set -n node1:zone1,node2:zone1,node3 sa-resource-group |
アプリケーションリソースグループの nodelist プロパティーを更新し、ノードリストから削除された対応するノードの非大域ゾーンを含めます。
# clresourcegroup set node1:zone1,node2:zone1,node3 resource-group-1 |
新しく追加されたゾーンでのみ、フェイルオーバーリソースグループとアプリケーションリソースグループをオンラインにします。
両方のリソースグループは、node1:zone1 および node2:zone1 のみでオンラインになります。
# clresourcegroup switch -n node1:zone1,node2:zone1 sa-resource-group |
# clresourcegroup switch -n node1:zone1,node2:zone1 resource-group-1 |
広域ノード node3 をリストから削除することで、両方のリソースグループの nodelist プロパティーを更新し、node3 の非大域ゾーンを含めます。
# clresourcegroup set node1:zone1,node2:zone1,node3:zone1 sa-resource-group |
# clresourcegroup set node1:zone1,node2:zone1,node3:zone1 resource-group-1 |
すべての非大域ゾーン上で両方のリソースグループをオンラインにします。
# clresourcegroup switch -n node1:zone1,node2:zone1,node3:zone1 sa-resource-group |
# clresourcegroup switch -n node1:zone1,node2:zone1,node3:zone1 resource-group-1 |