ページの先頭行へ戻る
PRIMECLUSTER  導入運用手引書 4.7

6.11 Cmdline リソース設定時の注意点

ISV アプリケーションや利用者アプリケーションを userApplication の状態に連動して起動/停止したり、逆にアプリケーションの停止に連動して userApplication を状態遷移させたりする場合には、利用者がスクリプトを作成する必要があります。
作成したスクリプトは、Cmdline リソースに設定し、そのリソースを userApplication に設定します。
ここでは、スクリプトの例と、スクリプト作成時の注意事項を説明します。

Cmdline に設定できるスクリプトの種類は以下の 3 種類です。

なお、Start スクリプト、Stop スクリプトはそれぞれ、Online スクリプト、Offline スクリプトと呼ぶこともあります。

Cmdline リソースに設定できる属性を、以下の表に示します。

表6.2 Cmdlineリソースの属性

属性

概要

NULLDETECTOR

"Yes" に設定すると、Check スクリプトが無効になります。リソースの状態は userApplication の Online/Offline 処理に連動して実行される Cmdlineリソースの Online/Offline スクリプトの結果によってのみ判断され、リソースの状態監視は行われません。

また、他のFlagの値はすべて "No" に設定されます。
Check スクリプトの設定とデフォルト値の関係を以下に示します。

  • Check スクリプト設定あり
    デフォルト値は "No" です。

  • Check スクリプト設定なし
    デフォルト値は "Yes" です。

ALLEXITCODES

"No" に設定すると、Check スクリプトの終了コードは以下のように解釈されます。

0 : Online
0 以外: Offline

"Yes" に設定すると、Check スクリプトの終了コードの値により、以下のように解釈されます。

0 : online
1 : offline
2 : faulted
3 : unknown
4 : standby
5 : onlinewarning
6 : offlinefaulted

デフォルト値は "No" です。

※ 3, 5, 6 および上記以外の値は、特殊な状態を示すものであり、スクリプト内の復帰値として使用しないでください。
PRIMECLUSTER 対応製品の指示がある場合に限り使用してください。

LIEOFFLINE

"Yes" に設定、かつ、Stop スクリプトが指定されていない場合、リソースの Offline 処理は成功したものとして処理されます。ただし、リソースの状態は、現在の状態が表示されます。
"Yes" に設定する場合、Stop スクリプトは指定しないでください。
デフォルト値は "No" です。

CLUSTEREXCLUSIVE

"Yes" に設定した場合には、クラスタ内で 1 度に 1つのノード上だけでリソースが Online でなければなりません。Check スクリプトの問題などにより 2つ以上のノードで同時に Online 状態であることを検出すると、このリソースが属する userApplication の状態は Inconsistent となります。
デフォルト値は "Yes" です。
"Yes" を設定することを推奨します。

AUTORECOVER

"Yes" に設定すると、リソースが故障した場合、userApplication をフェイルオーバさせる前に同じノード上で再起動を試みます。この試みは 1 度だけ行われます。
デフォルト値は "Yes" です。

MONITORONLY

リソースがFaulted となった場合にuserApplication をFaulted にするかどうかを制御します。"Yes" に設定すると、リソースがFaultedになった場合でも、それをトリガにuserApplicationはFaultedにはなりません。
ただし、切替えに伴う Offline 処理中にリソースが Faulted になった場合は、"Yes" に設定していても、それをトリガに userApplication は Faulted になります。
これにより、HaltFlag に"yes" が設定されている userApplication の場合は、Faulted になったノードが強制停止され、切替えは継続されます。
userApplicationに登録されているCmdlineリソースのうち、最低1つは "No" を設定してください。
デフォルト値は "No" です。

STANDBYCAPABLE

"Yes" に設定すると、RMS はこのリソースのために StandbyCapable 属性を "1" に設定します。

属性に関する詳しい情報については、"PRIMECLUSTER RMS 導入運用手引書"の"付録D 属性"を参照してください。
デフォルト値は "No" です。

REALTIME

"No" に設定すると、Check スクリプトが TS クラスで開始されます。
"Yes" に設定すると、Check スクリプトは、RT クラスで開始されます。
RT クラスで開始されたプロセスは、OS で最高の優先度が割り当てられるため、スクリプトやコマンドのバグが、システムの性能に大きな影響を与えるかもしれないことに注意してください。
デフォルト値は "No" です。

TIMEOUT

プログラムの開始と停止のためのタイムアウト時間(秒)を設定します。
デフォルト値は "300" です。
設定可能な値の範囲は、45~31535999秒です。

注意

PRIMECLUSTER 対応製品の指示がない場合は、Cmdline リソースの ReturnCodes を変更しないでください。