この手順を実行して、Solaris Containers データサービスのゾーンブートコンポーネント (sczbt) が ipkg 非大域ブランドゾーンを使用するように構成します。『Sun Cluster Data Service for Solaris Containers Guide for Solaris OS』に記載されている sczbt 向けの指示の代わりに、この手順を使用します。Solaris Containers データサービスマニュアルに記載されているその他のすべての手順は、Open HA Cluster 2009.06 構成で有効です。
クラスタのノードの 1 つでスーパーユーザーになります。
または、ユーザーアカウントに「主管理者」プロファイルが割り当てられている場合は、ルートユーザー以外でプロファイルシェルからコマンドを実行するか、またはコマンドの前に pfexec コマンドを付けます。
リソースグループを作成します。
phys-schost-1# /usr/cluster/bin/clresourcegroup create resourcegroup |
HA ゾーンルートパスで使用されるミラー化された ZFS ストレージプールを作成します。
phys-schost-1# zpool create -m mountpoint pool mirror /dev/rdsk/cNtXdY \ /dev/rdsk/cNtXdZ phys-schost# zpool export pool |
HAStoragePlus リソースタイプを登録します。
phys-schost-1# /usr/cluster/bin/clresourcetype register SUNW.HAStoragePlus |
HAStoragePlus リソースを作成します。
作成した ZFS ストレージプールおよびリソースグループを指定します。
phys-schost-1# /usr/cluster/bin/clresource create -t SUNW.HAStoragePlus \ -g resourcegroup -p Zpools=pool hasp-resource |
リソースグループをオンラインにします。
phys-schost-1# clresourcegroup online -eM resourcegroup |
作成した ZFS ストレージプール上に ZFS ファイルシステムデータセットを作成します。
このファイルシステムは、この手順の後半で作成する ipkg ブランドゾーン用のゾーンルートパスとして使用します。
phys-schost-1# zfs create pool/filesystem |
各ノードのブート環境 (Boot-Environment、BE) ルートデータセットのユニバーサル一意 ID (Universally Unique ID、UUID) が同じ値であることを確認します。
両方のノードで、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 |
HAStoragePlus リソースを制御するノードから、ipkg 非大域ブランドゾーンをインストールします。
次に出力例を示します。
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 リソースを制御するノードから、この手順の残りのタスクを実行します。
ZFS ストレージプール用の HAStoragePlus リソースを制御するノードにゾーンをインストールします。
phys-schost-1# zoneadm -z zonename install |
ゾーンがインストールされたことを確認します。
phys-schost-1# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zonename installed /pool/filesystem/zonename ipkg shared |
作成したゾーンを起動し、ゾーンが動作していることを確認します。
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 |
新しいウィンドウを開いて、ゾーンにログインします。
ゾーンを停止します。
ゾーンのステータスの戻り値は installed です。
phys-schost-1# zoneadm -z zonename halt |
リソースグループをその他のノードに切り替えて、ゾーンを強制的に追加します。
リソースグループを切り替えます。
出力例は次のとおりです。phys-schost-1 は現在リソースグループを制御しているノード、phys-schost-2 はリソースグループを切り替えるノードです。
phys-schost-1# /usr/cluster/bin/clresourcegroup switch -n phys-schost-2 resourcegroup |
リソースグループを切り替えるノードから、この手順の残りのタスクを実行します。
リソースグループを切り替えたノードにゾーンを強制的に追加します。
phys-schost-2# zoneadm -z zonename attach -F |
ゾーンがノードにインストールされたことを確認します。
次に出力例を示します。
phys-schost-2# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zonename installed /pool/filesystem/zonename ipkg shared |
ゾーンを起動します。
phys-schost-2# zoneadm -z zonename boot |
新しいウィンドウを開いて、ゾーンにログインします。
この手順を実行して、ゾーンが機能することを確認します。
phys-schost-2# zlogin -C zonename |
ゾーンを停止します。
phys-schost-2# zoneadm -z zonename halt |
1 つのノードから、sczbt というゾーンブートリソースを構成します。
SUNW.gds というリソースタイプを登録します。
phys-schost-1# /usr/cluster/bin/clresourcetype register SUNW.gds |
作成した ZFS ファイルシステムにディレクトリを作成します。
このディレクトリに、ゾーンブートリソース用に設定するパラメータ値が保存されるように指定します。
phys-schost-1# mkdir /pool/filesystem/parameterdir |
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. |
ゾーンブートリソースを構成します。
このリソースは、ゾーンブート構成ファイルで設定するパラメータで構成されます。
phys-schost-1# ./sczbt_register -f ./sczbt_config.zoneboot-resource |
ゾーンブートリソースが有効化されていることを確認します。
phys-schost-1# /usr/cluster/bin/clresource enable zoneboot-resource |
リソースグループを別のノードに切り替えることができ、切り替え後にそのノードで ZFS ストレージプールが正常に起動することを確認します。
リソースグループを別のノードに切り替えます。
phys-schost-2# /usr/cluster/bin/clresourcegroup switch -n phys-schost-1 resourcegroup |
リソースグループが新しいノードでオンラインになったことを確認します。
次に出力例を示します。
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 |
ゾーンが新しいノードで動作していることを確認します。
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 |
この例では、hasp-rs という HAStoragePlus リソースを作成します。ここでは、リソースグループ zone-rg の hapool というミラー化された ZFS ストレージプールが使用されます。ストレージプールは、/hapool/ipkg ファイルシステムでマウントされます。hasp-rs リソースは、ipkgzone1 という ipkg 非大域ブランドゾーンで動作します。これは、phys-schost-1 と phys-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 |