ページの先頭行へ戻る
PRIMECLUSTER 活用ガイド<クラスタ構築・運用時の留意点>

第3章 Cmdline リソース設定時の注意点

本章で説明する注意点は、Solaris/Linux 共通です。

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

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

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

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

表3.1 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 処理は成功したものとして処理されます。ただし、リソースの状態は、現在の状態が表示されます。
Stop スクリプトが指定されている場合、Stop スクリプトの失敗は fault 処理のきっかけになります。
デフォルト値は "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 にはなりません。
GUI から作成できる Cmdline では、この値を "Yes" に設定することが許されていません。この値を "Yes" に設定すると RMS が起動しなくなるため、本属性は、"No" のまま使用してください。
デフォルト値は "No" です。

STANDBYCAPABLE

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

属性に関する詳しい情報については、"付録A RMS 属性一覧"を参照してください。
デフォルト値は "No" です。

REALTIME

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

TIMEOUT

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

注意

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