グローバル ロック マネージャー

Enterprise Server クラスターは、グローバル ロック マネージャー (GLM) と呼ばれる Enterprise Server リージョンの特定インスタンスと相互接続され、また GLM によって調整されます。

GLM は Enterprise Server リージョンの特別なインスタンスで、その単独の役割はグローバル ロック要求の処理です。すべてのロックはメモリ常駐であるため、通常 GLM マシンには大容量のメモリが必要です。

Enterprise Server クラスターでは、GLM を含むすべてのクラスター メンバーが CATALOG.DAT および Dataset Allocation Default Location (DADL) を共有する必要があります。この構成は GLM の役割、すなわちファイル破損を防止することを定義しており、GLM はすべてのグローバル スコープ ロックのロック マネージャーとして機能します。また、すべてのクラスター メンバーは同じドメイン上に存在する必要があります。この制限が適用されるのは、システムは SYS-C 定義を使用してクラスター参加者を識別しており、SYS-C 定義では 16 文字の識別子が使用されますが、別のドメイン上のホストでは最大 255 文字の識別子が使用されるためです。

クラスターのメンバーでない Enterprise Serverインスタンスでは、ロック マネージャーはこの単一リージョン内のバッチ イニシエーター全体でロックを処理します。クラスターのメンバーである Enterprise Server インスタンスでは、同じロック マネージャーのコピーが GLM 上で実行し、クラスターの全メンバーのバッチ イニシエーター全体でロックを管理します。

ロック マネージャーの主な役割は、ジョブが排他的ロックでファイルにアクセスする際に、ブロックしているジョブがそのロックを解放するまでは他のジョブがそれらのファイルにアクセスできないようにすることです。

下記の console.log からの抜粋では、JOB01694 は GLM によって待機状態に置かれており、同時に GLM はデータセット SYSI.MAIN01.GENE001 および SYSI.MAIN01.SPEC001 の使用を要求しています。

JCLCM0188I JOB01694 JRX0035 JOB STARTED 10:29:51
 MVSXR0091I JOB01694 JRX0035 Waiting for shared use of dataset "SYSI.MAIN01.GENE001". 10:29:51
 MVSXR0091I JOB01694 JRX0035 Waiting for shared use of dataset "SYSI.MAIN01.SPEC001". 10:29:51
 MVSXR0093I JOB01694 JRX0035 Required datasets have been acquired. Execution resumed. 10:29:55

10:29:55 に、要求されたロックが取得されるとジョブが再開します。

ロック サーバー (ローカル) またはサーバー (グローバル) の範囲は、リソース名リスト (RNL) を使用して定義されます。