11.1.2 サーバ間排他/共用制御機能の方式
BJEXの排他/共用制御機能をサーバ間で有効にするため,BJEX EEは次の図に示す方式でサーバ間排他/共用制御を実現する。
|
|
「図11-3 サーバ間排他/共用制御機能の実現方式概要」に示す,バッチサーバにある「クライアント」と管理サーバにある「排他/共用制御」間は,クライアント/サーバ型の通信としてRPCを利用する。
|
|
サーバ間排他/共用制御機能を実現するためにBJEX EEは次の表に示すコンポーネントを提供する。
|
項番 |
コンポーネント |
配置 |
機能説明 |
|---|---|---|---|
|
1 |
クライアントライブラリ |
バッチサーバ |
|
|
2 |
クライアント監視マネージャ |
バッチサーバ |
|
|
3 |
ロック制御マネージャ |
管理サーバ |
(1) クライアントライブラリ
クライアントライブラリは,BJEXからの排他/共用制御要求をロック制御マネージャにRPCで依頼する。
クライアントライブラリは,ユーザ側で起動および停止の操作は不要である。
クライアントライブラリからロック制御マネージャへのロック確保要求のRPCの発行条件を次の表に示す。
|
クライアント監視マネージャ起動の判定 |
ロック確保要求のRPC |
|---|---|
|
起動している。 |
発行する。 |
|
起動していない。 |
発行しない(BJEXにエラーを返す)。 |
また,ロック解放要求時は,クライアント監視マネージャの起動有無に関係なくロック解放要求のRPCを発行する。
(2) クライアント監視マネージャ
クライアント監視マネージャは,SPPとしてロック制御マネージャからのアライブチェックに対応する。クライアント監視マネージャの起動,停止,再起動方法については,「12. BJEX EEのセットアップ」を参照のこと。
クライアント監視マネージャの停止と再起動は,ジョブ未実行状態で実施すること。
(3) ロック制御マネージャ
ロック制御マネージャは,SPPとしてクライアントライブラリからの排他/共用制御要求に対応する。ロック制御マネージャの起動,停止,再起動方法については,「12. BJEX EEのセットアップ」を参照のこと。
ロック制御マネージャの停止と再起動は,ジョブ未実行状態で実施すること。
クライアントライブラリからのロック確保要求時,ロック確保対象の資源がロック確保中だった場合に,ロック確保中のバッチサーバのクライアント監視マネージャに対してRPCを発行し,バッチサーバのアライブチェックを実施する。アライブチェックの内容を次の表に示す。
また,管理サーバ障害時の可用性を目的として,ロック制御マネージャはクラスタ運用に対応する。なお,バッチサーバのクライアントライブラリはクラスタ運用に対応しない。クラスタ運用の場合,実行系サーバと待機系サーバの2つの異なるホスト名を1つの論理ホスト名として利用できる。論理ホスト名の定義はクラスタソフトに定義する。これにより,クライアントライブラリは実行系サーバと待機系サーバを意識することはない。
クラスタ運用の概要を次の図に示す。
|
|
-
クライアントライブラリから実行系サーバのロック制御マネージャにロック確保・解放要求RPCを発行する。
-
実行系サーバのロック制御マネージャは,ロック確保・解放で更新されたロック確保情報を,排他確保情報ファイルに書き込み反映する。
-
実行系サーバの管理サーバに障害が発生し,待機系サーバへの系切り替えが発生する。
-
待機系サーバのロック制御マネージャは,SPP起動時に排他確保情報ファイルを読み込み,ロック確保情報をロック制御マネージャの共用メモリに反映する。
-
クライアントライブラリから,系切り替え後のロック制御マネージャにロック確保・解放要求RPCを発行する。