RMS 起動時には、AutoStartup 属性の設定にかかわらず必ず Check スクリプトが実行されます。
また、状態遷移時には Stop スクリプト、および Start スクリプトが呼出されます。
各スクリプトでは HV_LAST_DET_REPORT や HV_INTENDED_STATE を参照して、online 処理を行うべきか、offline 処理を行うべきか適切な判断を行う必要があります。
各スクリプト実行時に設定される HV_LAST_DET_REPORT および HV_INTENDED_STATE の値は下表のとおりです。
状態遷移 | 実行スクリプト | 環境変数の値 | |||
---|---|---|---|---|---|
分類 | Cmdline リソースの状態 | HV_LAST_DET_REPORT | 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 | |
切捨て時 | 運用系 | Online | - | - | - |
待機系 | Offline⇒Offline | Stop スクリプト *2 | Offline | Offline | |
保守モード終了時 | 運用系 | Online⇒Online | Start スクリプト *4 | Online | Online |
待機系 | Offline⇒Offline | - | - | - |
*1:HV_LAST_DET_REPORT の値は "実行スクリプト" 実行直前のリソースの状態です。
*2:このスクリプトは、以下の条件に合致する場合のみ実行されます。
リソースの NULLDETECTOR 属性が "Yes" の場合、かつ、
userApplication が Offline 状態以外で、Offline 処理が実行される場合
*3:同一の userApplication 配下に存在するホットスタンバイ運用のリソースが故障する場合です。
*4:このスクリプトは、リソースの NULLDETECTOR 属性が "Yes" の場合のみ実行されます。
状態遷移 | 実行スクリプト | 環境変数の値 | |||
---|---|---|---|---|---|
分類 | Cmdline リソースの状態 | HV_LAST_DET_REPORT | 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.12.2.1.2 Start/Stop スクリプト内で参照できる環境変数"を参照してください。
Cmdline リソースの各状態移行時に実行されるスクリプトは下図のとおりです。
状態遷移ごとの各スクリプトの実行順番については、"6.12.1.5 動作フロー" を参照してください。
図6.72 状態移行時の実行スクリプト
Cmdline リソースが Online となる場合には、Start スクリプトが 1 度だけ実行されます。
Check スクリプトは、10 秒間隔で実行されていますが、Start スクリプトが終了した直後にも実行されます。
詳細については "6.12.1.5 動作フロー" を参照してください。
Start スクリプトと Check スクリプトの終了コードごとに移行する状態は以下のとおりです。
終了コードの詳細については "6.12.2.2.2 Check スクリプトの終了コードについて" を参照してください。
図6.73 Online 時のスクリプトと状態
(*)タイムアウトについては"6.12.2.1.5 スクリプトのタイムアウトについて"を参照してください。
ホットスタンバイ運用の Cmdline リソースのみ Standby となります。
Cmdline リソースが Standby となる場合には、Start スクリプトが 1 度だけ実行されます。
Check スクリプトは、10 秒間隔で実行されていますが、Start スクリプトが終了した直後にも実行されます。
詳細については "6.12.1.5 動作フロー" を参照してください。
Start スクリプトと Check スクリプトの終了コードごとに移行する状態は以下のとおりです。
終了コードの詳細については "6.12.2.2.2 Check スクリプトの終了コードについて" を参照してください。
図6.74 Standby 時のスクリプトと状態
(*)タイムアウトについては"6.12.2.1.5 スクリプトのタイムアウトについて"を参照してください。
Cmdline リソースが Offline となる場合には、Stop スクリプトが 1度だけ実行されます。
Check スクリプトは、10 秒間隔で実行されていますが、Stop スクリプトが終了した直後にも実行されます。
詳細については "6.12.1.5 動作フロー" を参照してください。
Stop スクリプトと Check スクリプトの終了コードごとに移行する状態は以下のとおりです。
終了コードの詳細については "6.12.2.2.2 Check スクリプトの終了コードについて" を参照してください。
図6.75 Offline 時のスクリプトと状態
(*)タイムアウトについては"6.12.2.1.5 スクリプトのタイムアウトについて"を参照してください。
(**)ALLEXITCODESを設定した場合です。詳しくは、表3.1 のALLEXITCODES 属性を参照してください。
Cmdline リソースの動作を以下の分類で説明します。
RMS 起動時
RMS 停止時
切替え時
以降の各図には例として、Cmdline リソースに加え Gls リソースを記載しています。
RMS 起動時 運用系 (Offline=>Online)
Cmdline リソースの動作
RMS 起動後、Check スクリプトが一定間隔(約 10 秒)ごとに実行されます。その後、Start スクリプトが実行され、Start スクリプト復帰後、一定間隔経過を待たずに Check スクリプトが実行されます。Start スクリプトが正常復帰し、Check スクリプトが Online で復帰した後、該当する Cmdline リソースは Online となります。
注意
Check スクリプトは Start スクリプトよりも前に動作します。Start スクリプト実行前に、Check スクリプトが Online で復帰した場合、Start スクリプトは実行しません。
Gls リソースの動作
RMS を起動後に、リソースを Online にするタイミングで、GLS は、仮想 IP アドレスを活性化させます。また、活性化した IP アドレスの所在を通信相手に知らせるために、ダウン通知を送信します。
RMS 起動時 待機系 (Offline=>Offline)
Cmdline リソースの動作
RMS 起動後、Check スクリプトが一定間隔(約 10 秒)ごとに実行されます。
Gls リソースの動作
何もしません。
RMS 起動時 待機系 (Offline=>Standby)
Cmdline リソースの動作
RMS 起動後、Check スクリプトが一定間隔(約 10 秒)ごとに実行されます。その後、Start スクリプトが実行され、Start スクリプト復帰後、一定間隔経過を待たずに Check スクリプトが実行されます。Start スクリプトが正常復帰し、Check スクリプトが Standby で復帰した後、該当する Cmdline リソースは Standby となります。
注意
Check スクリプトは Start スクリプトよりも前に動作します。Start スクリプト実行前に、Check スクリプトが Standby で復帰した場合、Start スクリプトは実行しません。
Gls リソースの動作
Standby 状態では、GLS は仮想 IP アドレスを活性化しない状態で、ホスト監視機能(ping 監視)により、伝送路の監視を行います。
RMS 停止時 運用系 (Online=>Offline)
Cmdline リソースの動作
Stop スクリプトが実行されます。その後、一定間隔経過を待たずに Check スクリプトが実行されます。Stop スクリプトが正常復帰し、Check スクリプトが Offline で復帰した後、該当する Cmdline リソースは Offline となります。
Gls リソースの動作
Online 状態の時に活性化した仮想 IP アドレスを非活性化します。また、GLS のユーザコマンド実行機能(RESOURCE_OFFLINE)が設定してある場合、スクリプトを実行します。
RMS 停止時 待機系 (Offline=>Offline)
Cmdline リソースの動作
すでに Cmdline リソースは Offline のため、Stop スクリプトは実行されません。
Gls リソースの動作
何もしません。
RMS 停止時 待機系 (Standby=>Offline)
Cmdline リソースの動作
Stop スクリプトが実行されます。その後、一定間隔経過を待たずに Check スクリプトが実行されます。
Stop スクリプトが正常復帰し、Check スクリプトが Offline で復帰した後、該当する Cmdline リソースは Offline となります。
Gls リソースの動作
Standby 状態で動作している通信相手ホスト監視(ping 監視)を停止させます。
切替え時 運用系 (Online=>Offline)
Cmdline リソースの動作
Stop スクリプトが実行されます。その後、一定間隔経過を待たずに Check スクリプトが実行されます。
Stop スクリプトが正常復帰し、Check スクリプトが Offline で復帰した後、該当する Cmdline リソースは Offline となります。
Gls リソースの動作
Online 状態の時に活性化した仮想 IP アドレスを非活性化します。また、GLS のユーザコマンド実行機能(RESOURCE_OFFLINE)が設定してある場合、スクリプトを実行します。
切替え時 待機系 (Offline=>Online)
Cmdline リソースの動作
Start スクリプトが実行されます。その後、一定間隔経過を待たずに Check スクリプトが実行されます。
Start スクリプトが正常復帰し、Check スクリプトが Online で復帰した後、該当する Cmdline リソースは Online となります。
Gls リソースの動作
リソースを Online にするタイミングで、GLS は、仮想 IP アドレスを活性化させます。また、活性化した IP アドレスの所在を通信相手に知らせるために、ダウン通知を送信します。
切替え時 待機系 (Standby=>Online)
Cmdline リソースの動作
Start スクリプトが実行されます。その後、一定間隔経過を待たずに Check スクリプトが実行されます。
Start スクリプトが正常復帰し、Check スクリプトが Online で復帰した後、該当する Cmdline リソースは Online となります。
Gls リソースの動作
リソースを Online にするタイミングで、GLS は、仮想 IP アドレスを活性化させます。また、活性化した IP アドレスの所在を通信相手に知らせるために、ダウン通知を送信します。
Check スクリプトの終了コードごとの動作は、以下の "起動から停止までの段階 (1)~(7)" に分類して説明します。
(1) RMS が起動してから、Cmdline リソースの起動が始まるまでの段階。
(2) Cmdline リソースの起動(Start スクリプトの実行)を行っている段階。
(3) Cmdline リソースの起動後の状態チェック(Check スクリプトの実行)を行っている段階。
(4) Cmdline リソースが稼動している段階。
(5) Cmdline リソースの停止(Stop スクリプトの実行)を行っている段階。
(6) Cmdline リソースの停止後の状態チェック(Check スクリプトの実行)を行っている段階。
(7) Cmdline リソースの停止が完了してから、RMS が停止完了するまでの段階。
ホットスタンバイ運用以外の Cmdline リソースの待機系において、RMS 起動時は Start スクリプトが実行されないため、上記の(2)と(3)の段階はありません。
ホットスタンバイ運用以外の Cmdline リソースの待機系において、RMS 停止時は Stop スクリプトが実行されないため、上記の(5)と(6)の段階はありません。
ホットスタンバイ運用の Cmdline リソースの場合
ホットスタンバイ運用以外の Cmdline リソースの場合