Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option 使用の手引


3.1.14 サービスグループ閉塞機能

〈この項の構成〉

(1) 概要

サービスグループ閉塞機能は,特定のサーバ(TP1/EE)をシステムから切り離すための機能です。

サービスグループ閉塞/閉塞解除はeesgrpctlコマンドを使用します。

システムからの切り離しとは,サービスグループ閉塞対象TP1/EEへのネーム情報を使用したRPC送信要求を対象外にすることを意味します。

ただし,次の場合,サービスグループ閉塞機能を使用できません。

サービスグループを閉塞すると,サービスグループ閉塞したTP1/EEはRPC送信元からの送信先サーバ,負荷レベルによる転送先サーバとしての対象から外れます。

サービスグループ閉塞を解除するとRPC要求送信先サーバ,および転送先サーバの対象となります。

コマンドにオプションを指定すると,サービスグループの閉塞状態を確認(表示)できます。

なお,サービスグループ閉塞後,RPC要求元サーバ,および同一サービスグループ名の他のサーバでeenamupdateコマンドを実行すると,各サーバのネーム情報を即時更新(送信先サーバとして除外)できます。

eenamupdateコマンドを実行しない場合は,ネーム情報の更新までタイムラグが発生する場合があります。

この間,サービスグループ閉塞したTP1/EEがRPC要求を受信する場合があります。その場合の動作は「(4) サービスグループ閉塞中の動作」を参照してください。

図3‒14 サービスグループ閉塞

[図データ]

(2) サービスグループ閉塞機能を使用する場合の前提

(3) サービスグループ閉塞の流れ

緊急ライブラリ入れ替え時を例にサービスグループ閉塞の手順の流れを次の図に示します。

サーバA,B,C,Dはそれぞれ次の機能を持ったサーバで,サーバBのライブラリ入れ替えをする場合の例を説明しています。

サーバA:RPC送信元サーバでOBMのBCMがあるサーバ。

サーバB:RPC送信先サーバでOBMのBCSおよびDBキューの読み出しをするサーバ。

サーバC,D:RPC送信先サーバでOBMのBCSがあるサーバ。

なお,この例では,OBM,DBキューを使用しているサーバを対象とし,DBキューは読み出しを停止しても良い場合について説明しています。1.〜10.の順で実行してください。

図3‒15 サービスグループ閉塞の流れ

[図データ]

  1. サーバAで,OBM停止コマンド(eeobmstop)を実行してOBMを停止する。

  2. DBキューサービス閉塞コマンド(eedbqdctsv)を実行し,DBキューサービスを閉塞する。

  3. サービスグループ閉塞コマンド(eesgrpctl)を実行し,サービスグループを閉塞する。

  4. サービスグループ閉塞したTP1/EEにRPC送信するすべてのプロセスで,ネーム情報更新コマンド(eenamupdate)を実行する。

    サービスグループ閉塞したプロセスと同一サービスグループ名のすべてのプロセスに対してもネーム情報更新コマンドを実行する必要があります。これは,負荷レベルによるサービスグループ閉塞済みのサーバへの転送を防止するためです。

  5. 処理キュー統計情報表示コマンド(eelsque)を実行し,全サービスの滞留数が0になったか確認する。

  6. ライブラリ入れ替えコマンド(eechglib)の自ノード実行で,サーバのライブラリを入れ替える。

  7. サービスグループ閉塞解除コマンド(eesgrpctl)を実行し,サービスグループの閉塞を解除する。

  8. 4.と同プロセスに対してネーム情報更新コマンド(eenamupdate)を実行する。

  9. DBキューサービス閉塞解除コマンド(eedbqactsv)を実行し,DBキューサービスの閉塞を解除する。

  10. サーバAで,OBM開始コマンド(eeobmstart)を実行してOBMを再開する。

(4) サービスグループ閉塞中の動作

(a) RPCプロトコルを使用したTP1/EE機能

サービスグループ閉塞中のRPCプロトコルを使用したTP1/EE機能の各処理を次の表に示します。

表3‒13 RPCプロトコルを使用したTP1/EE機能の処理

項番

内容

動作

サービスグループ閉塞前に実行したもの

(サービスグループ閉塞時にキューに滞留していたもの)

サービスグループ閉塞後に実行したもの

1

eechglib

(他ノード実行)

実行しないでください。実行した場合の動作は保証しません。

全ノード指定で実行した場合,サービスグループ閉塞したプロセスだけ実行されないことがあります。

2

eesvctl

(他ノード実行)

実行しないでください。実行した場合の動作は保証しません。

全ノード指定で実行した場合,サービスグループ閉塞したプロセスだけ実行されないことがあります。

3

eesdhchg

(他ノード実行)

実行しないでください。実行した場合の動作は保証しません。

全ノード指定で実行した場合,サービスグループ閉塞したプロセスだけ実行されないことがあります。

4

eeucmd

(他ノード実行)

実行しないでください。実行した場合の動作は保証しません。

5

eetimchown

実行しないでください。実行した場合の動作は保証しません。

6

OBMサービス

実行しないでください。OBMが強制停止するおそれがあります。事前にeeobmstopコマンドでOBMを停止しておいてください。

7

永続タイマサービス実行

実行します。ただし,サービスグループ閉塞中に新たに起動時刻に達したタイマの起動要求は,他ノードに横転送します。

実行します。ただし,タイマの起動要求は,他ノードに横転送します。

(凡例)

−:対象外です。

(b) RPCプロトコル以外のサービス実行

サービスグループ閉塞中の各トランザクションの動作を次の表に示します。

表3‒14 各トランザクションの動作

項番

トランザクション

動作

サービスグループ閉塞前に実行したもの

(サービスグループ閉塞時にキューに滞留していたもの)

サービスグループ閉塞後に実行したもの

1

TMトランザクション

(永続化無のユーザタイマ)

実行します。

ただし,サービスグループ閉塞中に新たに起動時刻に達したタイマは,サービスグループ閉塞解除まで実行しません。

(タイマ起動監視状態継続)

サービスグループ閉塞解除まで実行しません。

(タイマ起動監視状態継続)

ただし,即時起動を指定した場合は実行します。

2

MNトランザクション(DBQ)

実行します。

処理キュー滞留数チェック時に滞留数が0にならないおそれがあるため,事前にeedbqdctsvコマンドでDBキューサービスを閉塞しておいてください。

(DBキュー読み出し継続)

3

MNトランザクション

(RAP)

実行します。

実行します。

(エラー応答します)。

4

UTトランザクション

(eeexecut)

実行します。

5

CUトランザクション

(eeucmd)

実行します。

6

エラートランザクション

実行します。

(5) 再開始時のサービスグループ閉塞状態引き継ぎ

サービスグループの閉塞状態は,TP1/EEプロセスの再開始時に引き継ぎます。

サービスグループの閉塞状態が「閉塞中」または「閉塞処理中」の状態で,次のようにTP1/EEプロセスが終了した場合,再開始時のサービスグループの閉塞状態は「閉塞中」となります。それ以外は「閉塞解除中」となります。

再開始時にサービスグループの閉塞状態が「閉塞中」の場合,起動直後にKFSB80310-Iメッセージを出力します。以降,閉塞状態が継続する間,1分間隔でKFSB80310-Iメッセージを出力します。

(6) ネーム情報更新機能

ネーム情報更新機能は,サービスグループの閉塞または閉塞解除をしてサーバ(TP1/EE)のネーム情報(削除・登録)を即時に更新するための機能です。

通常,TP1/EEのネーム情報は,インターバル間隔で更新します。このため,サービスグループ閉塞・閉塞解除によるネーム情報の更新は即時に行われない場合があります。

指定したサービスグループ(サービスグループ閉塞・閉塞解除したサービスグループ)のネーム情報を即時更新したい場合は,eenamupdateコマンドで更新できます。

サービスグループ閉塞をした場合,ネーム情報の更新はTP1/EE以外の全TP1/EEに対し実行する必要があります。