クラスタ連携関連定義

ここでは,クラスタ連携関連定義の各オペランドについて説明します。

なお,クラスタ連携関連定義のオペランドには,HAサーバで指定できないオペランドがあります。HAサーバで指定できないオペランドについては,「HAサーバで指定できないXTCサービス定義」を参照してください。

形式

〔set cluster_mode={Y|N}〕
〔set cluster_test_mode={Y|N}〕
 set standby_start_watch_time=待機系の起動完了の最大待ち時間
〔set standby_start_error_switch={stop|continue}〕
〔set mch_clsend_ack_timer=CL同期待ち監視時間〕
〔set mch_clsend_next_timer=CL同期後続待ち監視時間〕
〔set mch_clsend_retry_count=CL間同期メッセージの送信エラー時の送信リトライ回数〕
〔set mch_clsend_retry_interval=送信リトライ開始間隔T1,送信リトライ最大間隔T2〕
〔set mch_clsend_rs_retry_interval=送信リトライ開始間隔T1,送信リトライ最大間隔T2〕
〔set mch_clsend_ack_retry_count=送達確認メッセージの送信エラー時の送信リトライ回数〕
〔set mch_clsend_ack_retry_interval=送達確認メッセージの送信リトライ間隔〕
〔set mch_clsend_sta_timer=開始および終了時のCL同期待ち監視時間〕
〔set mch_clsend_rrn_timer=系切り替え時のCL同期待ち監視時間〕
〔set mch_commit_wait_msg_interval=仕掛かり中のリソースを知らせるメッセージの出力間隔〕
〔set mch_commit_wait_msg_level=仕掛かり中のリソースの監視レベル〕
〔set mch_xdb_buf_pool_count=XDBの更新ログ転送用のUDP用送信バッファ確保数〕
〔set send_thread_no=送信スレッド数〕
〔set mch_clreq_rcvthd={Y|N}〕

オペランドの説明

cluster_mode={Y|N}

  ~《Y》
CL連携による系切り替えを行うかどうかを指定します。
Y:
CL連携による系切り替えを行います。
N:
CL連携による系切り替えを行いません。

cluster_test_mode={Y|N

  ~《N》
CLサーバのシミュレート機能を使用するかどうかを指定します。CLサーバのシミュレート機能については,「2.10.1 CLサーバのシミュレート機能」を参照してください。
Y:
CLサーバのシミュレート機能を使用します。
CL単独起動機能を使用する場合は,Yを指定できません。
N:
CLサーバのシミュレート機能を使用しません。

standby_start_watch_time=待機系の起動完了の最大待ち時間

  ~〈符号なし整数〉((0~3600))(単位:秒)
実行系の起動時,すべての待機系の起動が完了するまでの待ち時間の上限を秒単位で指定します。このオペランドは必ず指定してください。
このオペランドに指定した時間を過ぎても,すべての待機系の起動が完了しない場合,standby_start_error_switchオペランドの指定に従った処理が行われます。
0を指定した場合は,すべての待機系の起動が完了するまで待ち続けます。この場合,すべての待機系の起動が完了しないかぎり実行系は起動しません。
なお,このオペランドの指定は,待機系では無視されます。
また,cluster_test_modeオペランドにYを指定,またはCL単独起動機能を使用した場合,このオペランドの指定は無視されます。

standby_start_error_switch={stop|continue}

  ~《stop》
実行系の起動時,standby_start_watch_timeオペランドで指定した時間を過ぎてもすべての待機系の起動が完了しない場合の処理を指定します。
stop:
実行系の起動処理を中止します。
continue:
起動が完了している待機系がある場合は,実行系を起動します。
ただし,起動が完了している待機系がない場合は,実行系の起動処理を中止します。

mch_clsend_ack_timer=CL同期待ち監視時間

  ~〈符号なし整数〉((1~65535))《1》(単位:10ミリ秒)
実行系と待機系の同期合わせ処理の通信待ち時間の上限を10ミリ秒単位で指定します。このオペランドに指定した時間を過ぎても応答がない場合は,mch_clsend_retry_countオペランドに従って再送します。
実行系が,複数の待機系からの応答メッセージを受信する場合,最初に受信した応答メッセージまでの時間が,このオペランドで指定する監視時間になります。以降の待機系からの応答メッセージの監視時間は,mch_clsend_next_timerオペランドで指定します。

mch_clsend_next_timer=CL同期後続待ち監視時間

  ~〈符号なし整数〉((2~128))《2》(単位:ミリ秒)
実行系と待機系の同期合わせ処理の通信待ち時間の上限をミリ秒単位で指定します。このオペランドに指定した時間を過ぎても応答がない場合は,mch_clsend_retry_countオペランドに従って再送します。
実行系が,待機系から応答メッセージを受信してから,次の応答メッセージを受信するまでの時間が,このオペランドで指定する監視時間になります。
mch_clsend_ack_timerオペランドとmch_clsend_next_timerオペランドの関係を次の図に示します。

図5-2 mch_clsend_ack_timerオペランドとmch_clsend_next_timerオペランドの関係

[図データ]

mch_clsend_retry_count=CL間同期メッセージの送信エラー時の送信リトライ回数

  ~〈符号なし整数〉((0~65535))《10》
実行系と待機系間での同期合わせのためのメッセージ(CL同期メッセージなど)を送信した場合に,エラーが発生したときの送信リトライ回数の上限を指定します。
実行系の場合,送信リトライ回数がこのオペランドの値を超えた場合,以後,送信エラーとなった待機系に対してはメッセージを送信しません。
0を指定した場合は,送信リトライを行いません。

mch_clsend_retry_interval=送信リトライ開始間隔T1,送信リトライ最大間隔T2

  ~送信リトライ開始間隔T1:〈符号なし整数〉((1~1000))《1》(単位:ミリ秒)
  ~送信リトライ最大間隔T2:〈符号なし整数〉((10~65536))《100》(単位:ミリ秒)
実行系と待機系間での同期合わせのためのメッセージ(CL同期メッセージなど)を送信した場合に,エラーが発生したときの送信リトライ間隔をミリ秒単位で指定します。
送信リトライ開始間隔T1:
最初の送信リトライを開始するまでの間隔を指定します。
送信リトライ最大間隔T2
送信リトライの最大間隔を指定します。「送信リトライ開始間隔T1」以上の値を指定してください。
送信リトライ間隔は,次に示す計算式によって決まります。ただし,送信リトライ間隔が「送信リトライ最大間隔T2」より大きくなったときは,以降のリトライ間隔は「送信リトライ最大間隔T2」の指定値に従います。

送信リトライ間隔=送信リトライ開始間隔T1×2n1

n:
送信リトライ回数
 
オペランドの指定によるリトライ間隔の例を次に示します。
(例1)mch_clsend_retry_interval=1,100 mch_clsend_retry_count=10と指定した場合の,送信エラーによるリトライ間隔(単位:ミリ秒)

1,2,4,8,16,32,64,100,100,100

(例2)mch_clsend_retry_interval=10,10 mch_clsend_retry_count=10と指定した場合の,送信エラーによるリトライ間隔(単位:ミリ秒)

10,10,10,10,10,10,10,10,10,10

mch_clsend_rs_retry_interval=送信リトライ開始間隔T1,送信リトライ最大間隔T2

  ~送信リトライ開始間隔T1:〈符号なし整数〉((1~1000))《1》(単位:ミリ秒)
  ~送信リトライ最大間隔T2:〈符号なし整数〉((10~65536))《100》(単位:ミリ秒)
実行系と待機系間での同期合わせのためのメッセージ(CL同期メッセージなど)を送信した場合に,リソース不足のエラーが発生したときの送信リトライ間隔をミリ秒単位で指定します。
送信リトライ開始間隔T1:
最初の送信リトライを開始するまでの間隔を指定します。
送信リトライ最大間隔T2:
送信リトライの最大間隔を指定します。「送信リトライ開始間隔T1」以上の値を指定してください。
送信リトライ間隔の仕様は,mch_clsend_retry_intervalオペランドと同じです。詳細については,mch_clsend_retry_intervalオペランドの説明を参照してください。

mch_clsend_ack_retry_count=送達確認メッセージの送信エラー時の送信リトライ回数

  ~〈符号なし整数〉((0~255))《3》
送達確認メッセージを待機系から実行系に送信する場合にエラーが発生したときの送信リトライ回数の上限を指定します。
0を指定した場合は,送信リトライを行いません。

mch_clsend_ack_retry_interval=送達確認メッセージの送信リトライ間隔

  ~〈符号なし整数〉((0~1000))《0》(単位:ミリ秒)
送達確認メッセージを待機系から実行系に送信する場合にエラーが発生したときの送信リトライ間隔をミリ秒単位で指定します。
0を指定した場合は,すぐに送信リトライを行います。

mch_clsend_sta_timer=開始および終了時のCL同期待ち監視時間

  ~〈符号なし整数〉((1~65535))《10》(単位:100ミリ秒)
XTCの開始および終了時,実行系と待機系の同期合わせ処理が行われます。このオペランドには,同期合わせ処理の通信待ち時間の上限を100ミリ秒単位で指定します。このオペランドに指定した時間を過ぎても応答がない場合は,mch_clsend_retry_countオペランドの指定に従ってメッセージの再送を行います。

mch_clsend_rrn_timer=系切り替え時のCL同期待ち監視時間

  ~〈符号なし整数〉((1~65535))《1》(単位:100ミリ秒)
系切り替え時,実行系と待機系の同期合わせ処理が行われます。このオペランドには,同期合わせ処理の通信待ち時間の上限を100ミリ秒単位で指定します。このオペランドに指定した時間を過ぎても応答がない場合は,mch_clsend_retry_countオペランドの指定に従ってメッセージの再送を行います。

mch_commit_wait_msg_interval=仕掛かり中のリソースを知らせるメッセージの出力間隔

  ~〈符号なし整数〉((0~65535))《300》(単位:100ミリ秒)
実行系から転送されたリソースが待機系に反映されていない場合,仕掛かり中のリソースを知らせるメッセージが出力されます。このメッセージの出力間隔を100ミリ秒単位で指定します。
0を指定した場合は,仕掛かり中のリソースを知らせるメッセージは出力されません。

mch_commit_wait_msg_level=仕掛かり中のリソースの監視レベル

  ~〈符号なし整数〉((1~2))《1》
仕掛かり中のリソースの監視レベルを指定します。
1:
トランザクション決着後のCL同期メッセージの受信から,CL同期済み通知メッセージの受信による処理キュー登録までの時間を監視対象とします。
2:
CL同期済み通知メッセージの受信から,CL同期済み通知メッセージの受信による処理キュー登録までの時間を監視対象とします。

mch_xdb_buf_pool_count=XDBの更新ログ転送用のUDP用送信バッファ確保数

  ~〈符号なし整数〉((1~1000))《1》
XDBの更新ログを実行系から待機系に転送する場合,UDP用送信バッファ(UOBF)を確保します。このオペランドには,処理スレッドごとに確保するUDP用送信バッファの最大数を指定します。
なお,このオペランドの指定によって確保されるUDP用送信バッファ数が,メモリ関連定義のudp_send_message_buf_cntオペランドの値以上にならないように注意してください。
UDP用送信バッファが不足した場合,不足した分のUDP用送信バッファを新たに確保します。
また,転送に必要なUDP用送信バッファ数が,このオペランドで指定した数の2倍以上で,かつ10面以上になる場合は,XTC用ワーク領域(XTCPOOL)を使用して更新ログを転送します。

send_thread_no=送信スレッド数

  ~〈符号なし整数〉((1~50))《3》
プロセス内で使用する送信スレッド数を指定します。送信スレッド数は3以上を指定することをお勧めします。
送信スレッドは次に示す用途で使用します。
  • ee_rpc_cmtsend関数の再送
  • ee_mch_cmtsend関数による一方送信メッセージの送信
  • 一方送信メッセージの受信による送達確認メッセージの送信
  • 実行系と待機系の同期合わせ

mch_clreq_rcvthd={Y|N

  ~《N》
待機系で,CL同期メッセージを受信してから送達確認メッセージを送信するまでの処理をすべてUDP受信スレッドで行うかどうかを指定します。
Y:
UDP受信スレッドだけで処理を行います。
ただし,トランザクションと非同期で転送するリソースのときは,送信スレッドでも処理を行います。
N:
UDP受信スレッドと送信スレッドで処理を行います。
この定義は,CLサーバだけ指定できます。HAサーバでは指定できません。