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