# Compaq OpenVMS
OpenVMS Cluster システム

前へ | 次へ | 目次 | 索引

## 7.8.2 コマンドの例

以下のコマンドは，クラスタ単位の汎用キュー SYS$PRINT を初期化し，起動します。

    $ INITIALIZE/QUEUE/GENERIC=(JUPITR_LPA0,SATURN_LPA0,URANUS_LPA0)/START SYS$PRINT

SYS$PRINT キューに登録されたジョブは，割り当てられているプリント・キューのうち，使用可能な任意のキューに格納されます。したがって，この例では，SYS$PRINT キューに登録される JUPITR からのプリント・ジョブは，JUPITR_LPA0， SATURN_LPA0，URANUS_LPA0 のいずれにでも登録することができます。

# 7.9 実行バッチ・キューの設定

一般に，実行バッチ・キューは，スタンドアロン・コンピュータの場合と同じ手順で，OpenVMS Cluster の各コンピュータで設定します。この方法の詳細については，『Compaq OpenVMS システム管理者マニュアル』を参照してください。

## 7.9.1 操作を開始する前に

バッチ・キューを設定する前に，クラスタにとってどのキュー構成が最適であるかを判断しなければなりません。システム管理者はクラスタでバッチ・ジョブを効率よく処理できるようにバッチ・キューを設定しなければなりません。たとえば，以下の操作が必要です。

- 各コンピュータで実行する処理の種類を判断します。

- これらの処理ニーズに適合するように，ローカル・バッチ・キューを設定します。

- クラスタ全体でバッチ・ジョブ処理を分散するために，クラスタ単位の汎用キューを設定するかどうかを判断します。

- スタートアップを単純化するために，自動起動キューを使用するかどうかを判断します。

ニーズに最適な方式を判断した後，キューを設定するためにコマンド・プロシージャを作成できます。 図 7-4 は，JUPITR，SATURN， URANUS というコンピュータで構成されるクラスタのバッチ・キューの構成を示しています。

図 7-4 バッチ・キューの構成例

## 7.9.2 バッチ・コマンドの形式

固有の名前を指定してバッチ・キューを作成するには，以下の形式で DCL コマンド INITIALIZE/QUEUE/BATCH を指定します。

    INITIALIZE/QUEUE/BATCH/ON=node::[/START][/NAME_OF_MANAGER=name-of-manager] queue-name

修飾子 | 説明
--- | ---
/ON | バッチ・キューが実行されるコンピュータを指定する。
/START | キューを起動する。
/NAME_OF_MANAGER | 複数のキュー・マネージャを実行している場合は，キュー・マネージャの名前を指定する。

## 7.9.3 自動スタート・コマンドの形式

自動スタート・バッチ・キューは，DCL コマンド INITIALIZE/QUEUE/BATCH を使用して初期化および起動できます。以下のコマンド形式を使用します。

    INITIALIZE/QUEUE/BATCH/AUTOSTART_ON=node::queue-name

/AUTOSTART_ON 修飾子を使用する場合は， INITIALIZE/QUEUE コマンドに /START 修飾子を指定するか，または START/QUEUE コマンドを入力することにより，自動スタートできるようにキューを最初に起動しておかなければなりません。しかし，キューが動作できるノードで ENABLE AUTOSTART/QUEUES コマンドが入力されるまで，キューでジョブの処理を開始することはできません。

規則: 汎用キューを自動起動キューとして設定することはできません。/ON と /AUTOSTART_ON をどちらも指定することはできません。

## 7.9.4 例

以下のコマンドは， 図 7-4 に示した JUPITR，SATURN，URANUS に対してローカル・バッチ・キューを割り当てます。

    $ INITIALIZE/QUEUE/BATCH/ON=JUPITR::/START/NAME_OF_MANAGER=BATCH_QUEUE JUPITR_BATCH
    $ INITIALIZE/QUEUE/BATCH/ON=SATURN::/START/NAME_OF_MANAGER=BATCH_QUEUE SATURN_BATCH
    $ INITIALIZE/QUEUE/BATCH/ON=URANUS::/START/NAME_OF_MANAGER=BATCH_QUEUE URANUS_BATCH

OpenVMS Cluster の各コンピュータのバッチ・ジョブは，デフォルトで SYS$BATCH キューに登録されるため，クラスタ全体でバッチ・ジョブの処理を分散するクラスタ単位の汎用バッチ・キューとしてこのキューを設定するために，論理名を定義することを考慮しなければなりません ( 例 7-2 を参照)。しかし，このような論理名の定義が必要なのは，共通環境クラスタを使用している場合だけです。

# 7.10 クラスタ単位の汎用バッチ・キューの設定

OpenVMS Cluster システムでは，コンピュータ間でバッチ処理を分散して，処理リソースの使用のバランスをとることができます。この作業負荷の分散は，ローカル・バッチ・キューを 1 つ以上のクラスタ単位の汎用バッチ・キューに割り当てることで行うことができます。これらの汎用バッチ・キューは，割り当てられているバッチ・キューのうち，使用可能なキューにバッチ・ジョブを格納することにより，クラスタ全体でバッチ処理を制御します。クラスタ単位の汎用バッチ・キューは， 例 7-2 に示す方法で作成できます。

クラスタ単位の汎用バッチ・キューは，1 回だけ初期化して起動する必要があります。これらの操作を最も効率よく実行するには， OpenVMS Cluster の各コンピュータで実行される共通のコマンド・プロシージャを作成します ( 例 7-2 を参照)。

## 7.10.1 構成例

図 7-5 では， OpenVMS Cluster の各コンピュータのバッチ・キューが SYS$BATCH というクラスタ単位の汎用バッチ・キューに割り当てられています。ユーザは特定のキュー (たとえば JUPITR_BATCH や SATURN_BATCH) にジョブを登録することができ，特にキューを指定する必要がない場合は，デフォルト設定でクラスタ単位の汎用キュー SYS$BATCH に登録することができます。汎用キューは，クラスタ内で割り当てられているキューのうち，使用可能なキューにジョブを登録します。

割り当てられているキューを 2 つ以上使用可能な場合は，割り当てられているすべてのキューの中で，比率 (実行中のジョブ/ジョブの上限) が最低であるキューがオペレーティング・システムによって選択されます。

図 7-5 クラスタ単位の汎用バッチ・キューの構成

# 7.11 ローカル・バッチ・キューの起動

通常，ローカル・バッチ実行キューは，スタートアップ時にバッチ・ジョブを実行してレイヤード製品を起動するために使用されます。この理由から， 例 7-1 のコマンド・プロシージャに示すように，これらのキューは ENABLE AUTOSTART コマンドが実行される前に起動しなければなりません。

## 7.11.1 スタートアップ・コマンド・プロシージャ

ローカル・バッチ実行キューは，各ノードのスタートアップ・コマンド・プロシージャ SYSTARTUP_VMS.COM で起動します。共通のスタートアップ・コマンド・プロシージャを使用する場合は，以下のようなコマンドをプロシージャに追加します。

    $  SUBMIT/PRIORITY=255/NOIDENT/NOLOG/QUEUE=node_BATCH LAYERED_PRODUCT.COM
    $  START/QUEUE node_BATCH
    $  DEFINE/SYSTEM/EXECUTIVE SYS$BATCH node_BATCH

キューが起動される前に，優先順位の高いバッチ・ジョブとしてスタートアップ・コマンド・プロシージャ LAYERED_PRODUCT.COM をキューに登録しておけば，キューのジョブの上限とは無関係に，ジョブは直ちに実行されます。コマンド・プロシージャがキューに登録される前にキューが起動されると，ユーザ・バッチ・ジョブのスケジューリングによってキューがジョブの上限に到達してしまう可能性があり，スタートアップ・ジョブが待機しなければならなくなります。

# 7.12 共通のコマンド・プロシージャの使用

キューを作成した後，バッチ・ジョブとプリント・ジョブの処理を開始するためにキューを起動しなければなりません。さらに，システムをリブートするたびに，キューが起動されるように，自動起動キューに対して自動スタートを有効にするか，または非自動起動キューに対して START/QUEUE コマンドを入力する必要があります。その場合，必要なコマンドを指定したコマンド・プロシージャを作成します。

## 7.12.1 コマンド・プロシージャ

たとえば，QSTARTUP.COM という共通のコマンド・プロシージャを作成し，それを共用ディスクに格納できます。この方法では，各ノードが共通の QSTARTUP.COM プロシージャの同じコピーを共用できます。各ノードは，SYSTARTUP の共通バージョンから共通の QSTARTUP.COM プロシージャを起動します。また，キューを起動するコマンドを，個別の QSTARTUP.COM ファイルではなく，共通の SYSTARTUP ファイルに格納しておくこともできます。

## 7.12.2 例

例 7-1 は，OpenVMS Cluster キューを作成するためのコマンドを示しています。

例 7-1 OpenVMS Cluster キューを作成するためのコマンドの例
    $
    (1)
    $  DEFINE/FORM LN_FORM 10 /WIDTH=80 /STOCK=DEFAULT /TRUNCATE
    $  DEFINE/CHARACTERISTIC 2ND_FLOOR 2
       .
       .
       .
    (2)
    $  INITIALIZE/QUEUE/AUTOSTART_ON=(JUPITR::LPA0:)/START JUPITR_PRINT
    $  INITIALIZE/QUEUE/AUTOSTART_ON=(SATURN::LPA0:)/START SATURN_PRINT
    $  INITIALIZE/QUEUE/AUTOSTART_ON=(URANUS::LPA0:)/START URANUS_PRINT
       .
       .
       .
    (3)
    $  INITIALIZE/QUEUE/BATCH/START/ON=JUPITR:: JUPITR_BATCH
    $  INITIALIZE/QUEUE/BATCH/START/ON=SATURN:: SATURN_BATCH
    $  INITIALIZE/QUEUE/BATCH/START/ON=URANUS:: URANUS_BATCH
       .
       .
       .
    (4)
    $  INITIALIZE/QUEUE/START -
    _$ /AUTOSTART_ON=(JUPITR::LTA1:,SATURN::LTA1,URANUS::LTA1) -
    _$ /PROCESSOR=LATSYM /FORM_MOUNTED=LN_FORM -
    _$ /RETAIN=ERROR /DEFAULT=(NOBURST,FLAG=ONE,NOTRAILER) -
    _$ /RECORD_BLOCKING LN03$PRINT
    $
    $  INITIALIZE/QUEUE/START -
    _$ /AUTOSTART_ON=(JUPITR::LTA2:,SATURN::LTA2,URANUS::LTA2) -
    _$ /PROCESSOR=LATSYM /RETAIN=ERROR -
    _$ /DEFAULT=(NOBURST,FLAG=ONE,NOTRAILER) /RECORD_BLOCKING -
    _$ /CHARACTERISTIC=2ND_FLOOR LA210$PRINT
    $
    (5)
    $  ENABLE AUTOSTART/QUEUES/ON=SATURN
    $  ENABLE AUTOSTART/QUEUES/ON=JUPITR
    $  ENABLE AUTOSTART/QUEUES/ON=URANUS
    (6)
    $  INITIALIZE/QUEUE/START SYS$PRINT -
    _$ /GENERIC=(JUPITR_PRINT,SATURN_PRINT,URANUS_PRINT)
    $
    (7)
    $  INITIALIZE/QUEUE/BATCH/START SYS$BATCH -
    _$ /GENERIC=(JUPITR_BATCH,SATURN_BATCH,URANUS_BATCH)
    $

例 7-1 の各コマンドまたはコマンド・グループの説明については，以下の表を参照してください。

コマンド | 説明
--- | ---
(1) | すべてのプリンタ・フォームと属性を定義する。
(2) | ローカル・プリント・キューを初期化する。この例では，これらのキューは自動起動キューであり，ノードで ENABLE AUTOSTART/QUEUES コマンドが実行されるときに自動的に起動される。自動起動キューを起動するために /START 修飾子が指定されているが，自動スタートが有効に設定されるまで，ジョブの処理は開始されない。 システムのリブートのたびに自動スタートを有効にするには， 例 7-2 に示すように， ENABLE AUTOSTART/QUEUES コマンドをキュー・スタートアップ・コマンド・プロシージャに追加する。
(3) | サテライト・ノードも含めて，すべてのノードでローカル・バッチ・キューを初期化し，起動する。この例では，ローカル・バッチ・キューは自動起動キューではない。
(4) | リモート LAT プリンタのキューを初期化する。この例では，これらのキューは自動起動キューであり， 3 つのノードのいずれかで実行するように設定される。3 つのノードの最初のノードでキューが起動され， ENABLE AUTOSTART コマンドが実行される。 自動起動キューを実行できる各ノードで， LAT スタートアップ・コマンド・プロシージャ LAT$SYSTARTUP.COM に論理デバイス LTA1 と LTA2 の設定を指定しなければならない。詳細については，『Compaq OpenVMS システム管理者マニュアル』の LAT$SYSTARTUP.COM の編集の説明を参照。 これらの自動起動キューを起動するために /START 修飾子が指定されているが，自動スタートが有効に設定されるまで，ジョブの処理は開始されない。
(5) | 自動スタートを有効にして，自動起動キューを自動的に起動する。この例では，自動スタートは最初に SATURN ノードで有効に設定されるため，キュー・マネージャは複数のノードのいずれかで動作するように設定されている自動起動キューを起動する。
(6) | 汎用出力キュー SYS$PRINT を初期化し，起動する。これは自動起動キューではない (汎用キューを自動起動キューとして設定することはできない)。しかし，システムがシャットダウンされても，汎用キューは自動的に停止しないため，ノードのリブートのたびにキューを再起動する必要はない。
(7) | 汎用バッチ・キュー SYS$BATCH を初期化し，起動する。これは汎用キューであるため，ノードがシャットダウンされても停止されない。したがって，ノードのリブートのたびにキューを再起動する必要はない。

## 7.12.3 例

例 7-2 は，共用ディスクに格納されている共通の QSTARTUP コマンド・プロシージャの使い方を示しています。

例 7-2 OpenVMS Cluster キューを起動するための共通のプロシージャ
    $!
    $! QSTARTUP.COM -- Common procedure to set up cluster queues
    $!
    $!
    (1)
    $ NODE = F$GETSYI("NODENAME")
    $!
    $! Determine the node-specific subroutine
    $!
    $ IF (NODE .NES. "JUPITR") .AND. (NODE .NES. "SATURN") .AND. (NODE .NES. "URANUS")
    $    THEN
    $       GOSUB SATELLITE_STARTUP
    $    ELSE
    (2)
    $!
    $!      Configure remote LAT devices.
    $!
    $       SET TERMINAL LTA1: /PERM /DEVICE=LN03 /WIDTH=255 /PAGE=60 -
                  /LOWERCASE /NOBROAD
    $       SET TERMINAL LTA2: /PERM /DEVICE=LA210 /WIDTH=255 /PAGE=66 -
                     /NOBROAD
    $       SET DEVICE LTA1: /SPOOLED=(LN03$PRINT,SYS$SYSDEVICE:)
    $       SET DEVICE LTA2: /SPOOLED=(LA210$PRINT,SYS$SYSDEVICE:)
    (3)
    $       START/QUEUE/BATCH 'NODE'_BATCH
    $       GOSUB 'NODE'_STARTUP
    $    ENDIF
    $ GOTO ENDING
    $!
    $! Node-specific subroutines start here
    $!
    (4)
    $ SATELLITE_STARTUP:
    $!
    $! Start a batch queue for satellites.
    $!
    $ START/QUEUE/BATCH 'NODE'_BATCH
    $ RETURN
    $!
    (5)
    $JUPITR_STARTUP:
    $!
    $! Node-specific startup for JUPITR::
    $! Setup local devices and start nonautostart queues here
    $!
    $ SET PRINTER/PAGE=66 LPA0:
    $ RETURN
    $!
    $SATURN_STARTUP:
    $!
    $! Node-specific startup for SATURN::
    $! Setup local devices and start nonautostart queues here
    $!
       .
       .
       .
    $ RETURN
    $!
    $URANUS_STARTUP:
    $!
    $! Node-specific startup for URANUS::
    $! Setup local devices and start nonautostart queues here
    $!
       .
       .
       .
    $ RETURN
    $!
    $ENDING:
    (6)
    $! Enable autostart to start all autostart queues
    $!
    $ ENABLE AUTOSTART/QUEUES
    $ EXIT

例 7-2 に示した共通の QSTARTUP.COM コマンド・プロシージャの各部分の説明については，以下の表を参照してください。

コマンド | 説明
--- | ---
(1) | プロシージャを実行するノードの名前を指定する。
(2) | すべての大型ノードで，LAT によって接続されているリモート・デバイスを設定する。これらのデバイスのキューは自動起動キューであり，このプロシージャの最後に ENABLE AUTOSTART/QUEUES コマンドが実行されるときに自動的に起動される。 この例では，これらの自動起動キューは 3 つのノードのいずれかで実行されるように設定されている。最初のノードで ENABLE AUTOSTART/QUEUES コマンドが実行されると，キューは起動される。3 つのノードのいずれかが稼動していて，自動スタートが有効に設定されている限り，キューは実行状態になる。
(3) | 大型ノードでローカル・バッチ・キューを起動する。この例では，ローカル・バッチ・キューは自動起動キューではないため，START/QUEUE コマンドを使用して起動しなければならない。
(4) | サテライト・ノードでローカル・バッチ・キューを起動する。
(5) | 各ノードはそれぞれのサブルーチンを実行する。 JUPITR ノードでは，ライン・プリンタ・デバイス LPA0: を設定する。このデバイスのキューは自動起動キューであり， ENABLE AUTOSTART/QUEUES コマンドが実行されたときに自動的に起動される。
(6) | すべての自動起動キューを起動するために，自動スタートを有効化する。

# 7.13 シャットダウン時の自動スタートの無効化

デフォルト設定では，シャットダウン・プロシージャのシャットダウン・シーケンスの最初に自動スタートが無効に設定されます。自動スタートが無効に設定されると，フェールオーバ・リストに指定されている自動起動キューは別のノードにフェールオーバされます。また，自動スタートを無効にすることにより，クラスタ内の別のノードで実行されている自動起動キューが，シャットダウン中のノードにフェールオーバされないようにします。

## 7.13.1 オプション

シャットダウン・シーケンスで自動スタートが無効に設定されるタイミングは，以下のいずれかの方法で変更できます。

オプション | 説明
--- | ---
1 | 論理名 SHUTDOWN$DISABLE_AUTOSTART を以下のように定義する。
    $ DEFINE/SYSTEM/EXECUTIVE SHUTDOWN$DISABLE_AUTOSTART
    number-of-minutes
number-of-minutes の値は，シャットダウンの前に自動スタートが無効に設定されるタイミング (分)を指定する。この論理名定義を SYLOGICALS.COM に追加できる。 number-of-minutes の値はノードのデフォルト値である。この値がシャットダウン・シーケンス全体の時間 (分) より大きい場合は，自動スタートはシーケンスの最初に無効に設定される。
2 | シャットダウン・プロシージャで DISABLE_AUTOSTART number-of-minutes オプションを指定する ( number-of-minutes の値を指定すると， SHUTDOWN$DISABLE_AUTOSTART 論理名に対して指定されている値は無効になる)。

関連項目: シャットダウン・シーケンスで自動スタートが無効に設定されるタイミングを変更する方法については，『Compaq OpenVMS システム管理者マニュアル』を参照してください。

前へ | 次へ | 目次 | 索引