この手順を実行して、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
|