この手順を行う前に、Sun Cluster HA for Solaris Containers データサービスパッケージがインストールされていることを確認してください。
次のディレクトリにある構成/登録ファイルを使用して、Sun Cluster HA for Solaris Containers リソースを登録します。
/opt/SUNWsczone/sczbt/util
/opt/SUNWsczone/sczsh/util
/opt/SUNWsczone/sczsmf/util
これらのファイルは、Sun Cluster HA for Solaris Containers コンポーネント間で必要な依存関係を定義します。これらの依存関係については、「Sun Cluster HA for Solaris Containers コンポーネント間の依存関係」を参照してください。
Sun Cluster HA for Solaris Containers の登録と構成には、次の節で説明する作業が含まれます。
Sun Cluster HA for Solaris Containers には、ゾーンブートリソースの構成プロセスを自動化するスクリプトが用意されています。このスクリプトは、/opt/SUNWsczone/sczbt/util ディレクトリの sczbt_config ファイルから構成パラメータを取得します。ゾーンブートリソースに構成パラメータを指定するには、sczbt_config ファイルを編集します。
sczbt_config ファイル内の各構成パラメータは、キーワード値のペアとして定義されています。sczbt_config ファイルにはすでに、必要なキーワードと等号が含まれています。詳細は、「sczbt_config の一覧表示」を参照してください。sczbt_config ファイルを編集する際には、必要な値を各キーワードに追加します。
sczbt_config ファイル内のキーワード値のペアは、次のようになります。
RS=sczbt-rs RG=sczbt-rg PARAMETERDIR=sczbt-parameter-directory SC_NETWORK=true|false SC_LH=sczbt-lh-rs FAILOVER=true|false HAS_RS=sczbt-has-rs Zonename=zone-name Zonebootopt=zone-boot-options Milestone=zone-boot-milestone
sczbt_config ファイル内のキーワードの意味と使用できる値は、次のとおりです。
ゾーンブートリソースに割り当てる名前を指定します。このキーワードには値を指定する必要があります。
ゾーンブートリソースが存在するリソースグループの名前を指定します。このキーワードには値を指定する必要があります。
いくつかの変数とその値を格納するパラメータディレクトリに割り当てるディレクトリ名を指定します。このキーワードには値を指定する必要があります。
ゾーンブートリソースが SUNW.LogicalHostName リソースに対してネットワーク対応であるかどうかを指定します。このキーワードには値を指定する必要があります。
ゾーンのアドレス用に HA が必要でない場合は、zonecfg ユーティリティーを使用してゾーンのアドレスを構成します。
SC_NETWORK=false SC_LH= |
IPMP 保護による HA が必要である場合は、zonecfg ユーティリティーを使用してゾーンのアドレスを構成してから、IPMP グループ内のアダプタ上にゾーンのアドレスを配置します。
SC_NETWORK=false SC_LH= |
IPMP 保護による HA とすべての物理インタフェースの障害に対する保護が必要である場合、次のリストから 1 つのオプションを選択します。
SUNW.LogicalHostName リソースタイプでゾーンのアドレスの 1 つまたはサブセットを管理する必要がある場合、これらのゾーンのアドレスの SUNW.LogicalHostName リソースを構成しますが、この際 zonecfg ユーティリティーは使用しません。zonecfg ユーティリティーを使用するのは、SUNW.LogicalHostName リソースタイプの制御下にしないゾーンのアドレスを構成する場合のみです。
SC_NETWORK=true SC_LH=Name of the SUNW.LogicalHostName resource |
SUNW.LogicalHostName リソースタイプですべてのゾーンのアドレスを管理する必要がある場合、ゾーンのアドレスのリストを使用して SUNW.LogicalHostName リソースを構成しますが、この際 zonecfg ユーティリティーは使用しません。
SC_NETWORK=true SC_LH=Name of the SUNW.LogicalHostName resources |
上記以外の場合は、 zonecfg ユーティリティーを使用してゾーンのアドレスを構成し、SUNW.LogicalHostName リソースが使用する個別の冗長 IP アドレスを構成します。zonecfg ユーティリティーを使用してこのリソースを構成してはなりません。
SC_NETWORK=false SC_LH=Name of the SUNW.LogicalHostName resource |
ゾーンブートリソースの SUNW.LogicalHostName リソースの名前を指定します。この変数をいつ設定するかについては、「ゾーンネットワークアドレスに関する制限事項」を参照してください。この名前は、手順 4 でリソースを作成した時点で割り当てた SUNW.LogicalHostname リソース名である必要があります。
ゾーンのゾーンパスが高可用性ファイルシステム上にあるかどうかを指定します。
ゾーンブートリソースの SUNW.HAStoragePlus リソースの名前を指定します。この名前は、「フェイルオーバー構成でのゾーンの実行を有効にする」でリソースを作成した時点で割り当てた SUNW.HAStoragePlus リソース名でなければなりません。FAILOVER=true が設定されている場合、このキーワードには値を指定する必要があります。
ゾーン名を指定します。このキーワードには値を指定する必要があります。
使用するゾーンブートオプションを指定します。サポートされているのは -s のみです。この変数を空白のままにしておくと、ゾーンは multi-user-server マイルストンに対してブートします。
ブートに成功したとみなされるために、ゾーンが到達しなければならないマイルストンを指定します。このキーワードには値を指定する必要があります。
以下の例に、構成パラメータが次のように設定されている sczbt_config ファイルを示します。
ゾーンブートリソースの名前は zone1-rs です。
ゾーンブートリソースのリソースグループの名前は zone1-rg です。
ゾーンブートリソースのパラメータファイルディレクトリの名前は /global/zones/pfiles です。
ゾーンのアドレスは SUNW.LogicalHostName リソースにより管理され、true であることを示します。
ゾーンブートリソースの SUNW.LogicalHostName リソース名は zone1-lh です。
ゾーンブートリソースのゾーンパスは SUNW.LogicalHostName リソースにより管理され、true であることを示します。
ゾーンブートリソースの SUNW.HAStoragePlus リソース名は zone1-has です。
ゾーンの名前は zone1 です。
ゾーンブートリソースのブートオプションは null であることを示します。
ゾーンブートリソースのマイルストンは multi-user-server であることを示します。
RS=zone1-rs RG=zone1-rg PARAMETERDIR=/global/zones/pfiles SC_NETWORK=true SC_LH=zone1-lh FAILOVER=true HAS_RS=zone1-has Zonename=zone1 Zonebootopt= Milestone=multi-user-server
ゾーンスクリプトリソースには、コマンドやスクリプトを実行したり、ゾーン内でアプリケーションを起動、停止、および検証する機能があります。ゾーンスクリプトリソースはゾーンブートリソースに依存します。コマンド名またはスクリプト名は、リソースの登録時にゾーンスクリプトリソースに渡され、次の要件を満たす必要があります。
コマンドまたはスクリプトは、ゾーン内の完全修飾パスを含む必要がある。
コマンドまたはスクリプトは root により実行可能である必要がある。
コマンドまたはスクリプトは、次のいずれかのリターンコードを返す必要がある。
0 |
正常終了 |
>0 |
エラー発生 |
201 |
(検証のみ) — リソースグループをただちにフェイルオーバーする必要があるエラーが発生 |
>0 & !=201 |
(検証のみ) — リソースの再起動を必要とするエラーが発生 |
ゾーンスクリプトリソースをただちにフェイルオーバーするには、必要な動作を満たすよう、リソースプロパティー Failover_mode および Failover_enabled を構成する必要があります。Failover_mode プロパティーを設定する場合は r_properties(5) のマニュアルページを参照し、Failover_enabled プロパティーを設定する場合は SUNW.gds(5) のマニュアルページを参照してください。
以下の例では、存在するプロセスツリーを超えて、Apache2 サービスが実行中であるかをテストする簡単なスクリプトを示します。スクリプト /var/tmp/probe-apache2 はゾーン内に存在する必要があります。
# cat /var/tmp/probe-apache2 #!/usr/bin/ksh if "echo GET; exit" | mconnect -p 80 then exit 0 else exit 100 fi
Sun Cluster HA for Solaris Containers には、ゾーンスクリプトリソースの構成プロセスを自動化するスクリプトが用意されています。このスクリプトは、/opt/SUNWsczone/sczsh/util ディレクトリの sczsh_config ファイルから構成パラメータを取得します。ゾーンスクリプトリソースに構成パラメータを指定するには、sczsh_config ファイルを編集します。
sczsh_config ファイル内の各構成パラメータは、キーワード値のペアとして定義されています。sczsh_config ファイルにはすでに、必要なキーワードと等号が含まれています。詳細は、「sczsh_config の一覧表示」を参照してください。sczsh_config ファイルを編集する際には、必要な値を各キーワードに追加します。
sczsh_config ファイル内のキーワード値のペアは、次のようになります。
RS=sczsh-rs RG=sczbt-rg SCZBT_RS=sczbt-rs PARAMETERDIR=sczsh-parameter-directory Zonename=sczbt-zone-name ServiceStartCommand=sczsh-start-command ServiceStopCommand=sczsh-stop-command ServiceProbeCommand=sczsh-probe-command
sczsh_config ファイル内のキーワードの意味と使用できる値は、次のとおりです。
ゾーンスクリプトリソースに割り当てる名前を指定します。このキーワードには値を指定する必要があります。
ゾーンブートリソースが存在するリソースグループの名前を指定します。このキーワードには値を指定する必要があります。
ゾーンブートリソースの名前を指定します。このキーワードには値を指定する必要があります。
次の変数とその値を格納するパラメータディレクトリに割り当てるディレクトリ名を指定します。このキーワードには値を指定する必要があります。
ゾーン名を指定します。このキーワードには値を指定する必要があります。
実行するゾーン起動コマンドまたはスクリプトを指定します。このキーワードには値を指定する必要があります。
実行するゾーン停止コマンドまたはスクリプトを指定します。このキーワードには値を指定する必要があります。
実行するゾーンプローブコマンドまたはスクリプトを指定します。このキーワードには値を指定する必要があります。
以下の例では、ゾーンスクリプトリソースは Solaris 10 で使用可能な Apache2 スクリプトを使用します。この例を使用する前には、Apache2 の構成ファイル http.conf を構成する必要があります。この例の目的のため、用意された http.conf-example を使用できます。ファイルを次のようにコピーします。
# zlogin zone1 # cd /etc/apache2 # cp http.conf-example http.conf # exit |
以下の例に、構成パラメータが次のように設定されている sczsh_config ファイルを示します。
ゾーンスクリプトリソースの名前は zone1-script-rs です。
ゾーンスクリプトリソースのリソースグループの名前は zone1-rg です。
ゾーンブートリソースの名前は zone1-rs です。
ゾーンスクリプトリソースのパラメータファイルディレクトリの名前は /global/zones/pfiles です。
ゾーンの名前は zone1 です。
ゾーンスクリプトリソースの起動コマンドとそのパラメータの名前は、"/lib/svc/method/http-apache2 start" です。
ゾーンスクリプトリソースの停止コマンドとそのパラメータの名前は、"/lib/svc/method/http-apache2 stop" です。
ゾーンスクリプトリソースのプローブコマンドの名前は "/var/tmp/probe-apache2" です。例 2 に示すこのスクリプトは zone1 内に存在する必要があります。
RS="zone1-script-rs" RG="zone1-rg" SCZBT_RS="zone1-rs" PARAMETERDIR="/global/zones/pfiles" Zonename="zone1" ServiceStartCommand="/lib/svc/method/http-apache2 start" ServiceStopCommand="/lib/svc/method/http-apache2 stop" ServiceProbeCommand="/var/tmp/probe-apache2"
ゾーン SMF リソースは、ゾーン内の SMF サービスを有効、無効にしたり、検証する機能があります。ゾーン SMF リソースはゾーンブートリソースに依存します。SMF サービスの検証は、SMF サービスに対してコマンドまたはスクリプトを実行することによって行います。SMF サービス、およびプローブコマンドまたはスクリプトの名前は、リソースの登録時にゾーン SMF リソースに渡されます。プローブコマンドまたはスクリプトは、次の要件を満たす必要があります。
プローブコマンドまたはスクリプトは、ゾーン内の完全修飾パスを含む必要がある。
プローブコマンドまたはスクリプトは root により実行可能である必要がある。
プローブコマンドまたはスクリプトは、次のいずれかのリターンコードを返す必要がある。
0 |
正常終了 |
100 |
リソースの再起動が必要なエラーが発生 |
201 |
リソースグループをただちにフェイルオーバーする必要があるエラーが発生 |
ゾーン SMF リソースをただちにフェイルオーバーするには、必要な動作を満たすよう、リソースプロパティー Failover_mode および Failover_enabled を構成する必要があります。Failover_mode プロパティーを設定する場合は r_properties(5) のマニュアルページを参照し、Failover_enabled プロパティーを設定する場合は SUNW.gds(5) のマニュアルページを参照してください。
以下の例では、存在するプロセスツリーを超えて、SMF Apache2 サービスが実行中であるかをテストする簡単なスクリプトを示します。スクリプト /var/tmp/probe-apache2 はゾーン内に存在する必要があります。
# cat /var/tmp/probe-apache2 #!/usr/bin/ksh if "echo GET; exit" | mconnect -p 80 then exit 0 else exit 100 fi
Sun Cluster HA for Solaris Containers には、ゾーン SMF リソースの構成プロセスを自動化するスクリプトが用意されています。このスクリプトは、/opt/SUNWsczone/sczsmf/util ディレクトリの sczsmf_config ファイルから構成パラメータを取得します。ゾーン SMF リソースに構成パラメータを指定するには、sczsmf_config ファイルを編集します。
sczmf_config ファイル内の各構成パラメータは、キーワード値のペアとして定義されています。sczsmf_config ファイルにはすでに、必要なキーワードと等号が含まれています。詳細は、「sczsmf_config の一覧表示」を参照してください。sczsmf_config ファイルを編集する際には、必要な値を各キーワードに追加します。
sczsmf_config ファイル内のキーワード値のペアは、次のようになります。
RS=sczsmf-rs RG=sczbt-rg SCZBT_RS=sczbt-rs ZONE=sczbt-zone-name SERVICE=smf-service RECURSIVE=true|false STATE=true|false SERVICE_PROBE=sczsmf-service-probe
sczsmf_config ファイル内のキーワードの意味と使用できる値は、次のとおりです。
ゾーン SMF リソースに割り当てる名前を指定します。定義する必要があります。
ゾーンブートリソースが存在するリソースグループの名前を指定します。定義する必要があります。
ゾーンブートリソースの名前を指定します。このキーワードには値を指定する必要があります。
ゾーン名を指定します。定義する必要があります。
有効/無効にする SMF サービスを指定します。定義する必要があります。
true を指定するとサービスを再帰的に有効にし、false を指定するとサービスを有効にするだけで、従属関係は生じません。定義する必要があります。
true を指定するとサービス状態に到達するまで待機し、false を指定すると待機しません。定義する必要があります。
SMF サービスをチェックするようスクリプトを指定します。
以下の例では、ゾーン SMF リソースは Solaris 10 で使用可能な Apache2 SMF サービスを使用します。この例を使用する前には、Apache2 の構成ファイル http.conf を構成する必要があります。この例の目的のため、用意された http.conf-example を使用できます。ファイルを次のようにコピーします。
# zlogin zone1 # cd /etc/apache2 # cp http.conf-example http.conf # exit |
以下の例に、構成パラメータが次のように設定されている sczsmf_config ファイルを示します。
ゾーン SMF リソースの名前は zone1-smf-rs です。
ゾーン SMF リソースのリソースグループの名前は zone1-rg です。
ゾーンブートリソースの名前は zone1-rs です。
ゾーンの名前は zone1 です。
ゾーン SMF サービスの名前は apache2 です。
ゾーン SMF サービスの Recursive オプションが true であることを示しています。
ゾーン SMF サービスの State オプションが true であることを示しています。
ゾーン SMF サービスのプローブ名が /var/tmp/probe-apache2 であることを示しています。例 4 に示すこのスクリプトは zone1 内に存在する必要があります。
RS=zone1-smf-rs RG=zone1-rg SCZBT_RS=zone1-rs ZONE=zone1 SERVICE=apache2 RECURSIVE=true STATE=true SERVICE_PROBE=/var/tmp/probe-apache2
sczbt_config ファイルを編集して、Sun Cluster HA for Solaris Containers ゾーンブートコンポーネント用の構成パラメータを指定します。詳細は、「ゾーンブートリソース用の構成パラメータの指定」を参照してください。
ゾーンのホストとなるクラスタノードの 1 つで、スーパーユーザーになります。
SUNW.gds というリソースタイプを登録します。
# scrgadm -a -t SUNW.gds |
Sun Cluster HA for Solaris Containers ブートリソースを作成するためのスクリプトが含まれるディレクトリに移動します。
# cd /opt/SUNWsczone/sczbt/util |
# ./sczbt_register |
# scswitch -e -j sczbt-rs |
sczsh_config ファイルを編集して、Sun Cluster HA for Solaris Containers ゾーンスクリプトコンポーネント用の構成パラメータを指定します。詳細は、「ゾーンスクリプトリソース用の構成パラメータの指定」を参照してください。
Sun Cluster HA for Solaris Containers スクリプトリソースを作成するためのスクリプトが含まれるディレクトリに移動します。
# cd /opt/SUNWsczone/sczsh/util |
# ./sczsh_register |
# scswitch -e -j sczsh-rs |
sczsmf_config ファイルを編集して、Sun Cluster HA for Solaris Containers ゾーン SMF コンポーネント用の構成パラメータを指定します。詳細は、「ゾーン SMF リソース用の構成パラメータの指定」を参照してください。