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

データサービスの構成

この節では、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