17.2.9 論理ホストのスケジューラーサービスの多重起動の設定
スケジューラーサービスを多重起動するためには,まず追加するスケジューラーサービスの名称などの情報を設定します。次に,そのスケジューラーサービス用のデータベースを新規に作成します。
論理ホストでのスケジューラーサービスの追加手順,および追加したスケジューラーサービスの削除手順を次に示します。
- 〈この項の構成〉
(1) 論理ホストでスケジューラーサービスを追加する
論理ホストでスケジューラーサービスを追加する手順を次に示します。
(a) 実行系での作業
-
JP1/AJS3のサービスを停止する。
次のコマンドを実行して,論理ホストのプロセスがすべて停止していることを確認します。
jajs_spmd_stop -h 論理ホスト名 jajs_spmd_status -h 論理ホスト名
- 重要
-
対象となる論理ホストに構築されているすべての組み込みDBを稼働状態にする必要があります。ajsembdbstatusコマンドに-s ust -id _JFn(nは1〜9またはA〜Zのどれか)オプションを指定して実行し,組み込みDBが稼働状態になっていること(UNIT-STATがONLINEになっていること)を確認してください。稼働状態になっていない場合は,ajsembdbstartコマンドに-id _JFnオプションを指定して実行してください。
対象となる組み込みDBのセットアップ識別子(_JFn)については,ajsembdbidlistコマンドを実行して確認してください。
-
mkdirコマンドなどで,次に示すディレクトリを共有ディスクに作成する。
-
データベースディレクトリ
-
一時ファイル用ディレクトリ
-
ジョブ情報ディレクトリ
-
退避情報ディレクトリ
なお,退避情報ディレクトリ以外は,自ホスト内(物理ホストとすべての論理ホスト)に設定されている,ほかのスケジューラーサービスが使用するディレクトリと重複しないようにしてください。また,ほかのスケジューラーサービスが使用するディレクトリの配下にも作成しないでください。
-
-
スケジューラーサービスを追加するためにjajs_setupコマンドを実行する。
jajs_setup -a -h 論理ホスト名 -F スケジューラーサービス名 -p ジョブ状態通知ポートのサービス名 -d データベースディレクトリ名 -t 一時ファイル用ディレクトリ名 -j ジョブ情報ディレクトリ名 -b 退避情報ディレクトリ名 -n スケジューラーサービスの識別番号 -D 論理ホスト共有ディレクトリ名 [-I セットアップ識別子 -P 組み込みDBポート番号 [-M {s|m|l}] [-E {byte|sjis}] |-S]
(例)論理ホスト名が「node0」,論理ホストの共有ディレクトリが「/shdsk/node0」の論理ホストに,「AJSROOT3」というスケジューラーサービスを追加する場合
jajs_setup -a -h node0 -F AJSROOT3 -p jp1ajs2report3 -d "/shdsk/node0/jp1ajs2/database/schedule/AJSROOT3" -t "/shdsk/node0/jp1ajs2/tmp/schedule3" -j "/shdsk/node0/jp1ajs2/jobinf3" -b "/shdsk/node0/jp1ajs2/backup/schedule3" -n 3 -D "/shdsk/node0" -I _JF3 -P 22222
jajs_setupコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 2. セットアップコマンド jajs_setup」を参照してください。
-
組み込みDBの高度なセットアップを実行する。
手順3で-Sオプションを指定した場合は,組み込みDBの高度なセットアップを実施します。組み込みDBの高度なセットアップについては,「23.5 組み込みDBの高度なセットアップ(クラスタ構成の場合)」を参照してください。
-
手順3で指定したジョブ状態通知ポートのサービス名に対するポート番号を設定する。
/etc/servicesファイルをエディターなどで開き,ポート番号を追加します。このとき,既存のポート番号と重複しないようにしてください。
(例)ポート番号を「20248」として設定する場合
jp1ajs2report3 20248/tcp
-
キューレスジョブを利用する場合は,キューレスジョブのセットアップをする。
次のコマンドを実行します。
ajsqlsetup -F スケジューラーサービス名 -h 論理ホスト名
ajsqlsetupコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 4. 特別な運用で使用するコマンド ajsqlsetup」を参照してください。
-
スケジューラーサービスを追加したJP1/AJS3のサービスを再起動する。
設定した内容でスケジューラーサービスが追加され,起動します。
(b) 待機系での作業
-
待機系の組み込みDBを設定する。
実行系でセットアップをする際,新規に組み込みDBを作成した場合(jajs_setupコマンドの-Iオプションに,すでにある組み込みDBのセットアップ識別子を指定しなかった場合)だけ,この作業が必要です。組み込みDBのセットアップ識別子は,ajsembdbidlistコマンドで確認できます。
実行するコマンドを次に示します。
ajsembdbinstl -s 組み込みDBインストール媒体格納ディレクトリ -id セットアップ識別子 -mh 論理ホスト名 ajsembdbbuild -conf 組み込みDB設定ファイル名
セットアップ識別子は,実行系で指定したのと同じものを指定してください。
組み込みDB設定ファイルは,実行系の組み込みDB構築時に出力したファイルを待機系にコピーしてください。
組み込みDB設定ファイルの出力先を次に示します。
組み込みDB運用ディレクトリ/conf/ajsdbst/ajsembdbセットアップ識別子.conf
各コマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 2. セットアップコマンド」を参照してください。
(例)セットアップ識別子が「_JF3」,組み込みDB設定ファイルを「/tmp/ajsembdb_JF3.conf」に配置し,論理ホスト「node0」の組み込みDBを設定する場合
ajsembdbinstl -s /opt/jp1ajs2/tools/AJS3DB -id _JF3 -mh node0 ajsembdbbuild -conf /tmp/ajsembdb_JF3.conf
-
実行系の共通定義情報を待機系に設定する。
実行系での作業が完了したあと,実行系でjbsgetcnfコマンドを実行し,共通定義情報を退避します。その退避ファイルを待機系にコピーし,退避ファイルを引数に指定してjbssetcnfコマンドを実行します。
実行するコマンドを次に示します。
- 実行系
-
jbsgetcnf -h 論理ホスト名 > 退避ファイル名
- 待機系
-
jbssetcnf 退避ファイル名
-
(a)の実行系での作業の手順5で設定したポート番号を待機系に設定する。
/etc/servicesファイルをエディターなどで開き,ポート番号を追加します。このとき,実行系で設定したポート番号と同じ番号を追加するようにしてください。
(例)ポート番号を「20248」として設定する場合
jp1ajs2report3 20248/tcp
-
キューレスジョブを利用する場合は,キューレスジョブ実行環境のセットアップをする。
次のコマンドを実行します。
ajsqlsetup -F スケジューラーサービス名 -h 論理ホスト名 -nc
ajsqlsetupコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 4. 特別な運用で使用するコマンド ajsqlsetup」を参照してください。
- コマンド実行についての補足事項
-
スケジューラーサービスを多重起動している場合,「-F スケジューラーサービス名」オプションを指定しないでコマンドを実行すると,デフォルトのスケジューラーサービスに対する操作となります。
環境変数AJSCONFにスケジューラーサービス名を指定しておくと,-Fオプションを省略できます。
(2) 追加したスケジューラーサービスを削除する
スケジューラーサービスの削除は,実行系・待機系の両方で実行します。追加したスケジューラーサービスの削除手順を次に示します。
-
jajs_spmd_stopコマンドを実行して,JP1/AJS3サービスを停止する。
物理ホストのJP1/AJS3マネージャーも含め,すべてのJP1/AJS3サービスを停止してください。
- 重要
-
対象となる論理ホストに構築されているすべての組み込みDBを稼働状態にする必要があります。ajsembdbstatusコマンドに-s ust -id _JFn(nは1〜9またはA〜Zのどれか)オプションを指定して実行し,組み込みDBが稼働状態になっていること(UNIT-STATがONLINEになっていること)を確認してください。稼働状態になっていない場合は,ajsembdbstartコマンドに-id _JFnオプションを指定して実行してください。
対象となる組み込みDBのセットアップ識別子(_JFn)については,ajsembdbidlistコマンドを実行し確認してください。
-
ajsshmdelコマンドを実行して,共有メモリー情報を削除する。
ajsshmdelコマンドのパスは,「/opt/jp1ajs2/bin/ajsshmdel」です。
(例)shの場合
/opt/jp1ajs2/bin/ajsshmdel >/dev/null 2>&1
(例)cshの場合
/opt/jp1ajs2/bin/ajsshmdel >&/dev/null
-
スケジューラーサービスを削除するためにjajs_setupコマンドを実行する。
jajs_setup -e -F スケジューラーサービス名
(例)スケジューラーサービス「AJSROOT3」を削除する場合
jajs_setup -e -F AJSROOT3
jajs_setupコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 2. セットアップコマンド jajs_setup」を参照してください。
なお,待機系ではjajs_setupコマンドの代わりにjbsunsetcnfコマンドを実行してください。
jbsunsetcnf -i -h 論理ホスト名 -c JP1AJSMANAGER -n スケジューラーサービス名
(例)スケジューラーサービス「AJSROOT3」を削除する場合
jbsunsetcnf -i -h LHOST -c JP1AJSMANAGER -n AJSROOT3
-
スケジューラーサービスを追加したときに作成したディレクトリを削除する。
jajs_setupコマンド実行時に作成した,次のディレクトリを削除してください。
-
-dオプションに指定したデータベースディレクトリ
-
-tオプションに指定したテンポラリーディレクトリ
-
-jオプションに指定したジョブ情報ディレクトリ
-
-bオプションに指定した退避情報ディレクトリ
- 重要
-
-Dオプションに指定した論理ホスト共有ディレクトリは,削除しないでください。
-
-
JP1/AJS3サービスを起動する。
手順1で停止したサービスを再起動し,スケジューラーサービスが削除されていることを確認します。
(3) 不要となったデータベース環境をアンインストールする
不要となったデータベース環境のアンインストール手順については,「6.1.1(3) 不要となったデータベース環境をアンインストールする」を参照してください。
(4) スケジューラーサービス名を変更する
スケジューラーサービスの名称を変更すると,JP1/AJS3の各種機能に影響を与えます。例えば,ユニットが異常終了したり,正しく実行されなかったりするなどの現象が発生する場合があります。このため,スケジューラーサービスの名称変更は,運用開始前のスケジューラーサービスに対して実施することを推奨します。
クラスタ環境でスケジューラーサービスの名称変更をする場合,実行系および待機系の両方でjajs_setupコマンドを実行してください。また,待機系でjajs_setupコマンドを実行する場合は,必ず実行系の共通定義情報を待機系に反映する前に実施してください。
クラスタ環境でスケジューラーサービス名を変更する流れを次に示します。
-
実行系で,スケジューラーサービス名の変更手順を実施する。
運用開始前に実施する場合と運用開始後に実施する場合で,スケジューラーサービス名を変更する手順が異なります。手順については,「(a) 運用開始前にスケジューラーサービス名を変更する手順」または「(b) 運用開始後にスケジューラーサービス名を変更する手順」を参照してください。
-
実行系で次のコマンドを実行して,変更したスケジューラーサービス名が存在する論理ホストの共通定義情報を退避する。
jbsgetcnf -h 論理ホスト名 > 退避ファイル名
jbsgetcnfコマンドの詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
-
待機系で,スケジューラーサービス名を変更する。
運用開始前に実施する場合と運用開始後に実施する場合で,スケジューラーサービス名を変更する手順が異なります。手順については,「(a) 運用開始前にスケジューラーサービス名を変更する手順」または「(b) 運用開始後にスケジューラーサービス名を変更する手順」を参照してください。
-
待機系で次のコマンドを実行して,手順2で退避した論理ホスト共通定義情報を待機系に反映する。
jbssetcnf 退避ファイル名
jbssetcnfコマンドの詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
スケジューラーサービス名を,運用開始前に変更する手順と運用開始後に変更する手順を次に示します。
(a) 運用開始前にスケジューラーサービス名を変更する手順
-
jajs_setupコマンドを実行して,スケジューラーサービスの名称を変更する。
次のコマンドを実行します。
jajs_setup -r -F 変更前のスケジューラーサービス名 -A 変更後のスケジューラーサービス名
jajs_setupコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 2. セットアップコマンド jajs_setup」を参照してください。
(b) 運用開始後にスケジューラーサービス名を変更する手順
-
変更するスケジューラーサービスを停止し,スケジューラーサービスをコールドスタートする。
コールドスタート後は,名称変更の手順が終了するまでジョブネットを実行登録しないでください。
-
物理ホストとすべての論理ホストのJP1/AJS3サービスを停止する。
-
ajsshmdelコマンドを実行して共有メモリー情報を削除する。
ajsshmdelコマンドのパスは,「/opt/jp1ajs2/bin/ajsshmdel」です。
- (例)
-
shの場合:/opt/jp1ajs2/bin/ajsshmdel >/dev/null 2>&1
cshの場合:/opt/jp1ajs2/bin/ajsshmdel >&/dev/null
-
jajs_setupコマンドを実行して,スケジューラーサービスの名称を変更する。
- (例)AJSROOT2をAJSROOT5に変更する場合の例を次に示します。
-
jajs_setup -r -F AJSROOT2 -A AJSROOT5
jajs_setupコマンド実行時にメッセージKAVS1133-Wが出力されなかった場合は,手順5,手順6を実行しないで,手順7以降の操作を実行してください。
jajs_setupコマンド実行時にメッセージKAVS1133-Wが出力された場合は,メッセージ中に出力される設定名称を確認してください。「ローカル日時」が出力されたときは手順5を,「サスペンド機能」が出力されたときは手順6の操作を実行してから,手順7以降の操作を実行してください。
- 注意事項
-
変更前のスケジューラーサービスにスケジューラーサービスローカル日時を設定している場合は,スケジューラーサービスの名称を変更する前に,スケジューラーサービスローカル日時とシステム日時の差分を取得しておいてください。スケジューラーサービスローカル日時は,ajslocaldateコマンドで取得してください。
システム日時の取得方法については,使用しているOSのドキュメントを参照してください。
スケジューラーサービスローカル日時の設定に失敗してメッセージKAVS1133-Wが出力された場合,手順5で,この差分を使用して変更後のスケジューラーサービスにスケジューラーサービスローカル日時を設定します。
-
ajslocaldateコマンドを実行して,スケジューラーサービスローカル日時を再設定する。
ajslocaldateコマンドを実行して,名称変更後のスケジューラーサービスに対してスケジューラーサービスローカル日時を設定します。
- (例)スケジューラーサービスAJSROOT5のスケジューラーサービスローカル日時をホストの現在時刻より5分(300秒)進める場合
-
ajslocaldate -F AJSROOT5 -s 300
ajslocaldateコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 4. 特別な運用で使用するコマンド ajslocaldate」を参照してください。
-
サスペンド機能を再設定する。
ajssetupコマンドを実行して,名称変更後のスケジューラーサービスに対してサスペンド機能を有効にします。クラスタ環境の場合,共有ディスクが参照できる実行系または待機系のどちらか一方で実施します。
- (例)スケジューラーサービスAJSROOT5のサスペンド機能を有効にする場合
-
ajssetup -F AJSROOT5 -m
ajssetupコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 2. セットアップコマンド ajssetup」を参照してください。
-
変更する前のスケジューラーサービス名が次に示す環境設定パラメーターに設定されている場合,jajs_configコマンドを実行して変更後のスケジューラーサービス名に変更する。
表17‒7 設定値を変更する必要のある環境設定パラメーター 定義キー
環境設定パラメーター
定義内容
[JP1_DEFAULT\JP1AJSMANAGER]
"DEFAULTSERVICENAME"=
デフォルトスケジューラーサービス名
"REMNETSERVICENAME"=
リモートジョブネットを実行するスケジューラーサービス名
- (例)デフォルトスケジューラーサービス名をAJSROOT5に変更する場合
-
jajs_config -k "[JP1_DEFAULT\JP1AJSMANAGER]" "DEFAULTSERVICENAME"="AJSROOT5"
- (例)リモートジョブネットを実行するスケジューラーサービス名をAJSROOT5に変更する場合
-
jajs_config -k "[JP1_DEFAULT\JP1AJSMANAGER]" "REMNETSERVICENAME"="AJSROOT5"
-
JP1/AJS3サービスを起動する。
-
次に示す場合は,スケジューラーサービス起動後,必要に応じてスケジューラーサービス設定を変更または再設定する。
-
ユニット定義に変更前のスケジューラーサービス名を指定している場合
-
JP1/AJS3の連携機能で,変更前のスケジューラーサービスを監視対象や情報収集対象としている場合
-
(c) スケジューラーサービス名を変更する場合の注意事項
次に示すスケジューラーサービスの環境設定パラメーターは,標準でスケジューラーサービス名を含むディレクトリパスを使用しています。
-
AJSSYSDIR
-
AJSLOGDIR
-
AJSDBDIRECTORY
-
AJSLOGFILE1
-
AJSLOGFILE2
スケジューラーサービス名の変更後,環境設定パラメーターを変更しなくても運用に影響はありませんが,必要に応じて変更後のスケジューラーサービス名を含むディレクトリパスに変更することを検討してください。
サスペンド機能またはキューレスジョブを使用している環境で,環境設定パラメーターAJSDBDIRECTORYを変更する場合,変更後に各機能の再設定が必要です。再設定は,共有ディスクが参照できる実行系または待機系のどちらか一方で実施してください。
環境設定パラメーターを変更するには,jajs_configコマンドを使用します。jajs_configコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 2. セットアップコマンド jajs_config」を参照してください。
各環境設定パラメーターの詳細については,「20.4 スケジューラーサービス環境設定」を参照してください。