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

6.11.1 スクリプトと状態遷移

RMS 起動時には、AutoStartup 属性の設定にかかわらず必ず Check スクリプトが実行されます。
また、状態遷移時には Stop スクリプト、および Start スクリプトが呼出されます。

各スクリプトでは HV_LAST_DET_REPORT や HV_INTENDED_STATE を参照して、Online 処理を行うべきか、Offline 処理を行うべきか適切な判断を行う必要があります。
各スクリプト実行時に設定される HV_LAST_DET_REPORT および HV_INTENDED_STATE の値は下表のとおりです。


表6.3 Cmdline リソースがホットスタンバイ運用以外の場合

状態遷移

実行スクリプト

環境変数の値

分類

Cmdline リソースの状態

HV_LAST_DET_REPORT
*1

HV_INTENDED_STATE

RMS 起動時

運用系

Offline⇒Online

Start スクリプト

Offline

Online

待機系

Offline⇒Offline

-

-

-

RMS 停止時

運用系

Online⇒Offline

Stop スクリプト

Online

Offline

待機系

Offline⇒Offline

Stop スクリプト *2

Offline

Offline

切替え時
(オペレーション)

運用系

Online⇒Offline

Stop スクリプト

Online

Offline

待機系

Offline⇒Online

Start スクリプト

Offline

Online

切替え時
(リソース故障)

運用系

Online⇒Faulted

-

-

-

Faulted⇒Offline

Stop スクリプト

Offline

Offline

待機系

Offline⇒Online

Start スクリプト

Offline

Online

切捨て時
(待機系のリソース故障) *3

運用系

Online

-

-

-

待機系

Offline⇒Offline

Stop スクリプト *2

Offline

Offline

保守モード終了時

運用系

Online⇒Online

Start スクリプト *4

Online

Online

待機系

Offline⇒Offline

-

-

-

*1:HV_LAST_DET_REPORT の値は "実行スクリプト" 実行直前のリソースの状態です。
*2:このスクリプトは、以下の条件に合致する場合のみ実行されます。

*3:同一の userApplication 配下に存在するホットスタンバイ運用のリソースが故障する場合です。
*4:このスクリプトは、リソースの NULLDETECTOR 属性が "Yes" の場合のみ実行されます。


表6.4 Cmdline リソースがホットスタンバイ運用の場合

状態遷移

実行スクリプト

環境変数の値

分類

Cmdline リソースの状態

HV_LAST_DET_REPORT
*1

HV_INTENDED_STATE

RMS 起動時

運用系

Offline⇒Online

Start スクリプト

Offline

Online

待機系

Offline⇒Standby *2

Start スクリプト

Offline

Standby

RMS 停止時

運用系

Online⇒Offline

Stop スクリプト

Online

Offline

待機系

Standby⇒Offline

Stop スクリプト

Standby

Offline

切替え時
(オペレーション)

運用系

Online⇒Offline

Stop スクリプト

Online

Offline

待機系

Standby⇒Online

Start スクリプト

Standby

Online

切替え時
(運用系のリソース故障)

運用系

Online⇒Faulted

-

-

-

Faulted⇒Offline

Stop スクリプト

Offline または Faulted *3

Offline

待機系

Standby⇒Online

Start スクリプト

Standby

Online

切捨て時
(待機系のリソース故障)

運用系

Online

-

-

-

待機系

Standby⇒Faulted

-

-

-

Faulted⇒Offline

Stop スクリプト

Offline または Faulted *3

Offline

保守モード終了時

運用系

Online⇒Online

-

-

-

待機系

Standby⇒Standby

-

-

-

*1:HV_LAST_DET_REPORT の値は "実行スクリプト" 実行直前のリソースの状態です。
*2:StandbyTransitions 属性が "Startup" の場合
*3:故障検出時に Check スクリプトが 1(Offline)で復帰する場合、HV_LAST_DET_REPORT の値は "Offline" となります。故障検出時に Check スクリプトが 2(Faulted)で復帰する場合、HV_LAST_DET_REPORT の値は "Faulted" となります。

参照

スクリプト内で参照できる環境変数については、"6.11.2.1.2 Start/Stop スクリプト内で参照できる環境変数"を参照してください。

6.11.1.1 リソース状態ごとの実行スクリプト

Cmdline リソースの各状態移行時に実行されるスクリプトは下図のとおりです。

状態遷移ごとの各スクリプトの実行順番については、"6.11.1.5 動作フロー" を参照してください。


図6.1 状態移行時の実行スクリプト

6.11.1.2 Online 時のスクリプトと状態

Cmdline リソースが Online となる場合には、Start スクリプトが 1 度だけ実行されます。
Check スクリプトは、10 秒間隔で実行されていますが、Start スクリプトが終了した直後にも実行されます。
詳細については "6.11.1.5 動作フロー" を参照してください。

Start スクリプトと Check スクリプトの終了コードごとに移行する状態は以下のとおりです。
終了コードの詳細については "6.11.2.2.3 Check スクリプトの終了コードについて" を参照してください。


図6.2 Online 時のスクリプトと状態

(*)タイムアウトについては"6.11.2.1.5 スクリプトのタイムアウトについて"を参照してください。

6.11.1.3 Standby 時のスクリプトと状態

ホットスタンバイ運用の Cmdline リソースのみ Standby となります。

Cmdline リソースが Standby となる場合には、Start スクリプトが 1 度だけ実行されます。
Check スクリプトは、10 秒間隔で実行されていますが、Start スクリプトが終了した直後にも実行されます。
詳細については "6.11.1.5 動作フロー" を参照してください。

Start スクリプトと Check スクリプトの終了コードごとに移行する状態は以下のとおりです。
終了コードの詳細については "6.11.2.2.3 Check スクリプトの終了コードについて" を参照してください。


図6.3 Standby 時のスクリプトと状態

(*)タイムアウトについては"6.11.2.1.5 スクリプトのタイムアウトについて"を参照してください。

6.11.1.4 Offline 時のスクリプトと状態

Cmdline リソースが Offline となる場合には、Stop スクリプトが 1度だけ実行されます。
Check スクリプトは、10 秒間隔で実行されていますが、Stop スクリプトが終了した直後にも実行されます。
詳細については "6.11.1.5 動作フロー" を参照してください。

Stop スクリプトと Check スクリプトの終了コードごとに移行する状態は以下のとおりです。
終了コードの詳細については "6.11.2.2.3 Check スクリプトの終了コードについて" を参照してください。


図6.4 Offline 時のスクリプトと状態

(*)タイムアウトについては"6.11.2.1.5 スクリプトのタイムアウトについて"を参照してください。

(**)ALLEXITCODESを設定した場合です。詳しくは、表3.1 のALLEXITCODES 属性を参照してください。

6.11.1.5 動作フロー

Cmdline リソースの動作を以下の分類で説明します。

以降の各図には例として、Cmdline リソースに加え Glsリソースを記載しています。

6.11.1.6 Check スクリプトの終了コードごとの動作

Check スクリプトの終了コードごとの動作は、以下の "起動から停止までの段階 (1)~(7)" に分類して説明します。

(1) RMS が起動してから、Cmdline リソースの起動が始まるまでの段階。
(2) Cmdline リソースの起動(Start スクリプトの実行)を行っている段階。
(3) Cmdline リソースの起動後の状態チェック(Check スクリプトの実行)を行っている段階。
(4) Cmdline リソースが稼動している段階。
(5) Cmdline リソースの停止(Stop スクリプトの実行)を行っている段階。
(6) Cmdline リソースの停止後の状態チェック(Check スクリプトの実行)を行っている段階。
(7) Cmdline リソースの停止が完了してから、RMS が停止完了するまでの段階。