日本-日本語
≫  お問い合わせ

製品とサービス >  ソフトウェアとOS >  OpenVMS >  マニュアル

OpenVMS マニュアル


HP OpenVMS
OpenVMS Cluster システム


目次 索引



分散ロック・マネージャは,分散ファイル・システム,分散キュー・マネージャ,デバイスの割り当て,ユーザ作成 OpenVMS Cluster アプリケーション,その他の OpenVMS 製品やソフトウェア・コンポーネントで必要とされる機能の同期をとるための OpenVMS 機能です。

分散ロック・マネージャでは,接続マネージャと SCS を使用して, OpenVMS Cluster コンピュータ間で情報がやり取りされます。

2.6.1 分散ロック・マネージャの機能

分散ロック・マネージャには,以下の機能があります。

  • 以下のリソースも含めて,クラスタ単位の共用リソースへのアクセスの同期をとります。

    • デバイス

    • ファイル

    • ファイル内のレコード

    • データベースやメモリなどのユーザ定義リソース


    各リソースは,OpenVMS Cluster のコンピュータによってクラスタ単位で管理されます。

  • $ENQ システム・サービスと $DEQ システム・サービスを実装して,リソース名のロックとアンロックを可能にすることで,クラスタ単位でリソースへのアクセスの同期をとります。
    関連項目: システム・サービスの詳細については,『OpenVMS System Services Reference Manual』を参照してください。

  • ロックされているリソースへのアクセスを求めるプロセス要求をキューに登録します。このキューイング機能により,特定のリソースが使用可能な状態になるまで,プロセスを待ち状態にすることができます。この結果,協調動作するプロセスは,ファイルやレコードなどの共用オブジェクトへのアクセスの同期をとることができます。

  • OpenVMS Cluster コンピュータで障害が発生したときに,そのコンピュータが保有しているすべてのロックを解放します。この結果,残りのコンピュータで処理を続行することができます。

  • クラスタ単位のデッドロックの検出をサポートします。



2.6.2 ロック・マネージャの管理

ロック・マネージャは完全に自動化されており,通常,特別なシステム管理は必要ありません。しかし, LOCKDIRWT および LOCKRMWT システム・パラメータを使用すれば,ロック操作の分散とクラスタ全体でのロック・リソース・ツリーの制御を調整することができます。

ロック・リソース・ツリーはロックが置かれる場所を抽象的に表したものです。クラスタ内には複数のロック・リソース・ツリーが存在することができます。各リソース・ツリーごとに,ディレクトリ・ノードと呼ばれるノードに加え,ロック・リソース・マスターノードと呼ばれる別のノードが存在します。

ロック・リソース・マスターノードはロック・リソース・ツリーを制御し,ロック・リソース・ツリー上のすべてのロックを把握しています。クラスタの全ノードで,ロック・ツリー上のすべてのロック操作はリソースマスターに通知されます。マスターノード以外のノードでは,ノード固有のロックのみを認識します。

さらに,クラスタ内のすべてのノードは,多くの異なるロック・リソース・ツリー上に多くのロックを持っており,それぞれにマスターノードがあります。新しいロック・リソース・ツリーを作成する場合,まずディレクトリ・ノードにリソース・マスターがすでに存在するかどうかを問い合せなければなりません。

LOCKDIRWT パラメータは,ロック・リソース・ツリーに対するディレクトリ・ノードとしてノードを割り当てます。ノードの LOCKDIRWT 設定が高ければ高いほど,いずれかのロック・リソース・ツリーのディレクトリ・ノードとなる可能性が高くなります。

大型コンピュータとブート・ノードの LOCKDIRWT が 1 に設定されていて,サテライト・ノードの LOCKDIRWT が 0 に設定されている場合,ほとんどの構成では,これらの大型コンピュータやブート・ノードは最適な状態で動作します。これらの値は CLUSTER_CONFIG.COM プロシージャによって自動的に設定されます。 LOCKDIRWT が 0 のノードは,クラスタ内のすべてのノードで LOCKDIRWT が 0 でない限り,どのリソース・ツリーのディレクトリ・ノードにもなりません。

場合によっては,デイレクトリ・ノードとなれるノード群を設定するために,クラスタの各ノードで LOCKDIRWT の値を変更しなければならないことがあります。

LOCKRMWT は,ロック・リソース・ツリーをリマスタリングする際にどのノードを選択するのかに影響を与えます。ロック・リソース・ツリーのマスターノードであることは性能上の利点があるため(ロック操作の実行に通信を必要としないため),ロック・リソース・マネージャは,クラスタ内の他のノードへのロック・ツリーのリマスタリングをサポートします。ロック・リソース・ツリーのリマスタリングとは,そのロック・リソース・ツリーのロック・リソース・マスターとしてクラスタ内の他のノードを指定し,そのノードにロック・リソース・ツリーを移すことを意味します。

そのロック・リソース・ツリーにロックを持つノードは,マスターノードになるための資格を持ちます。適格ノードからの新しいロック・リソース・マスターノードの選択は,各ノードのシステム・パラメータ LOCKRMWT の設定と各ノードのロッキング動作にもとづいて行なわれます。

LOCKRMWT は 0 から 10 の値に設定することができます。デフォルト値は 5 です。以下のリストは,システム・パラメータ LOCKDIRWT の値とロッキング動作とがリソース・ツリーのマスターの設定にどのように影響するかを示しています。

  • LOCKRMWT の値が 0 のノードは,同じツリーにロックを持ち LOCKRMWT が 0 より大きな他のノードをマスターノードにしようとします。

  • LOCKRMWT の値が 10 のノードは, LOCKRMWT の値が 10 よりも小さな他のノードからリソース・ツリーを受け取ります。

  • それ以外の場合,マスターノードの LOCKRMWT と適格ノードの値との差が計算されます。その差が大きければ,その適格ノードでのロッキング動作がさらに多くないとリマスタリングが行なわれません。

動的パラメータである LOCKRMWT は必要に応じて調整することができます。ほとんどの場合は LOCKRMWT のデフォルト値である 5 のままが適切ですが,ロック・ツリーのマスターノードになるノード群を指定したい場合は,いくつかのノードでそれとは異なる LOCKRMWT 値を設定します。

2.6.3 大規模ロック・アプリケーション

Enqueue プロセス上限 (ENQLM) は SYSUAF.DAT ファイルに設定される値であり,プロセスが所有できるロックの数を制御します。この値は,大規模データベースやその他のサーバ・アプリケーションの要件に応じて調整することができます。

OpenVMS バージョン 7.1 以前では,上限は 32767 でした。その後,大規模データベースや他のサーバ・アプリケーションの効率的な操作を可能にするために,この上限は削除されました。したがって,プロセスはアーキテクチャ上の最大値である 16,776,959 まで,ロックを保有できるようになりました。SYSUAF.DAT で ENQLM の値を 32767 に設定すれば (Authorize ユーティリティを使用),ロックの上限は自動的に最大値の 16,776,959 ロックに拡張されます。 SYSUAF Enqlm クォータが 32767 に設定されたプロセスから初期化された場合,$CREPRC は大きなクォータをターゲット・プロセスに渡すことができます。

関連項目: 分散ロック・マネージャとリソース・ツリーの詳細については,『HP OpenVMS Programming Concepts Manual』を参照してください。Enqueue Quota の詳細については,『OpenVMS システム管理者マニュアル』を参照してください。

2.7 リソースの共用

OpenVMS Cluster システムでは,リソースの共用は分散ファイル・システム,RMS,分散ロック・マネージャによって有効になります。

2.7.1 分散ファイル・システム

OpenVMS Cluster の 分散ファイル・システムは,すべてのコンピュータがマス・ストレージとファイルを共用できるようにします。分散ファイル・システムは,スタンドアロン・コンピュータで提供されているものと同じディスク,テープ,ファイルへのアクセス機能を OpenVMS Cluster 全体にわたって提供します。

2.7.2 RMS と分散ロック・マネージャ

分散ファイル・システムと OpenVMS レコード管理サービス (RMS) は,分散ロック・マネージャを使用して,クラスタ単位のファイル・アクセスを調整します。RMS ファイルはレコード・レベルまで共用できます。

ほとんどのディスクやテープ・デバイスは, OpenVMS Cluster システム全体から利用できるように設定できます。デバイスは以下のいずれでもかまいません。

  • ストレージ・サブシステムに接続されているデバイス

  • OpenVMS Cluster にサービスされているローカル・デバイス

クラスタ・アクセス可能デバイスはすべて,各コンピュータに接続されているかのように見えます。

2.8 ディスクの可用性

ローカルに接続されているディスクは,MSCP サーバによって OpenVMS Cluster 全体でサービスすることができます。

2.8.1 MSCP サーバ

MSCP サーバは,以下のディスクも含めて,ローカルに接続されているディスクをクラスタ全体で使用できるようにします。

  • SDI を使用している OpenVMS Cluster メンバにローカルに接続されている DSA ディスク

  • 複合インターコネクトを使用している OpenVMS Cluster 内の HSG および HSV ディスク

  • SCSI および HSZ ディスク

  • SAS,LSI 1068 SAS,および LSI Logic 1068e SAS ディスク

  • FC および HSG ディスク

  • OpenVMS Cluster 内にあるブート・サーバとディスク・サーバのディスク

ディスク・クラス・ドライバ (DUDRIVER) と組み合わせて, MSCP サーバはコンピュータで MSCP プロトコルのストレージ・サーバの部分を実装します。これにより,コンピュータはストレージ・コントローラとして機能できるようになります。MSCP プロトコルは,弊社が設計した特定のマス・ストレージ・コントローラ/デバイス・ファミリに対して,送受信されるメッセージの形式とタイミングの規則を定義しています。 MSCP サーバは,リモート・クラスタ・ノードから送信された MSCP I/O 要求をデコードし,サービスします。

注意: ローカルに接続されているディスク上のファイルにコンピュータがアクセスする場合,MSCP サーバは使用されません。

2.8.2 デバイスのサービス

サービスされるようにデバイスを設定しておけば,以下のことが可能になります。

  • クラスタのどのメンバも,そのデバイスに対して I/O 要求を出すことができます。

  • ローカル・コンピュータは,リモートの OpenVMS Cluster コンピュータから送信された MSCP I/O 要求をデコードして,サービスを提供することができます。



2.8.3 MSCP サーバの有効化

MSCP サーバは,MSCP_LOAD および MSCP_SERVE_ALL システム・パラメータによって制御されます。これらのパラメータの初期値は,OpenVMS インストール・プロシージャ ( 第 8.4 節 を参照) または CLUSTER_CONFIG.COM プロシージャ ( 第 8 章 を参照) で出力される質問への応答によって設定されます。

これらのパラメータのデフォルト値は以下のとおりです。

  • MSCP はサテライトにロードされません。

  • MSCP はブート・サーバおよびディスク・サーバ・ノードにロードされます。

関連項目: MSCP サーバに対するシステム・パラメータの設定の詳細については, 第 6.3 節 を参照してください。

2.9 テープの可用性

ローカルに接続されているテープは,TMSCP サーバによって OpenVMS Cluster 全体で利用できるようになります。

2.9.1 TMSCP サーバ

TMSCP サーバは,以下のテープも含めて,ローカルに接続されているテープをクラスタ全体で使用できるようにします。

  • HSG および HSV テープ

  • SCSI テープ

  • SAS テープ

TMSCP サーバは TMSCP プロトコルを実装します。このプロトコルは,TMSCP テープ用のコントローラと通信するときに使用されます。テープ・クラス・ドライバ (TUDRIVER) と組み合わせて, TMSCP プロトコルはプロセッサで実装され,これにより,プロセッサはストレージ・コントローラとして機能できるようになります。

プロセッサは,ローカルに接続されているテープへの I/O 要求を出し,クラスタ内の他のノードから I/O 要求を受け付けます。このようにして,TMSCP サーバはローカルに接続されているテープをクラスタ内のすべてのノードから利用できるようにします。また,TMSCP サーバは HSG テープと HSV テープを OpenVMS Cluster サテライトからアクセスできるようにもします。

2.9.2 TMSCP サーバの有効化

TMSCP サーバは TMSCP_LOAD システム・パラメータによって制御されます。このパラメータの初期値は, OpenVMS インストール・プロシージャ ( 第 4.2.3 項 を参照) または CLUSTER_CONFIG.COM プロシージャ ( 第 8.4 節 を参照) で出力される質問への応答によって設定されます。 TMSCP_LOAD パラメータのデフォルト設定では, TMSCP サーバはロードされず,テープに対するサービスは提供されません。

2.10 キューの可用性

分散キュー・マネージャは,以下の機能を提供するために,クラスタ全体でキューを利用できるようにします。

機能 説明
OpenVMS Cluster のコンピュータのユーザは, OpenVMS Cluster 内の任意のコンピュータで実行されているキューにバッチ・ジョブとプリント・ジョブを登録できる。 ジョブが実行されているコンピュータから,必要なマス・ストレージ・ボリュームと周辺デバイスにアクセス可能であれば,ユーザはクラスタ内のどのキューにもジョブを登録できる。
バッチ処理とプリント処理の作業負荷を OpenVMS Cluster ノードに分散する。 システム管理者は,コンピュータ間で処理の負荷を分散する汎用バッチ・キューと汎用プリント・キューを設定できる。分散キュー・マネージャは,キューに対するジョブの数 (jobs-to-queue) の上限が最低の実行キュー,または使用可能な次のプリンタにバッチ・ジョブとプリント・ジョブを渡す。

ジョブ・コントローラは分散ロック・マネージャを使用して, OpenVMS Cluster 内の他のコンピュータに,処理するバッチ・キュー・ジョブとプリント・キュー・ジョブを確認するように通知します。

2.10.1 キューの制御

キューを制御するには,1 つまたは複数のキュー・マネージャを使用して,キューとジョブに関する情報が格納されているクラスタ単位のキュー・データベースを管理します。

関連項目: OpenVMS Cluster キューの設定の詳細については, 第 7 章 を参照してください。


目次 索引

プライバシー 本サイト利用時の合意事項 ウェブマスターに連絡