Sun Cluster Data Service for Solaris Containers ガイド

Sun Cluster HA for Solaris Containers の登録と構成

この手順を行う前に、Sun Cluster HA for Solaris Containers データサービスパッケージがインストールされていることを確認してください。

次のディレクトリにある構成/登録ファイルを使用して、Sun Cluster HA for Solaris Containers リソースを登録します。

これらのファイルは、Sun Cluster HA for Solaris Containers コンポーネント間で必要な依存関係を定義します。これらの依存関係については、「Sun Cluster HA for Solaris Containers コンポーネント間の依存関係」を参照してください。

Sun Cluster HA for Solaris Containers の登録と構成には、次の節で説明する作業が含まれます。

  1. 「ゾーンブートリソース用の構成パラメータの指定」

  2. 「ゾーンスクリプトの記述」

  3. 「ゾーンスクリプトリソース用の構成パラメータの指定」

  4. 「SMF サービスプローブの記述」

  5. 「ゾーン SMF リソース用の構成パラメータの指定」

  6. 「ゾーンブートコンポーネントのリソースを作成して有効にする」

  7. 「ゾーンスクリプトコンポーネントのリソースを作成して有効にする」

  8. 「ゾーン SMF コンポーネントのリソースを作成して有効にする」

ゾーンブートリソース用の構成パラメータの指定

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 ファイル内のキーワードの意味と使用できる値は、次のとおりです。

RS=sczbt-rs

ゾーンブートリソースに割り当てる名前を指定します。このキーワードには値を指定する必要があります。

RG=sczbt-rg

ゾーンブートリソースが存在するリソースグループの名前を指定します。このキーワードには値を指定する必要があります。

PARAMETERDIR=sczbt parameter directory

いくつかの変数とその値を格納するパラメータディレクトリに割り当てるディレクトリ名を指定します。このキーワードには値を指定する必要があります。

SC_NETWORK=true| false

ゾーンブートリソースが 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
      
SC_LH=sczbt-lh-rs

ゾーンブートリソースの SUNW.LogicalHostName リソースの名前を指定します。この変数をいつ設定するかについては、「ゾーンネットワークアドレスに関する制限事項」を参照してください。この名前は、手順 4 でリソースを作成した時点で割り当てた SUNW.LogicalHostname リソース名である必要があります。

FAILOVER=true| false

ゾーンのゾーンパスが高可用性ファイルシステム上にあるかどうかを指定します。

HAS_RS=sczbt-has-rs

ゾーンブートリソースの SUNW.HAStoragePlus リソースの名前を指定します。この名前は、「フェイルオーバー構成でのゾーンの実行を有効にする」でリソースを作成した時点で割り当てた SUNW.HAStoragePlus リソース名でなければなりません。FAILOVER=true が設定されている場合、このキーワードには値を指定する必要があります。

Zonename=zone-name

ゾーン名を指定します。このキーワードには値を指定する必要があります。

Zonebootopt=zone-boot-options

使用するゾーンブートオプションを指定します。サポートされているのは -s のみです。この変数を空白のままにしておくと、ゾーンは multi-user-server マイルストンに対してブートします。

Milestone=zone-boot-milestone

ブートに成功したとみなされるために、ゾーンが到達しなければならないマイルストンを指定します。このキーワードには値を指定する必要があります。


例 1 sczbt_config ファイルのサンプル

以下の例に、構成パラメータが次のように設定されている sczbt_config ファイルを示します。

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

ゾーンスクリプトの記述

ゾーンスクリプトリソースには、コマンドやスクリプトを実行したり、ゾーン内でアプリケーションを起動、停止、および検証する機能があります。ゾーンスクリプトリソースはゾーンブートリソースに依存します。コマンド名またはスクリプト名は、リソースの登録時にゾーンスクリプトリソースに渡され、次の要件を満たす必要があります。

表 3 リターンコード

正常終了 

>0 

エラー発生 

201 

(検証のみ) — リソースグループをただちにフェイルオーバーする必要があるエラーが発生 

>0 & !=201 

(検証のみ) — リソースの再起動を必要とするエラーが発生 


注 –

ゾーンスクリプトリソースをただちにフェイルオーバーするには、必要な動作を満たすよう、リソースプロパティー Failover_mode および Failover_enabled を構成する必要があります。Failover_mode プロパティーを設定する場合は r_properties(5) のマニュアルページを参照し、Failover_enabled プロパティーを設定する場合は SUNW.gds(5) のマニュアルページを参照してください。



例 2 Apache2 用のゾーンプローブスクリプト

以下の例では、存在するプロセスツリーを超えて、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 ファイル内のキーワードの意味と使用できる値は、次のとおりです。

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

実行するゾーンプローブコマンドまたはスクリプトを指定します。このキーワードには値を指定する必要があります。


例 3 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 ファイルを示します。

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 サービス、およびプローブコマンドまたはスクリプトの名前は、リソースの登録時にゾーン SMF リソースに渡されます。プローブコマンドまたはスクリプトは、次の要件を満たす必要があります。

表 4 リターンコード

正常終了 

100 

リソースの再起動が必要なエラーが発生 

201 

リソースグループをただちにフェイルオーバーする必要があるエラーが発生 


注 –

ゾーン SMF リソースをただちにフェイルオーバーするには、必要な動作を満たすよう、リソースプロパティー Failover_mode および Failover_enabled を構成する必要があります。Failover_mode プロパティーを設定する場合は r_properties(5) のマニュアルページを参照し、Failover_enabled プロパティーを設定する場合は SUNW.gds(5) のマニュアルページを参照してください。



例 4 Apache2 用のゾーン SMF プローブスクリプト

以下の例では、存在するプロセスツリーを超えて、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

ゾーン SMF リソース用の構成パラメータの指定

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 ファイル内のキーワードの意味と使用できる値は、次のとおりです。

RS=sczsmf-rs

ゾーン SMF リソースに割り当てる名前を指定します。定義する必要があります。

RG=sczbt-rg

ゾーンブートリソースが存在するリソースグループの名前を指定します。定義する必要があります。

SCZBT_RS=sczbt-rs

ゾーンブートリソースの名前を指定します。このキーワードには値を指定する必要があります。

ZONE=sczbt-zone-name

ゾーン名を指定します。定義する必要があります。

SERVICE=smf-service

有効/無効にする SMF サービスを指定します。定義する必要があります。

RECURSIVE=true| false

true を指定するとサービスを再帰的に有効にし、false を指定するとサービスを有効にするだけで、従属関係は生じません。定義する必要があります。

STATE=true| false

true を指定するとサービス状態に到達するまで待機し、false を指定すると待機しません。定義する必要があります。

SERVICE_PROBE=sczsmf-service-probe

SMF サービスをチェックするようスクリプトを指定します。


例 5 sczsmf_config ファイルのサンプル

以下の例では、ゾーン 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 ファイルを示します。

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

Procedureゾーンブートコンポーネントのリソースを作成して有効にする

始める前に

sczbt_config ファイルを編集して、Sun Cluster HA for Solaris Containers ゾーンブートコンポーネント用の構成パラメータを指定します。詳細は、「ゾーンブートリソース用の構成パラメータの指定」を参照してください。

手順
  1. ゾーンのホストとなるクラスタノードの 1 つで、スーパーユーザーになります。

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


    # scrgadm -a -t SUNW.gds
    
  3. Sun Cluster HA for Solaris Containers ブートリソースを作成するためのスクリプトが含まれるディレクトリに移動します。


    # cd /opt/SUNWsczone/sczbt/util
    
  4. ゾーンブートリソースを作成するスクリプトを実行します。


    # ./sczbt_register
    
  5. ゾーンブートリソースをオンラインにします。


    # scswitch -e -j sczbt-rs
    

Procedureゾーンスクリプトコンポーネントのリソースを作成して有効にする

始める前に

sczsh_config ファイルを編集して、Sun Cluster HA for Solaris Containers ゾーンスクリプトコンポーネント用の構成パラメータを指定します。詳細は、「ゾーンスクリプトリソース用の構成パラメータの指定」を参照してください。

手順
  1. Sun Cluster HA for Solaris Containers スクリプトリソースを作成するためのスクリプトが含まれるディレクトリに移動します。


    # cd /opt/SUNWsczone/sczsh/util
    
  2. ゾーンスクリプトリソースを作成するスクリプトを実行します。


    # ./sczsh_register
    
  3. ゾーンスクリプトリソースをオンラインにします。


    # scswitch -e -j sczsh-rs
    

Procedureゾーン SMF コンポーネントのリソースを作成して有効にする

始める前に

sczsmf_config ファイルを編集して、Sun Cluster HA for Solaris Containers ゾーン SMF コンポーネント用の構成パラメータを指定します。詳細は、「ゾーン SMF リソース用の構成パラメータの指定」を参照してください。

手順
  1. Sun Cluster HA for Solaris Containers SMF リソースを作成するためのスクリプトが含まれるディレクトリに移動します。


    # cd /opt/SUNWsczone/sczsmf/util
    
  2. ゾーン SMF リソースを作成するスクリプトを実行します。


    # ./sczsmf_register
    
  3. ゾーン SMF リソースをオンラインにします。


    # scswitch -e -j sczsmf-rs