Sun Cluster データサービスの計画と管理 (Solaris OS 版)

Procedure大域ゾーンから非大域ゾーンへアプリケーションを移行する

この手順では、3 つの各ノード上に作成された非大域ゾーンを持つ 3 つのノードクラスタがあると仮定しています。HAStoragePlus リソースを使用することで高可用性を実現している構成ディレクトリも、非大域ゾーンからアクセス可能であるべきです。

  1. スケーラブルリソースが使用する共有アドレスを保持する大域ゾーンを使用してフェイルオーバーリソースグループを作成します。


    # clresourcegroup create -n node1,node2,node3 sa-resource-group
    
    sa-resource-group

    追加するフェイルオーバーリソースグループの名前を指定します。任意の名前の先頭文字は ASCII にする必要があります。

  2. 共有アドレスリソースをフェイルオーバーリソースグループに追加します。


    # clressharedaddress create -g sa-resource-group -h hostnamelist, … \
    [-X auxnodelist] -N netiflist network-resource
    
    -g sa-resource-group

    リソースグループの名前を指定します。共有アドレスリソースのノードリストでは、同一ノード上では複数のゾーンを指定しないでください。共有アドレスリソースのノードリストは、同一ノード上で異なるゾーンを指定してはいけません。nodename:zonename のペアの同一リストをスケーラブルリソースグループのノードリストとして指定します。

    -h hostnamelist, …

    共有アドレスホスト名をコンマで区切って指定します。

    -X auxnodelist

    共有アドレスをホストできるクラスタノード (ただし、フェイルオーバー時に主ノードとして使用されない) を識別する物理ノード名または ID またはゾーンをコンマで区切って指定します。これらのノードは、リソースグループのノードリストで潜在的マスターとして識別されるノードと相互に排他的です。補助ノードリストが明示的に指定されていない場合、リストのデフォルトは、共有アドレスリソースを含むリソースグループのノードリストには含まれていない、すべてのクラスタノード名のリストになります。


    注 –

    サービスをマスターするために作成されたすべての非大域ゾーン内でスケーラブルサービスを動作させるには、共有アドレスリソースグループのノードリスト、または共有アドレスリソースの auxnodelist にゾーンの完全なリストを含めます。すべてのゾーンがノードリスト内にある場合は、auxnodelist を省略できます。


    -N netiflist

    各ノード上の IP ネットワークマルチパス グループをコンマで区切って指定します (省略可能)。netiflist の各要素は、netif@node の形式にする必要があります。netif は IP ネットワークマルチパス グループ名 (sc_ipmp0 など) として指定できます。ノードは、ノード名またはノード ID (sc_ipmp0@1sc_ipmp@phys-schost-1 など) で識別できます。


    注 –

    Sun Cluster では、 netif にアダプタ名を使用できません。


    network-resource

    リソース名を指定します (省略可能)。

  3. スケーラブルリソースグループを作成します。


    # clresourcegroup create\-p Maximum_primaries=m\-p Desired_primaries=n\
    -n node1,node2,node3\
    -p RG_dependencies=sa-resource-group resource-group-1
    
    -p Maximum_primaries=m

    このリソースグループのアクティブな主ノードの最大数を指定します。

    -p Desired_primaries=n

    リソースグループが起動するアクティブな主ノードの数を指定します。

    resource-group-1

    追加するスケーラブルリソースグループの名前を指定します。任意の名前の先頭文字は ASCII にする必要があります。

  4. HAStoragePlus のリソース hastorageplus-1 を作成し、ファイルシステムのマウントポイントを定義します。


    # clresource create -g resource-group-1 -t SUNW.HAStoragePlus \
    -p FilesystemMountPoints=/global/resource-group-1 hastorageplus-1
    

    リソースは有効状態で作成されます。

  5. アプリケーションのリソースタイプを登録します。


    # clresourcetype register resource-type
    
    resource-type

    追加するリソースタイプの名前を指定します。指定する事前定義済みの名前を判別するには、Sun Cluster のリリースノートを参照してください。

  6. アプリケーションリソースを 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
    
  7. フェイルオーバーリソースグループをオンラインにします。


    # clresourcegroup online sa-resource-group
    
  8. すべてのノード上でスケーラブルリソースグループをオンラインにします。


    # clresourcegroup online resource-group-1
    
  9. 各ノード上 (node1,node2,node3) で zone1 をインストールし、起動します。

  10. 2 つのノード (node1, node2) 上でアプリケーションリソースグループをオフラインにします。


    注 –

    共有アドレスを node3 上でオンラインにします。



    # clresourcegroup switch -n node3 resource-group-1
    
    resource-group-1

    切り替えるリソースグループの名前を指定します。

  11. フェイルオーバーリソースグループの nodelist プロパティーを更新し、ノードリストから削除された対応するノードの非大域ゾーンを含めます。


    # clresourcegroup set -n node1:zone1,node2:zone1,node3 sa-resource-group
    
  12. アプリケーションリソースグループの nodelist プロパティーを更新し、ノードリストから削除された対応するノードの非大域ゾーンを含めます。


    # clresourcegroup set node1:zone1,node2:zone1,node3 resource-group-1
    
  13. 新しく追加されたゾーンでのみ、フェイルオーバーリソースグループとアプリケーションリソースグループをオンラインにします。


    注 –

    両方のリソースグループは、node1:zone1 および node2:zone1 のみでオンラインになります。



    # clresourcegroup switch -n node1:zone1,node2:zone1 sa-resource-group
    

    # clresourcegroup switch -n node1:zone1,node2:zone1 resource-group-1
    
  14. 広域ノード 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
    
  15. すべての非大域ゾーン上で両方のリソースグループをオンラインにします。


    # clresourcegroup switch -n node1:zone1,node2:zone1,node3:zone1 sa-resource-group
    

    # clresourcegroup switch -n node1:zone1,node2:zone1,node3:zone1 resource-group-1