Open HA Cluster インストールガイド

第 3 章 クラスタの確立

この章では、クラスタを確立するための手順について説明します。

この章の内容は、次のとおりです。

新しいクラスタを確立する

この節では、新しいクラスタを確立するための情報および手順について説明します。

Procedureすべてのノードで Open HA Cluster ソフトウェアを構成する (scinstall)

Open HA Cluster ソフトウェアをクラスタの両方のノードで構成するには、クラスタの 1 つのノードからこの手順を実行します。


注 –

この手順では、対話型の scinstall コマンドを使用します。インストールスクリプトを開発するときなど、非対話型の scinstall コマンドを使用する場合は、scinstall(1M) のマニュアルページを参照してください。


始める前に

次の作業を実行します。


注 –

ファイルシステムがグローバルデバイスの場合、lofi デバイスのみを使用します。専用の /globaldevices パーティションを構成しようとしないでください。ファイルシステムを使用または作成することを求めるプロンプトに、すべて「No」と回答します。ファイルシステムを構成することを拒否すると、scinstall ユーティリティーによって lofi デバイスを作成するよう求めるプロンプトが表示されます。


これらのガイドラインに従い、次に示す手順で対話式の scinstall ユーティリティーを使用します。

  1. クラスタに構成する各ノード上で、スーパーユーザーになります。

    または、ユーザーアカウントに「主管理者」プロファイルが割り当てられている場合は、ルートユーザー以外でプロファイルシェルからコマンドを実行するか、またはコマンドの前に pfexec コマンドを付けます。

  2. 各ノード上で、Network Auto-Magic (NWAM) を無効化します。

    NWAM では 1 つのネットワークインタフェースが有効化され、その他は無効化されます。したがって、NWAM は Open HA Cluster 2009.06 ソフトウェアとは共存できないため、クラスタを構成または実行する前に NWAM を無効化する必要があります。

    1. 各クラスタノード上で、NWAM を有効化または無効化するかどうかを決定します。


      phys-schost# svcs -a | grep /network/physical
      
      • NWAM を有効化した場合の出力例は次のとおりです。


         online           Mar_13   svc:/network/physical:nwam
         disabled         Mar_13   svc:/network/physical:default
      • NWAM を無効化した場合の出力例は次のとおりです。


         disabled          Mar_13  svc:/network/physical:nwam
         online            Mar_13  svc:/network/physical:default
    2. ノード上で NWAM が有効化されている場合は、無効化してください。


      phys-schost# svcadm disable svc:/network/physical:nwam
      phys-schost# svcadm enable svc:/network/physical:default
      
  3. 各ノード上で、各パブリックネットワークアダプタを構成します。

    1. どのアダプタをシステムで使用するかを決定します。


      phys-schost# dladm show-link
      
    2. アダプタを Plumb します。


      phys-schost# ifconfig adapter plumb up
      
    3. IP アドレスおよびネットマスクをアダプタに割り当てます。


      phys-schost# ifconfig adapter IPaddress netmask + netmask
      
    4. アダプタが起動していることを確認します。

      コメント出力に UP フラグが含まれていることを確認します。


      phys-schost# ifconfig -a
      
    5. アダプタ用の構成ファイルを作成します。

      このファイルにより、何度リブートしてもアダプタの構成が保持されます。


      phys-schost# vi /etc/hostname.adapter
      IPaddress
      
    6. 両方のノード上のパブリックネットワークアダプタごとに、手順 b手順 e を繰り返します。

    7. 両方のノード上で、各ノードに構成したパブリックネットワークアダプタごとに、/etc/inet/hosts ファイルにエントリを追加します。


      phys-schost# vi /etc/inet/hosts
      hostname IPaddress
      
    8. ネームサービスを使用する場合は、構成した各パブリックネットワークアダプタのホスト名および IP アドレスを追加します。

    9. 各ノードをリブートします。


      phys-schost# /usr/sbin/shutdown -y -g0 -i6
      
    10. すべてのアダプタが構成および起動されていることを確認します。


      phys-schost# ifconfig -a
      
  4. 各ノード上で、対話型 scinstall ユーティリティーを有効化するために最小限必要な RPC サービスを有効化します。

    OpenSolaris ソフトウェアをインストールすると、制限のあるネットワークプロファイルが自動的に構成されます。このプロファイルには制限が多いため、クラスタプライベートネットワークが機能しません。プライベートネットワーク機能を有効化するには、次のコマンドを実行します。


    phys-schost# svccfg
    svc:> select network/rpc/bind
    svc:/network/rpc/bind> setprop config/local_only=false
    svc:/network/rpc/bind> quit
     
    phys-schost# svcadm refresh network/rpc/bind:default
    phys-schost# svcprop network/rpc/bind:default | grep local_only
    

    最後のコマンドの出力は、local_only プロパティーが現在 false に設定されていることを示しているはずです。

    ネットワークサービスの再有効化については、『Solaris 10 5/08 インストールガイド (インストールとアップグレードの計画)』「ネットワークセキュリティーの計画」を参照してください。

  5. 1 つのクラスタノードから scinstall ユーティリティーを開始します。


    phys-schost# /usr/cluster/bin/scinstall
    
  6. 「新しいクラスタの作成またはクラスタノードの追加」というオプションに対応する番号を入力し、Return キーを押します。


     *** Main Menu ***
    
        Please select from one of the following (*) options:
    
          * 1) Create a new cluster or add a cluster node
          * 2) Print release information for this cluster node
     
          * ?) Help with menu options
          * q) Quit
    
        Option:  1
    

    「新しいクラスタとクラスタノード」メニューが表示されます。

  7. 「新しいクラスタの作成」オプションの番号を入力し、Return キーを押します。

    「通常」または「カスタム」モードメニューが表示されます。

  8. 「通常」または「カスタム」のいずれかのオプション番号を入力し、Return キーを押します。

    「新しいクラスタの作成」画面が表示されます。要件を読み、Control-D キーを押して操作を続けます。

  9. メニュープロンプトに従って、 構成計画ワークシートから回答を入力します。

    scinstall ユーティリティーは、すべてのクラスタノードのインストールを行い、クラスタを再起動します。クラスタ内ですべてのノードが正常に起動されると、クラスタが確立されます。Open HA Cluster のインストール出力は、/var/cluster/logs/install/scinstall.log.N に記録されます。

  10. 各ノードでサービス管理機能 (Service Management Facility、SMF) のマルチユーザーサービスがオンラインになっていることを確認します。

    ノードのサービスがまだオンラインでない場合は、次のステップに進む前に状態がオンラインになるまで待ちます。


    phys-schost# svcs multi-user-server
    STATE          STIME    FMRI
    online         17:52:55 svc:/milestone/multi-user-server:default
  11. 1 つのノードから、すべてのノードでクラスタが結合されたことを確認します。


    phys-schost# /usr/cluster/bin/clnode status
    

    出力は次のようになります。


    === Cluster Nodes ===
    
    --- Node Status ---
    
    Node Name                                       Status
    ---------                                       ------
    phys-schost-1                                   Online
    phys-schost-2                                   Online

    詳細は、clnode(1CL) のマニュアルページを参照してください。

  12. (省略可能) ノードの自動再起動機能を有効化します。

    クラスタ内の異なるノードから 1 つ以上のディスクにアクセスできる場合、すべての監視対象ディスクパスに障害が発生すると、この機能により自動的にノードが再起動されます。

    1. 自動リブートを有効化します。


      phys-schost# /usr/cluster/bin/clnode set -p reboot_on_path_failure=enabled
      
      -p

      設定するプロパティーを指定します。

      reboot_on_path_failure=enable

      すべての監視対象ディスクパスで障害が発生すると、ノードの自動リブートが有効になります。

    2. ディスクパスの障害発生時の自動リブートが有効になっていることを確認します。


      phys-schost# /usr/cluster/bin/clnode show
      === Cluster Nodes ===                          
      
      Node Name:                                      node
      …
        reboot_on_path_failure:                          enabled
      …
  13. 高可用ローカルファイルシステムで HA for NFS データサービスを使用する場合は、ループバックファイルシステム (Loopback File System、LOFS) が無効になっている必要があります。

    LOFS を無効にするには、クラスタの各ノードの/etc/system ファイルに次のエントリを追加します。


    exclude:lofs

    /etc/system ファイルへの変更は、次のシステム再起動後に有効になります。


    注 –

    高可用ローカルファイルシステムで HA for NFS データサービスを使用し、かつ automountd を実行している場合は、LOFS を有効にすることはできません。LOFS では、HA for NFS データサービスのスイッチオーバーに問題が発生する可能性があります。高可用ローカルファイルシステムに HA for NFS データサービスを追加することを選択する場合は、次のいずれかの構成の変更を行う必要があります。

    • LOFS を無効にします。

    • automountd デーモンを無効にします。

    • HA for NFS データサービスからエクスポートされた高可用ローカルファイルシステムに含まれるすべてのファイルをオートマウンタマップから除外します。この選択により、LOFS と automountd デーモンの両方を有効なままにすることができます。


    ループバックファイルシステムについては、『Solaris のシステム管理 (デバイスとファイルシステム)』「ループバックファイルシステム」を参照してください。


例 3–1 すべてのノードでの Open HA Cluster ソフトウェアの構成

ここでは、scinstall を使用して 2 ノードクラスタ schost で構成作業を完了したときに、ログに記録される scinstall 進行状況メッセージの例を示します。このクラスタは、「通常」モードで、scinstall ユーティリティーを使用することによって、phys-schost-1 からインストールされます。もう一つのクラスタノードは、phys-schost-2 です。アダプタ名は e1000g0 です。/globaldevices パーティションが存在しないため、グローバルデバイス名前空間が lofi デバイスに作成されます。定足数デバイスの自動選択は使用されません。


*** Create a New Cluster ***
Tue Apr 14 10:36:19 PDT 2009

    Attempting to contact "phys-schost-1" ... 

    Searching for a remote configuration method ... 

scrcmd -N phys-schost-1 test isfullyinstalled
The Sun Cluster framework software is installed.
scrcmd to "phys-schost-1" - return status 1.

rsh phys-schost-1 -n "/bin/sh -c '/bin/true; /bin/echo SC_COMMAND_STATUS=\$?'"
phys-schost-1: Connection refused
rsh to "phys-schost-1" failed.

ssh root@phys-schost-1 -o "BatchMode yes" -o "StrictHostKeyChecking yes" 
-n "/bin/sh -c '/bin/true; /bin/echo SC_COMMAND_STATUS=\$?'"
No RSA host key is known for phys-schost-1 and you have requested strict checking.
Host key verification failed.
ssh to "phys-schost-1" failed.

    The Sun Cluster framework is able to complete the configuration 
    process without remote shell access.


    Checking the status of service network/physical:nwam ... 


/usr/cluster/lib/scadmin/lib/cmd_test isnwamenabled

scrcmd -N phys-schost-1 test isnwamenabled
    Plumbing network address 172.16.0.0 on adapter e1000g0 >> NOT DUPLICATE ... done
    Plumbing network address 172.16.0.0 on adapter e1000g0 >> NOT DUPLICATE ... done
    Testing for "/globaldevices" on "phys-schost-2" ... 

/globaldevices is not a directory or file system mount point.
Cannot use "/globaldevices" on "phys-schost-2".


    Testing for "/globaldevices" on "phys-schost-1" ... 

scrcmd -N phys-schost-1 chk_globaldev fs /globaldevices
/globaldevices is not a directory or file system mount point.


/globaldevices is not a directory or file system mount point.
Cannot use "/globaldevices" on "phys-schost-1".


scrcmd -N phys-schost-1 chk_globaldev lofi /.globaldevices 100m

----------------------------------
- Cluster Creation -
----------------------------------

    Started cluster check on "phys-schost-2".
    Started cluster check on "phys-schost-1".

    cluster check completed with no errors or warnings for "phys-schost-2".
    cluster check completed with no errors or warnings for "phys-schost-1".

Cluster check report is displayed
…

scrcmd -N phys-schost-1 test isinstalling
"" is not running.

scrcmd -N phys-schost-1 test isconfigured
Sun Cluster is not configured.

    Configuring "phys-schost-1" ... 

scrcmd -N phys-schost-1 install -logfile /var/cluster/logs/install/scinstall.log.2895 
-k -C schost -F -G lofi -T node=phys-schost-2,node=phys-schost-1,authtype=sys 
-w netaddr=172.16.0.0,netmask=255.255.240.0,maxnodes=64,maxprivatenets=10,
numvirtualclusters=12 -A trtype=dlpi,name=e1000g0 -B type=direct
ips_package_processing: ips_postinstall...
ips_package_processing: ips_postinstall done

Initializing cluster name to "schost" ... done
Initializing authentication options ... done
Initializing configuration for adapter "e1000g0" ... done
Initializing private network address options ... done

Plumbing network address 172.16.0.0 on adapter e1000g0 >> NOT DUPLICATE ... done

Setting the node ID for "phys-schost-1" ... done (id=1)

Verifying that NTP is configured ... done
Initializing NTP configuration ... done

Updating nsswitch.conf ... done

Adding cluster node entries to /etc/inet/hosts ... done


Configuring IP multipathing groups ...done


Verifying that power management is NOT configured ... done
Unconfiguring power management ... done
/etc/power.conf has been renamed to /etc/power.conf.041409104821
Power management is incompatible with the HA goals of the cluster.
Please do not attempt to re-configure power management.

Ensure network routing is disabled ... done
Network routing has been disabled on this node by creating /etc/notrouter.
Having a cluster node act as a router is not supported by Sun Cluster.
Please do not re-enable network routing.

Please reboot this machine.

Log file - /var/cluster/logs/install/scinstall.log.2895

scrcmd -N phys-schost-1 test hasbooted
This node has not yet been booted as a cluster node.
    Rebooting "phys-schost-1" ... 

注意事項

構成の失敗 – 1 つまたは複数のノードがクラスタに参加できない場合、または誤った構成情報が指定された場合は、まずこの手順をもう一度実行してみてください。それでも問題が修正されない場合は、誤った構成の各ノードで 「Open HA Cluster ソフトウェアをアンインストールする」の手順を実行して、クラスタ構成からそのノードを削除します。それから、この手順をもう一度実行します。

次の手順

クラスタに定足数デバイスを構成しなかった場合は、「定足数デバイスを構成する」に進みます。

それ以外の場合は、「定足数構成とインストールモードを確認する」に進みます。

Procedure定足数デバイスを構成する


注 –

クラスタを確立したときに定足数の自動構成を選択した場合は、次の手順を実行しないでください。代わりに、「定足数構成とインストールモードを確認する」に進みます。


次の手順は、新しいクラスタが完全に形成された後に一度だけ実行します。この手順で定足数投票を割り当て、クラスタのインストールモードを解除します。

始める前に

定足数サーバーを定足数デバイスとして構成する場合は、次の手順を実行します。

  1. 定足数サーバーを使用し、パブリックネットワークでクラスレスドメイン間サブネット (Classless Inter-Domain Subnetting、CIDS) とも呼ばれる可変長のサブネットが使用される場合、クラスタの各ノード上で、パブリックネットワーク用のネットワークファイルエントリを変更します。

    クラスフルサブネットを使用する場合は、RFC 791 で定義されいるように、この手順を実行する必要はありません。

    1. /etc/inet/netmasks ファイルにクラスタが使用する各パブリックサブネットのエントリを追加します。

      パブリックネットワークの IP アドレスとネットマスクを含むエントリ例は、次のとおりです。


      10.11.30.0	255.255.255.0
    2. それぞれの /etc/hostname.adapter ファイルに netmask + broadcast + を追加します。


      nodename netmask + broadcast +
      
  2. 1 つのノードで、スーパーユーザーになります。

    または、ユーザーアカウントに「主管理者」プロファイルが割り当てられている場合は、ルートユーザー以外でプロファイルシェルからコマンドを実行するか、またはコマンドの前に pfexec コマンドを付けます。

  3. 共有ディスクを定足数デバイスとして使用するには、デバイスのクラスタノードへの接続を確認し、構成するデバイスを選択します。

    1. クラスタの 1 つのノードから、システムがチェックするすべてのデバイスの一覧を表示します。

      このコマンドを実行するために、スーパーユーザーとしてログインする必要はありません。


      phys-schost-1# /usr/cluster/bin/cldevice list -v
      

      出力は次のようになります。


      DID Device          Full Device Path
      ----------          ----------------
      d1                  phys-schost-1:/dev/rdsk/c0t0d0
      d2                  phys-schost-1:/dev/rdsk/c0t6d0
      d3                  phys-schost-2:/dev/rdsk/c1t1d0
      d3                  phys-schost-1:/dev/rdsk/c1t1d0
      …
    2. 出力にクラスタノードとストレージデバイス間のすべての接続が表示されていることを確認します。

    3. 定足数デバイスとして構成する各共有ディスクのグローバルデバイス ID 名を決定します。


      注 –

      共有ディスクを選択した場合は、その共有ディスクが定足数デバイスとして使用する権限を持つ必要があります。


      手順 ascdidadm コマンドの出力を使用して、定足数デバイスとして構成する各共有ディスクのデバイス ID 名を識別します。たとえば、手順 a の出力はグローバルデバイス d3phys-schost-1phys-schost-2 によって共有されていることを示しています。

  4. SCSI プロトコルをサポートしない共有ディスクを使用する場合は、その共有ディスクに対してフェンシングが無効になっているか確認してください。

    1. 個々のディスクのフェンシング設定が表示されます。


      phys-schost# /usr/cluster/bin/cldevice show device
      
      === DID Device Instances ===
      DID Device Name:                                      /dev/did/rdsk/dN
      …
        default_fencing:                                     nofencing
      • ディスクのフェンシングが nofencing または nofencing-noscrub に設定されている場合は、そのディスクのフェンシングは無効化されます。手順 5 に進みます。

      • ディスクのフェンシングが pathcount または scsi に設定されている場合は、そのディスクのフェンシングを無効化します。手順 c に進みます。

      • ディスクのフェンシングが global に設定されている場合は、フェンシングもグローバルに無効化するかどうかを決定します。手順 b に進みます。

        代わりに、単に各ディスクのフェンシングを無効化することもできます。これにより、global_fencing プロパティーにどのような値を設定しても、そのディスクのフェンシングが上書きされます。手順 c に進んで、各ディスクのフェンシングを無効化します。

    2. フェンシングをグローバルに無効化するかどうかを決定します。


      phys-schost# /usr/cluster/bin/cluster show -t global
      
      === Cluster ===
      Cluster name:                                         cluster
      …
         global_fencing:                                      nofencing
      • グローバルフェンシングが nofencing または nofencing-noscrub に設定されている場合は、default_fencing プロパティーが global に設定されている共有ディスクのフェンシングが無効化されます。手順 5 に進みます。

      • グローバルフェンシングが pathcount または prefer3 に設定されている場合は、共有ディスクのフェンシングを無効化します。手順 c に進みます。


      注 –

      各ディスクの default_fencing プロパティーが global に設定されている場合は、クラスタ全体の global_fencing プロパティーが nofencing または nofencing-noscrub に設定されている場合にのみ、各ディスクのフェンシングが無効化されます。global_fencing プロパティーをフェンシングを有効化する値に変更すると、default_fencing プロパティーが global に設定されているすべてのディスクのフェンシングが有効化されます。


    3. 共有ディスクのフェンシングを無効化します。


      phys-schost# /usr/cluster/bin/cldevice set \
      -p default_fencing=nofencing-noscrub device
      
    4. 共有ディスクのフェンシングが無効になっていることを確認します。


      phys-schost# /usr/cluster/bin/cldevice show device
      
  5. clsetup ユーティリティーを起動します。


    phys-schost# /usr/cluster/bin/clsetup
    

    「初期クラスタ設定」画面が表示されます。


    注 –

    代わりに「メインメニュー」が表示された場合は、クラスタの初期設定はすでに正しく行われています。手順 10 に進みます。


  6. 定足数ディスクを追加しますか ?」というプロンプトで、Yes と入力します。

  7. 定足数デバイスとして構成するデバイスの種類を指定します。


    注 –

    NAS デバイスは、Open HA Cluster 2009.06 構成の定足数デバイスでサポートされていないオプションです。次の表の NAS デバイスは、情報を得る目的でのみ参照してください。


    定足数デバイスの種類 

    説明 

    shared_disk

    Sun NAS デバイスまたは共有ディスク 

    quorum_server

    定足数サーバー 

    netapp_nas

    ネットワークアプライアンス NAS デバイス 

  8. 定足数デバイスとして構成するデバイスの名前を指定します。

    定足数サーバーの場合、次の情報も指定します。

    • 定足数サーバーのホストコンピュータの IP アドレス

    • クラスタノードとやり取りする際に定足数サーバーが使用するポート番号

  9. 「「Install mode」をリセットしますか?」というプロンプトで、「Yes」を入力します。

    clsetup ユーティリティーによって、クラスタの定足数構成と投票数が設定されたあと、「クラスタの初期化は完了しました。」というメッセージが表示されます。ユーティリティーは、「メインメニュー」に戻ります。

  10. clsetup ユーティリティーを終了します。

次の手順

定足数構成とインストールモードが無効になっていることを確認します。「定足数構成とインストールモードを確認する」に進みます。

注意事項

中断された clsetup 処理 - 定足数設定プロセスが中断されるか、完了に失敗した場合は、clsetup をもう一度実行してください。

Procedure定足数構成とインストールモードを確認する

この手順で、定足数構成が正常に完了し、クラスタのインストールモードが無効になったことを確認します。

これらのコマンドを実行するために、スーパーユーザーである必要はありません。

  1. 任意のノードから、デバイスとノードの定足数構成を確認します。


    phys-schost% /usr/cluster/bin/clquorum list
    

    出力には、各定足数デバイス、メンバーシップ (使用する場合)、および各ノードが一覧表示されます。

  2. 任意のノードから、クラスタのインストールモードが無効になっていることを確認します。


    phys-schost% /usr/cluster/bin/cluster show -t global | grep installmode
      installmode:                                    disabled

    クラスタのインストールと作成が完了しました。

次の手順

COMSTAR iSCSI ストレージを使用するフェイルオーバー ZFS ファイルシステムを構成する場合は、次の手順のいずれかに進みます。

IP セキュリティーアーキテクチャー (IPsec) を使用してクラスタインターコネクト上の TCP/IP 通信を保護する場合は、「クラスタプライベートインターコネクト上で IP セキュリティーアーキテクチャー (IPSec) を構成する」に進みます。

その他の場合は、クラスタで実行するデータサービスを構成します。「データサービスの構成」に進みます。

ProcedureCOMSTAR および単一のパスを使用して iSCSI ストレージを構成する

この手順を実行して、ローカルに接続されているストレージ上の OpenSolaris Common Multiprotocol SCSI TARget (COMSTAR) を、複数のクラスタノード間でアクセスを共有するように構成します。この手順では、iSCSI イニシエータと iSCSI ターゲット間で単一のパスを使用します。また、ミラー化された ZFS ストレージプールの可用性が高くなるように構成します。


注 –

iSCSI イニシエータと iSCSI ターゲット間で複数のパスを使用する場合は、「COMSTAR および複数のパスを使用して iSCSI ストレージを構成する」に進みます。


始める前に

ストレージ構成が Open HA Cluster 2009.06 の要件を満たしていることを確認します。「iSCSI ストレージ」を参照してください。

  1. 各ノードで、次の表に記載されている「Configuring an iSCSI Storage Array With COMSTAR (Task Map)」の必須手順を実行します (「Special Instructions」を参照してください)。

    作業 

    マニュアル 

    特別な指示 

    1. 基本設定を実行します。 

    Getting Started with COMSTAR

    SCSI 論理ユニットを作成するには、「How to Create a Disk Partition SCSI Logical Unit」の手順を実行します。

    ディスクスライスではなくディスク全体を sbdadm create-lu コマンドに指定した場合は、あとで cldevice clear コマンドを実行して DID 名前空間を消去します。

    2. iSCSI ターゲットポートを構成します。 

    How to Configure iSCSI Target Ports

    各ノード上のプライベートネットワークアダプタごとに、ターゲットを作成します。 

    3. iSCSI ターゲットを構成します。 

    How to Configure an iSCSI Target for Discovery

    静的検出と SendTargets のいずれかを使用します。動的検出は使用しないでください。 

    4. 論理ユニットを利用可能にします。 

    How to Make Logical Units Available for iSCSI and iSER

     

    5. イニシエータシステムをターゲットストレージにアクセスするように構成します。 

    How to Configure an iSCSI Initiator

    • ノードの clprivnet IP アドレスをターゲットシステムとして指定します。clprivnet インタフェースの IP アドレスを確認するには、次のコマンドを実行します。次に出力例を示します。


      phys-schost# ifconfig clprivnet0
          clprivnet0:
          flags=1009843<UP,BROADCAST,RUNNING,MULTICAST,\
          MULTI_BCAST,PRIVATE,IPv4>
          mtu 1500 index 5
          inet 172.16.4.1 netmask fffffe00 broadcast \
          172.16.5.255
          ether 0:0:0:0:0:1 
    • 完了したら、各ノード上でグローバルデバイス名前空間を更新および生成します。


      phys-schost# scdidadm -r
      phys-schost# cldevice populate
      

  2. 新たに作成された各デバイスのフェンシングを無効化します。


    phys-schost# /usr/cluster/bin/cldevice set -p default_fencing=nofencing-noscrub device
    

    または、クラスタ内のすべてのデバイスのフェンシングをグローバルに無効化します。この手順は、クラスタ内に定足数デバイスとして使用されている共有デバイスがない場合に実行します。


    phys-schost# /usr/cluster/bin/cluster set -p global_fencing=nofencing-noscrub
    
  3. クラスタ内のデバイスの DID マッピングを一覧表示します。

    出力例は次のとおりです。各ノードから各デバイスへのパスが表示されます。


    phys-schost# /usr/cluster/bin/cldevice list -v
    DID Device          Full Device Path
    ----------          ----------------
    …
    d3                  phys-schost-1:/dev/rdsk/c14t1d0s4
    d3                  phys-schost-2:/dev/rdsk/c14t1d0s4
    d4                  phys-schost-1:/dev/rdsk/c15t8d0s4
    d4                  phys-schost-2:/dev/rdsk/c15t8d0s4
    …
  4. 1 つのノードから、各ノード上に作成した DID デバイスからミラー化された ZFS ストレージプールを作成します。

    デバイスパス名の場合は、/dev/did/dsk/、DID デバイス名、およびスライス s2 を結合します。


    phys-schost# zpool create pool mirror /dev/did/dsk/dNs2 /dev/did/dsk/dYs2
    
  5. ミラー化された ZFS ストレージプールを HAStoragePlus リソースとして構成します。


    phys-schost# /usr/cluster/bin/clresourcegroup resourcegroup
    phys-schost# /usr/cluster/bin/clresourcetype register HAStoragePlus
    phys-schost# /usr/cluster/bin/clresource create -g resourcegroup -t HASToragePlus \
    -p Zpools=pool resource
    phys-schost# /usr/cluster/bin/clresourcegroup manage resourcegroup
    phys-schost# /usr/cluster/bin/clresourcegroup online resourcegroup
    

例 3–2 COMSTAR および単一のパスを使用した iSCSI ストレージの構成

この例は、COMSTAR ベースの iSCSI ストレージよびミラー化された ZFS ストレージプール (zpool-1) の構成に関する手順を示しています。ノード phys-schost-1 にローカル接続されたディスクは /dev/rdsk/c1t0d0s4 であり、phys-schost-2 に接続されたディスクは /dev/rdsk/c1t8d0s4 です。clprivnet0 インタフェースの IP アドレスは 172.16.4.1 です。

iSCSI ターゲットの動的検出が構成されます。iSCSI イニシエータおよびターゲットを構成するために phys-schost-1 で実行された手順は、phys-schost-2 でも実行されます。devfsadm コマンドにより iSCSI ターゲットとしてディスクが追加されると、イニシエータ側の /dev/rdsk/c1t0d0s4/dev/rdsk/c14t0d0s4 になり、/dev/rdsk/c1t8d0s4/dev/rdsk/c15t8d0s4 になります。

クラスタでは共有ディスクは使用されないため、クラスタ内のすべてのディスクのフェンシングはグローバルにオフになります。リソースグループ rg-1 は、hasp-rs という HAStoragePlus リソース、および zpool-1 というミラー化された ZFS ストレージプールと共に構成されます。


Enable and verify the STMF service
phys-schost-1# svcadm enable stmf
phys-schost-1# svcs stmf
online    15:59:53 svc:/system/stmf:default
Repeat on phys-schost-2

Create and verify disk-partition SCSI logical units on each node
phys-schost-1# sbdadm create-lu /dev/rdsk/c1t0d0s4
Created the following LU:

              GUID                    DATA SIZE           SOURCE
--------------------------------  -------------------  ------------------
600144f05b4c460000004a1d9dd00001      73407800320      /dev/rdsk/c1t0d0s4
root@phys-schost-1:#
-------------------------

phys-schost-2# sbdadm create-lu /dev/rdsk/c1t8d0s4
Created the following LU:

              GUID                    DATA SIZE           SOURCE
--------------------------------  -------------------  ------------------
600144f07d15cd0000004a202e340001      73407800320      /dev/rdsk/c1t8d0s4
root@phys-schost-2:#
-------------------------

Enable the iSCSI target SMF service
phys-schost-1# svcadm enable -r svc:/network/iscsi/target:default
phys-schost-1# svcs -a | grep iscsi
online  14:21:25 svc:/network/iscsi/target:default
Repeat on phys-schost-2

Configure each iSCSI target for static discovery
phys-schost-1# itadm create-target
Target: iqn.1986-03.com.sun:02:97c1caa8-5732-ec53-b7a2-a722a946fead
successfully created
phys-schost-1# itadm list-target
TARGET NAME                                                  STATE   SESSIONS
iqn.1986-03.com.sun:02:97c1caa8-5732-ec53-b7a2-a722a946fead  online  0
Repeat on phys-schost-2 for the other iSCSI target

Make the logical units available
phys-schost-1# sbdadm list-lu
phys-schost-1# stmfadm add-view 600144f05b4c460000004a1d9dd00001
Repeat on phys-schost-2 for the other logical unit's GUID

Configure iSCSI initiators to access target storage
phys-schost-1# iscsiadm modify discovery --static enable
phys-schost-1# iscsiadm list discovery
Discovery:
Static: enabled
Send Targets: disabled
iSNS: disabled
phys-schost-1# ifconfig clprivnet0
    clprivnet0:
…
    inet 172.16.4.1 netmask fffffe00 broadcast 172.16.5.255
…
phys-schost-1# iscsiadm add static-config \
iqn.1986-03.com.sun:02:97c1caa8-5732-ec53-b7a2-a722a946fead,172.16.4.1
phys-schost-1# iscsiadm list static-config
Static Configuration Target:
iqn.1986-03.com.sun:02:97c1caa8-5732-ec53-b7a2-a722a946fead,172.16.4.1:3260
phys-schost-1# devfsadm -i iscsi
phys-schost-1# format -e
phys-schost-1# iscsiadm list target
Target: iqn.1986-03.com.sun:02:97c1caa8-5732-ec53-b7a2-a722a946fead
        Alias: -
        TPGT: 1
        ISID: 4000002a0000
        Connections: 1
Repeat on phys-schost-2 for this target
Repeat on both nodes for the other target

Update and populate the global-devices namespace on each node
phys-schost-1# scdidadm -r
phys-schost-1# cldevice populate
Repeat on phys-schost-2

Disable fencing for all disks in the cluster
phys-schost-1# /usr/cluster/bin/cluster set -p global_fencing=nofencing-noscrub

Create a mirrored ZFS storage pool
phys-schost-1/usr/cluster/bin/cldevice list -v
DID Device          Full Device Path
----------          ----------------
…
d3                  phys-schost-1:/dev/rdsk/c14t0d0s4
d3                  phys-schost-2:/dev/rdsk/c14t0d0s4
d4                  phys-schost-1:/dev/rdsk/c15t8d0s4
d4                  phys-schost-2:/dev/rdsk/c15t8d0s4
…
phys-schost-1# zpool create zpool-1 mirror /dev/did/dsk/d3s2 /dev/did/dsk/d4s2

Configure the mirrored ZFS storage pool as an HAStoragePlus resource
phys-schost# /usr/cluster/bin/clresourcegroup rg-1
phys-schost# /usr/cluster/bin/clresourcetype register HAStoragePlus
phys-schost# /usr/cluster/bin/clresource create -g rg-1 -t HAStoragePlus \
-p Zpools=zpool-1 hasp-rs
phys-schost# /usr/cluster/bin/clresourcegroup manage rg-1
phys-schost# /usr/cluster/bin/clresourcegroup online rg-1

次の手順

IP セキュリティーアーキテクチャー (IPsec) を使用してクラスタインターコネクト上の TCP/IP 通信を保護する場合は、「クラスタプライベートインターコネクト上で IP セキュリティーアーキテクチャー (IPSec) を構成する」に進みます。

その他の場合は、クラスタで実行するデータサービスを構成します。「データサービスの構成」に進みます。

ProcedureCOMSTAR および複数のパスを使用して iSCSI ストレージを構成する

この手順を実行して、ローカルに接続されているストレージ上の OpenSolaris Common Multiprotocol SCSI TARget (COMSTAR) を、複数のクラスタノード間でアクセスを共有するように構成します。この手順では、iSCSI イニシエータと iSCSI ターゲット間で複数のパスを使用します。また、ミラー化された ZFS ストレージプールの可用性が高くなるように構成します。この手順では、オプションで I/O マルチパス機能 (MPxIO) を構成します。


注 –

iSCSI イニシエータと iSCSI ターゲット間で単一のパスを使用する場合は、「COMSTAR および単一のパスを使用して iSCSI ストレージを構成する」に進みます。


始める前に

ストレージ構成が Open HA Cluster 2009.06 の要件を満たしていることを確認します。「iSCSI ストレージ」を参照してください。

  1. (省略可能) I/O マルチパス (MPxIO) を使用する場合は、各ノード上で、iSCSI で I/O マルチパス機能が有効化されていることを確認してください。

    この機能は、mpxio-disable プロパティーが no に設定されている場合に有効化されます。


    phys-schost# cat /kernel/drv/iscsi.conf
    …
    mpxio-disable="no";

    I/O マルチパスについては、『Solaris Fibre Channel Storage Configuration and Multipathing Support Guide』を参照してください。

  2. プライベートインターコネクトで使用される各アダプタの IP アドレスを決定します。

    これらのアドレスは、あとで iSCSI ターゲットポートを作成するときに指定します。次に出力例を示します。


    phys-schost# /usr/cluster/bin/clinterconnect status
    === Cluster Transport Paths ===
    
    Endpoint1               Endpoint2               Status
    ---------               ---------               ------
    phys-schost-1:adapter1    phys-schost-2:adapter1    Path online
    phys-schost-1:adapter2    phys-schost-2:adapter2    Path online
    
    phys-schost# ifconfig adapter1
    nge1: flags=201008843<UP,BROADCAST,RUNNING,MULTICAST,PRIVATE,IPv4,CoS> mtu
    1500 index 3
            inet 172.16.1.1 netmask ffffff80 broadcast 172.16.1.127
            ether 0:14:4f:8d:9b:3 
    phys-schost# ifconfig adapter2
    e1000g1: flags=201008843<UP,BROADCAST,RUNNING,MULTICAST,PRIVATE,IPv4,CoS>
    mtu 1500 index 4
            inet 172.16.0.129 netmask ffffff80 broadcast 172.16.0.255
            ether 0:15:17:35:9b:a1 
  3. 各ノード上で、「Configuring an iSCSI Storage Array With COMSTAR (Task Map)」に記載されている手順を実行します。

    Open HA Cluster 2009.06 構成で COMSTAR iSCSI ターゲットを構成するときは、次の追加指示を参照してください。

    作業 

    マニュアル 

    特別な指示 

    1. 基本設定を実行します。 

    Getting Started with COMSTAR

    SCSI 論理ユニットを作成するには、「How to Create a Disk Partition SCSI Logical Unit」の手順を実行します。

    ディスクスライスではなくディスク全体を sbdadm create-lu コマンドに指定した場合は、あとで cldevice clear コマンドを実行して DID 名前空間を消去します。

    2. iSCSI ターゲットポートを構成します。 

    How to Configure iSCSI Target Ports

    各ノード上のプライベートネットワークアダプタごとに、ターゲットを作成します。 

    3. iSCSI ターゲットを構成します。 

    How to Configure an iSCSI Target for Discovery

    静的検出と SendTargets のいずれかを使用します。動的検出は使用しないでください。 

    4. 論理ユニットを利用可能にします。 

    How to Make Logical Units Available for iSCSI and iSER

     

    5. イニシエータシステムをターゲットストレージにアクセスするように構成します。 

    How to Configure an iSCSI Initiator

    • ノードの clprivnet IP アドレスをターゲットシステムとして指定します。clprivnet インタフェースの IP アドレスを確認するには、次のコマンドを実行します。次に出力例を示します。


      phys-schost# ifconfig clprivnet0
          clprivnet0:
          flags=1009843<UP,BROADCAST,RUNNING,MULTICAST,\
          MULTI_BCAST,PRIVATE,IPv4>
          mtu 1500 index 5
          inet 172.16.4.1 netmask fffffe00 broadcast \
          172.16.5.255
          ether 0:0:0:0:0:1 
    • 完了したら、各ノード上でグローバルデバイス名前空間を更新および生成します。


      phys-schost# scdidadm -r
      phys-schost# cldevice populate
      

  4. 新たに作成された各デバイスのフェンシングを無効化します。


    phys-schost# /usr/cluster/bin/cldevice set -p default_fencing=nofencing-noscrub device
    
  5. 1 つのノードから、各ノード上に作成した DID デバイスからミラー化された ZFS ストレージプールを作成します。


    phys-schost# zpool create pool mirror /dev/did/dsk/dNsX /dev/did/dsk/dYsX
    
  6. 1 つのノードから、ミラー化された ZFS ストレージプールを HAStoragePlus リソースとして構成します。


    phys-schost# /usr/cluster/bin/clresourcegroup resourcegroup
    phys-schost# /usr/cluster/bin/clresourcetype register HAStoragePlus
    phys-schost# /usr/cluster/bin/clresource create -g resourcegroup -t HASToragePlus  \
    -p Zpools=pool resource
    phys-schost# /usr/cluster/bin/clresourcegroup manage resourcegroup
    phys-schost# /usr/cluster/bin/clresourcegroup online resourcegroup
    
次の手順

IP セキュリティーアーキテクチャー (IP Security Architecture、IPsec) を使用してクラスタインターコネクト上の TCP/IP 通信を保護する場合は、「クラスタプライベートインターコネクト上で IP セキュリティーアーキテクチャー (IPSec) を構成する」に進みます。

その他の場合は、クラスタで実行するデータサービスを構成します。「データサービスの構成」に進みます。

Procedureクラスタプライベートインターコネクト上で IP セキュリティーアーキテクチャー (IPSec) を構成する

クラスタインターコネクト上で安全な通信を提供するため、プライベートインターコネクトインタフェースに対して IP セキュリティーアーキテクチャー (IPsec) を構成できます。

IPsec の詳細については、『Solaris のシステム管理 (IP サービス)』のパート IV「IP セキュリティー」と、ipsecconf(1M)のマニュアルページを参照してください。clprivnet インタフェースの詳細については、clprivnet(7)のマニュアルページを参照してください。

IPsec を構成するクラスタノードごとに、この手順を実行します。

  1. スーパーユーザーになります。

    または、ユーザーアカウントに「主管理者」プロファイルが割り当てられている場合は、ルートユーザー以外でプロファイルシェルからコマンドを実行するか、またはコマンドの前に pfexec コマンドを付けます。

  2. 各ノードで、clprivnet インタフェースの IP アドレスを決定します。


    phys-schost# ifconfig clprivnet0
    
  3. 仮想 NIC (Virtual NIC、VNIC) を使用して、パブリックネットワーク上のプライベートインターコネクト通信をルーティングする場合は、VNIC で使用される物理インタフェースの IP アドレスも決定します。

    1. クラスタ内のすべてのトランスポートパスのステータスおよび使用される物理インタフェースを表示します。

      次に出力例を示します。


      phys-schost# /usr/cluster/bin/clinterconnect status
      -- Cluster Transport Paths --
      
                         Endpoint                Endpoint                Status
                         --------                --------                ------
        Transport path:  phys-schost-1:adapter1  phys-schost-2:adapter1  Path online
        Transport path:  phys-schost-1:adapter2  phys-schost-2:adapter2  Path online
    2. 各ノードで使用される各インタフェースの IP アドレスを特定します。


      phys-schost-1# ifconfig adapter
      phys-schost-2# ifconfig adapter
      
  4. 各ノード上で、 /etc/inet/ipsecinit.conf ポリシーファイルを構成し、IPsec を使用するプライベートインターコネクトの IP アドレスの各ペア間にセキュリティーアソシエーション (Security Association、SA) を追加します。

    『Solaris のシステム管理 (IP サービス)』「IPsec で 2 つのシステム間のトラフィックを保護するには」の手順に従ってください。それに加えて、次のガイドラインも参照してください。

    • 対象アドレスの構成パラメータの値が、すべてのパートナーノードで一貫性があることを確認します。

    • 構成ファイルで、独立した行として各ポリシーを構成します。

    • 再起動せずに IPsec を実装するには、「リブートせずに IPsec でトラフィックを保護する」の手順例に従ってください。

    sa unique ポリシーの詳細については、ipsecconf(1M)マニュアルページを参照してください。

    1. 各ファイルで、IPsec を使用するクラスタ内の各 clprivnet の IP アドレスにエントリを 1 つ追加します。

      ローカルノードの clprivnet プライベートインターコネクトの IP アドレスを追加します。

    2. VNIC を使用する場合は、VNIC で使用される各物理インタフェースの IP アドレスにもエントリを 1 つ追加します。

    3. (省略可能) すべてのリンク上でデータのストライプ化を有効にするため、エントリに sa unique ポリシーを含めます。

      この機能を使用すると、ドライバはクラスタプライベートネットワークの帯域を最適に利用することができるようになるため、高い分散粒度が実現し、スループットも向上します。プライベートインターコネクトインタフェースは、トラフィックをストライプ化するため、パケットのセキュリティーパラメータインデックス (Security Parameter Index、SPI) を使用します。

  5. 各ノード上で /etc/inet/ike/config ファイルを編集して、p2_idletime_secs パラメータを設定します。

    クラスタトランスポート用に構成されたポリシールールに、このエントリを追加します。この設定により、クラスタノードを再起動したときに再生成されるセキュリティーアソシエーションの時間が指定され、再起動したノードがクラスタを再結合できる速度が制限されます。値は 30 秒が適切です。


    phys-schost# vi /etc/inet/ike/config
    …
    {
        label "clust-priv-interconnect1-clust-priv-interconnect2"
    …
    p2_idletime_secs 30
    }
    …
次の手順

クラスタで実行するデータサービスを構成します。「データサービスの構成」に進みます。

データサービスの構成

この節では、Open HA Cluster 2009.06 ソフトウェアでサポートされているデータサービスを構成するための情報を提供します。

次の表は、サポートされている各データサービスをインストールおよび構成するための情報がある場所を一覧表示しています。これらの手順を使用して、Open HA Cluster 2009.06 リリース用のデータサービスを構成します (次の変更点を除く)。

データサービス 

マニュアル 

Data Service for Apache 

『Sun Cluster Data Service for Apache Guide for Solaris OS 』

Data Service for Apache Tomcat 

『Sun Cluster Data Service for Apache Tomcat Guide for Solaris OS』

Data Service for DHCP 

『Sun Cluster Data Service for DHCP Guide for Solaris OS』

Data Service for DNS 

『Sun Cluster Data Service for DNS Guide for Solaris OS』

Data Service for Glassfish 

『Sun Cluster Data Service for Sun Java System Application Server Guide for Solaris OS』

Data Service for Kerberos 

『Sun Cluster Data Service for Kerberos Guide for Solaris OS』

Data Service for MySQL 

『Sun Cluster Data Service for MySQL Guide for Solaris OS』

Data Service for NFS 

『Sun Cluster Data Service for NFS Guide for Solaris OS 』

Data Service for Samba 

『Sun Cluster Data Service for Samba Guide for Solaris OS』

Data Service for Solaris Containers 

「ipkg ブランドゾーンに HA-Containers Zone Boot コンポーネントを構成する」

『Sun Cluster Data Service for Solaris Containers Guide for Solaris OS』

Procedureipkg ブランドゾーンに HA-Containers Zone Boot コンポーネントを構成する

この手順を実行して、Solaris Containers データサービスのゾーンブートコンポーネント (sczbt) が ipkg 非大域ブランドゾーンを使用するように構成します。『Sun Cluster Data Service for Solaris Containers Guide for Solaris OS』に記載されている sczbt 向けの指示の代わりに、この手順を使用します。Solaris Containers データサービスマニュアルに記載されているその他のすべての手順は、Open HA Cluster 2009.06 構成で有効です。

  1. クラスタのノードの 1 つでスーパーユーザーになります。

    または、ユーザーアカウントに「主管理者」プロファイルが割り当てられている場合は、ルートユーザー以外でプロファイルシェルからコマンドを実行するか、またはコマンドの前に pfexec コマンドを付けます。

  2. リソースグループを作成します。


    phys-schost-1# /usr/cluster/bin/clresourcegroup create resourcegroup
    
  3. HA ゾーンルートパスで使用されるミラー化された ZFS ストレージプールを作成します。


    phys-schost-1# zpool create -m mountpoint pool mirror /dev/rdsk/cNtXdY \
    /dev/rdsk/cNtXdZ
    phys-schost# zpool export pool
    
  4. HAStoragePlus リソースタイプを登録します。


    phys-schost-1# /usr/cluster/bin/clresourcetype register SUNW.HAStoragePlus
    
  5. HAStoragePlus リソースを作成します。

    作成した ZFS ストレージプールおよびリソースグループを指定します。


    phys-schost-1# /usr/cluster/bin/clresource create -t SUNW.HAStoragePlus \
    -g resourcegroup -p Zpools=pool hasp-resource
    
  6. リソースグループをオンラインにします。


    phys-schost-1# clresourcegroup online -eM resourcegroup
    
  7. 作成した ZFS ストレージプール上に ZFS ファイルシステムデータセットを作成します。

    このファイルシステムは、この手順の後半で作成する ipkg ブランドゾーン用のゾーンルートパスとして使用します。


    phys-schost-1# zfs create pool/filesystem
    
  8. 各ノードのブート環境 (Boot-Environment、BE) ルートデータセットのユニバーサル一意 ID (Universally Unique ID、UUID) が同じ値であることを確認します。

    1. 最初にゾーンを作成したノードの UUID を決定します。

      次に出力例を示します。


      phys-schost-1# beadm list -Hb101b-SC;8fe53702-16c3-eb21-ed85-d19af92c6bbd;NR;/;756…

      この出力例では、UUID は 16c3-eb21-ed85-d19af92c6bbd、BE は b101b-SC です。

    2. 2 番目のノードにも同じ UUID を設定します。


      phys-schost-2# zfs set org.opensolaris.libbe:uuid=uuid rpool/ROOT/BE
      
  9. 両方のノードで、ipkg 非大域ブランドゾーンを構成します。

    ZFS ストレージプール上に作成したファイルシステムに、ゾーンルートパスを設定します。


    phys-schost# zonecfg -z zonename  \
    'create ; set zonepath=/pool/filesystem/zonename ; set autoboot=false'
    
    phys-schost# zoneadm list -cv
      ID NAME          STATUS        PATH                           BRAND    IP    
       0 global        running       /                              native   shared
       - zonename      configured   /pool/filesystem/zonename         ipkg     shared
  10. HAStoragePlus リソースを制御するノードから、ipkg 非大域ブランドゾーンをインストールします。

    次に出力例を示します。

    1. HAStoragePlus リソースを制御するノードを決定します。


      phys-schost# /usr/cluster/bin/clresource status
      === Cluster Resources ===
      
      Resource Name             Node Name       Status        Message
      --------------            ----------      -------       -------
       hasp-resource              phys-schost-1   Online        Online
                                phys-schost-2   Offline       Offline

      HAStoragePlus リソースを制御するノードから、この手順の残りのタスクを実行します。

    2. ZFS ストレージプール用の HAStoragePlus リソースを制御するノードにゾーンをインストールします。


      phys-schost-1# zoneadm -z zonename install
      
    3. ゾーンがインストールされたことを確認します。


      phys-schost-1# zoneadm list -cv
        ID NAME           STATUS       PATH                           BRAND    IP    
         0 global         running      /                              native   shared
         - zonename       installed    /pool/filesystem/zonename        ipkg     shared
    4. 作成したゾーンを起動し、ゾーンが動作していることを確認します。


      phys-schost-1# zoneadm -z zonename boot
      phys-schost-1# zoneadm list -cv
        ID NAME           STATUS       PATH                           BRAND    IP    
         0 global         running      /                              native   shared
         - zonename       running      /pool/filesystem/zonename        ipkg     shared
    5. 新しいウィンドウを開いて、ゾーンにログインします。

    6. ゾーンを停止します。

      ゾーンのステータスの戻り値は installed です。


      phys-schost-1# zoneadm -z zonename halt
      
  11. リソースグループをその他のノードに切り替えて、ゾーンを強制的に追加します。

    1. リソースグループを切り替えます。

      出力例は次のとおりです。phys-schost-1 は現在リソースグループを制御しているノード、phys-schost-2 はリソースグループを切り替えるノードです。


      phys-schost-1# /usr/cluster/bin/clresourcegroup switch -n phys-schost-2 resourcegroup
      

      リソースグループを切り替えるノードから、この手順の残りのタスクを実行します。

    2. リソースグループを切り替えたノードにゾーンを強制的に追加します。


      phys-schost-2# zoneadm -z zonename attach -F
      
    3. ゾーンがノードにインストールされたことを確認します。

      次に出力例を示します。


      phys-schost-2# zoneadm list -cv
        ID NAME           STATUS       PATH                           BRAND    IP    
         0 global         running      /                              native   shared
         - zonename       installed    /pool/filesystem/zonename        ipkg     shared
    4. ゾーンを起動します。


      phys-schost-2# zoneadm -z zonename boot
      
    5. 新しいウィンドウを開いて、ゾーンにログインします。

      この手順を実行して、ゾーンが機能することを確認します。


      phys-schost-2# zlogin -C zonename
      
    6. ゾーンを停止します。


      phys-schost-2# zoneadm -z zonename halt
      
  12. 1 つのノードから、sczbt というゾーンブートリソースを構成します。

    1. SUNW.gds というリソースタイプを登録します。


      phys-schost-1# /usr/cluster/bin/clresourcetype register SUNW.gds
      
    2. 作成した ZFS ファイルシステムにディレクトリを作成します。

      このディレクトリに、ゾーンブートリソース用に設定するパラメータ値が保存されるように指定します。


      phys-schost-1# mkdir /pool/filesystem/parameterdir
      
    3. HA-Containers エージェントをインストールおよび構成します。


      phys-schost# pkg install SUNWsczone
      phys-schost# cd /opt/SUNWsczone/sczbt/util
      phys-schost# cp -p sczbt_config sczbt_config.zoneboot-resource
      phys-schost# vi sczbt_config.zoneboot-resource
      Add or modify the following entries in the file.
      RS="zoneboot-resource"
      RG="resourcegroup"
      PARAMETERDIR="/pool/filesystem/parameterdir"
      SC_NETWORK="false"
      SC_LH=""
      FAILOVER="true"
      HAS_RS="hasp-resource"
      
      Zonename="zonename"
      Zonebrand="ipkg"
      Zonebootopt=""
      Milestone="multi-user-server"
      LXrunlevel="3"
      SLrunlevel="3"
      Mounts=""
      Save and exit the file.
      
    4. ゾーンブートリソースを構成します。

      このリソースは、ゾーンブート構成ファイルで設定するパラメータで構成されます。


      phys-schost-1# ./sczbt_register -f ./sczbt_config.zoneboot-resource
      
    5. ゾーンブートリソースが有効化されていることを確認します。


      phys-schost-1# /usr/cluster/bin/clresource enable zoneboot-resource
      
  13. リソースグループを別のノードに切り替えることができ、切り替え後にそのノードで ZFS ストレージプールが正常に起動することを確認します。

    1. リソースグループを別のノードに切り替えます。


      phys-schost-2# /usr/cluster/bin/clresourcegroup switch -n phys-schost-1 resourcegroup
      
    2. リソースグループが新しいノードでオンラインになったことを確認します。

      次に出力例を示します。


      phys-schost-1# /usr/cluster/bin/clresourcegroup status
      === Cluster Resource Groups ===
      
          Group Name                   Node Name          Suspended        Status
          ----------                   ---------          ---------        ------
          resourcegroup                  phys-schost-1      No               Online
                                        phys-schost-2      No               Offline
    3. ゾーンが新しいノードで動作していることを確認します。


      phys-schost-1# zoneadm list -cv
      ID  NAME     STATUS       PATH                           BRAND      IP
       0  global   running      /                              native     shared
       1  zonename running      /pool/filesystem/zonename        ipkg       shared

例 3–3 ipkg ブランドゾーンへの HA-Containers Zone Boot コンポーネントの構成

この例では、hasp-rs という HAStoragePlus リソースを作成します。ここでは、リソースグループ zone-rghapool というミラー化された ZFS ストレージプールが使用されます。ストレージプールは、/hapool/ipkg ファイルシステムでマウントされます。hasp-rs リソースは、ipkgzone1 という ipkg 非大域ブランドゾーンで動作します。これは、phys-schost-1phys-schost-2 の両方で構成されます。ipkgzone1-rs というゾーンブートリソースは、SUNW.gds リソースタイプに基づきます。


Create a resource group.
phys-schost-1# /usr/cluster/bin/clresourcegroup create zone-rg

Create a mirrored ZFS storage pool to be used for the HA zone root path.
phys-schost-1# zpool create -m /ha-zones hapool mirror /dev/rdsk/c4t6d0 \
/dev/rdsk/c5t6d0
phys-schost# zpool export hapool

Create an HAStoragePlus resource that uses the resource group and mirrored ZFS storage pool that you created.
phys-schost-1# /usr/cluster/bin/clresourcetype register SUNW.HAStoragePlus
phys-schost-1# /usr/cluster/bin/clresource create -t SUNW.HAStoragePlus \
-g zone-rg -p Zpools=hapool hasp-rs

Bring the resource group online.
phys-schost-1# clresourcegroup online -eM zone-rg

Create a ZFS file-system dataset on the ZFS storage pool that you created.
phys-schost-1# zfs create hapool/ipkg

Ensure that the universally unique ID (UUID) of each node's boot-environment (BE) root dataset is the same value on both nodes.
phys-schost-1# beadm list -H
…
zfsbe;8fe53702-16c3-eb21-ed85-d19af92c6bbd;NR;/;7565844992;static;1229439064
…
phys-schost-2# zfs set org.opensolaris.libbe:uuid=8fe53702-16c3-eb21-ed85-d19af92c6bbd rpool/ROOT/zfsbe

Configure the ipkg brand non-global zone.
phys-schost-1# zonecfg -z ipkgzone1 'create ; \
set zonepath=/hapool/ipkg/ipkgzone1 ; set autoboot=false'
phys-schost-1# zoneadm list -cv
  ID NAME             STATUS       PATH                           BRAND    IP    
   0 global           running      /                              native   shared
   - ipkgzone1        configured   /hapool/ipkg/ipkgzone1         ipkg     shared
Repeat on phys-schost-2.

Identify the node that masters the HAStoragePlus resource, and from that node install ipkgzone1.
phys-schost-1# /usr/cluster/bin/clresource status
=== Cluster Resources ===

Resource Name             Node Name       Status        Message
--------------            ----------      -------        -------
 hasp-rs                  phys-schost-1   Online        Online
                          phys-schost-2   Offline       Offline
phys-schost-1# zoneadm -z ipkgzone1 install
phys-schost-1# zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   - ipkgzone1        installed  /hapool/ipkg/ipkgzone1         ipkg     shared
phys-schost-1# zoneadm -z ipkgzone1 boot
phys-schost-1# zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   - ipkgzone1        running    /hapool/ipkg/ipkgzone1         ipkg     shared

Open a new terminal window and log in to ipkgzone1.
phys-schost-1# zoneadm -z ipkgzone1 halt

Switch zone-rg to phys-schost-2 and forcibly attach the zone.
phys-schost-1# /usr/cluster/bin/clresourcegroup switch -n phys-schost-2 zone-rg
phys-schost-2# zoneadm -z ipkgzone1 attach -F
phys-schost-2# zoneadm list -cv
  ID NAME             STATUS      PATH                           BRAND    IP    
   0 global           running     /                              native   shared
   - ipkgzone1        installed   /hapool/ipkg/ipkgzone1         ipkg     shared
phys-schost-2# zoneadm -z ipkgzone1 boot

Open a new terminal window and log in to ipkgzone1.
phys-schost-2# zlogin -C ipkgzone1
phys-schost-2# zoneadm -z ipkgzone1 halt

From one node, configure the zone-boot (sczbt) resource.
phys-schost-1# /usr/cluster/bin/clresourcetype register SUNW.gds
phys-schost-1# mkdir /hapool/ipkg/params

Install and configure the HA-Containers agent.
phys-schost# pkg install SUNWsczone
phys-schost# cd /opt/SUNWsczone/sczbt/util
phys-schost# cp -p sczbt_config sczbt_config.ipkgzone1-rs
phys-schost# vi sczbt_config.ipkgzone1-rs

Add or modify the following entries in the sczbt_config.ipkgzone1-rs file.
RS="ipkgzone1-rs"
RG="zone-rg"
PARAMETERDIR="/hapool/ipkg/params"
SC_NETWORK="false"
SC_LH=""
FAILOVER="true"
HAS_RS="hasp-rs"

Zonename="ipkgzone1"
Zonebrand="ipkg"
Zonebootopt=""
Milestone="multi-user-server"
LXrunlevel="3"
SLrunlevel="3"
Mounts=""
Save and exit the file.

Configure the ipkgzone1-rs resource.
phys-schost-1# ./sczbt_register -f ./sczbt_config.ipkgzone1-rs
phys-schost-1# /usr/cluster/bin/clresource enable ipkgzone1-rs

Verify that zone-rg can switch to another node and that ipkgzone1 successfully starts there after the switchover.
phys-schost-2# /usr/cluster/bin/clresourcegroup switch -n phys-schost-1 zone-rg
phys-schost-1# /usr/cluster/bin/clresourcegroup status
=== Cluster Resource Groups ===

    Group Name                   Node Name          Suspended        Status
    ----------                   ---------          ---------        ------
    zone-rg                      phys-schost-1      No               Online
                                 phys-schost-2      No               Offline
phys-schost-1# zoneadm list -cv
ID  NAME      STATUS       PATH                           BRAND      IP
 0  global    running      /                              native     shared
 1  ipkgzone1 running      /hapool/ipkg/ipkgzone1         ipkg       shared