ISV アプリケーションや利用者アプリケーションを userApplication の状態に連動して起動/停止したり、逆にアプリケーションの停止に連動して userApplication を状態遷移させたりする場合には、利用者がスクリプトを作成する必要があります。
作成したスクリプトは、Cmdline リソースに設定し、そのリソースを userApplication に設定します。
ここでは、スクリプトの例と、スクリプト作成時の注意事項を説明します。
Cmdline に設定できるスクリプトの種類は以下の 3 種類です。
Start スクリプト
userApplication が Online または Standby に状態遷移する場合に起動されます。
利用者プログラムを起動するためのスクリプトです。
Stop スクリプト
userApplication が Offline に状態遷移する場合に起動されます。
利用者プログラムを停止するためのスクリプトです。
Check スクリプト
Start/Stop スクリプトにより起動/停止されるリソース(利用者プログラム)の状態を監視するために使用します。RMS 起動後、定周期 (*) に起動されます。Check スクリプトは、利用者プログラムの状態を報告するためのスクリプトです。
(*) Check スクリプト処理時間(Check スクリプト起動から復帰までの時間)が約 0.25 秒以内の場合は、約 10 秒間隔で起動されます。Check スクリプト処理時間が約 0.25 秒を超える場合は、最大約 20 秒間隔で起動されます。
なお、Start スクリプト、Stop スクリプトはそれぞれ、Online スクリプト、Offline スクリプトと呼ぶこともあります。
Cmdline リソースに設定できる属性を、表 3.1 に示します。
属性 | 概要 |
---|---|
NULLDETECTOR | "Yes" に設定すると、Check スクリプトが無効になります。リソースの状態は userApplication の Online/Offline 処理に連動して実行される Cmdlineリソースの Online/Offline スクリプトの結果によってのみ判断され、リソースの状態監視は行われません。 また、他のFlagの値はすべて "No" に設定されます。
|
ALLEXITCODES | "No" に設定すると、Check スクリプトの終了コードは以下のように解釈されます。 0 : Online "Yes" に設定すると、Check スクリプトの終了コードの値により、以下のように解釈されます。 0 : online デフォルト値は "No" です。 ※ 3, 5, 6 および上記以外の値は、特殊な状態を示すものであり、スクリプト内の復帰値として使用しないでください。 |
LIEOFFLINE | "Yes" に設定、かつ、Stop スクリプトが指定されていない場合、リソースの Offline 処理は成功したものとして処理されます。ただし、リソースの状態は、現在の状態が表示されます。 |
CLUSTEREXCLUSIVE | "Yes" に設定した場合には、クラスタ内で 1 度に 1つのノード上だけでリソースが Online でなければなりません。Check スクリプトの問題などにより 2つ以上のノードで同時に Online 状態であることを検出すると、このリソースが属する userApplication の状態は Inconsistent となります。 |
AUTORECOVER | "Yes" に設定すると、リソースが故障した場合、userApplication をフェイルオーバさせる前に同じノード上で再起動を試みます。この試みは 1 度だけ行われます。 |
MONITORONLY | リソースが faulted となった場合に userApplication を faulted にするかどうかを制御します。"Yes" に設定すると、リソースが faulted になった場合でも、それをトリガに userApplication は faulted にはなりません。 |
STANDBYCAPABLE | "Yes" に設定すると、RMS はこのリソースのために StandbyCapable 属性を "1" に設定します。 属性に関する詳しい情報については、"PRIMECLUSTER RMS 導入運用手引書"の"12 付録 - 属性"を参照してください。 |
REALTIME | "No" に設定すると、Check スクリプトが TS クラスで開始されます。 |
TIMEOUT | プログラムの開始と停止のためのタイムアウト時間(秒)を設定します。 |
注意
PRIMECLUSTER 対応製品の指示がない場合は、Cmdline リソースの ReturnCodes を変更しないでください。