15.1.1 スケジューラーサービスの多重起動の設定
スケジューラーサービスは,ジョブグループを管理する制御単位です。スケジューラーサービスを多重起動すると,ジョブグループをスケジューラーサービスごとに管理できるようになります。
スケジューラーサービスを多重起動するためには,まず,追加するスケジューラーサービスの名称などの情報を設定します。
スケジューラーサービスの追加手順,および追加したスケジューラーサービスの削除手順を次に示します。
論理ホストへのスケジューラーサービスの追加,および論理ホストに追加したスケジューラーサービスの削除については,「17.2.9 論理ホストのスケジューラーサービスの多重起動の設定」を参照してください。
- 〈この項の構成〉
(1) スケジューラーサービスを追加する
-
JP1/AJS3のサービスを停止する。
次のコマンドを実行して,プロセスがすべて停止していることを確認します。
# /etc/opt/jp1ajs2/jajs_stop # /opt/jp1ajs2/bin/jajs_spmd_status
- 重要
-
物理ホストに構築されているすべての組み込みDBを稼働状態にする必要があります。ajsembdbstatusコマンドに-s ust -id _JFn(nは0〜9またはA〜Zのどれか)オプションを指定して実行し,組み込みDBが稼働状態になっていること(UNIT-STATがONLINEになっていること)を確認してください。稼働状態になっていない場合は,ajsembdbstartコマンドに-id _JFnオプションを指定して実行してください。
対象となる組み込みDBのセットアップ識別子(_JFn)については,ajsembdbidlistコマンドを実行して確認してください。
-
mkdirコマンドなどで,次に示すディレクトリを作成する。
-
データベースディレクトリ
-
一時ファイル用ディレクトリ
-
ジョブ情報ディレクトリ
-
退避情報ディレクトリ
なお,退避情報ディレクトリ以外は,自ホスト内(物理ホストとすべての論理ホスト)に設定されている,ほかのスケジューラーサービスが使用するディレクトリと重複しないようにしてください。また,ほかのスケジューラーサービスが使用するディレクトリの配下にも作成しないでください。
-
-
スケジューラーサービスを追加するためにjajs_setupコマンドを実行する。
jajs_setup -a -F スケジューラーサービス名 -p ジョブ状態通知ポートのサービス名 -d データベースディレクトリ名 -t 一時ファイル用ディレクトリ名 -j ジョブ情報ディレクトリ名 -b 退避情報ディレクトリ名 -n スケジューラーサービスの識別番号 [[-I セットアップ識別子 -P 組み込みDBポート番号] [-M {s|m|l}] [-E {byte|sjis}] |-S]
(例)「AJSROOT2」というスケジューラーサービスを追加する場合
jajs_setup -a -F AJSROOT2 -p jp1ajs2report2 -d "/var/opt/jp1ajs2/database/schedule/AJSROOT2" -t "/var/opt/jp1ajs2/tmp/schedule2" -j "/var/opt/jp1ajs2/jobinf2" -b "/var/opt/jp1ajs2/backup/schedule2" -n 2
jajs_setupコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 2. セットアップコマンド jajs_setup」を参照してください。
-
組み込みDBの高度なセットアップを実行する。
手順3で-Sオプションを指定した場合は,組み込みDBの高度なセットアップを実施します。組み込みDBの高度なセットアップについては,「23.4 組み込みDBの高度なセットアップ」を参照してください。
-
手順3で指定したジョブ状態通知ポートのサービス名に対するポート番号を設定する。
/etc/servicesファイルをエディターなどで開き,ポート番号を追加します。このとき,既存のポート番号と重複しないようにしてください。
(例)ポート番号を「20248」として設定する場合
jp1ajs2report2 20248/tcp
-
キューレスジョブを利用する場合は,キューレスジョブのセットアップをする。
次のコマンドを実行します。
ajsqlsetup [-F スケジューラーサービス名]
ajsqlsetupコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 4. 特別な運用で使用するコマンド ajsqlsetup」を参照してください。
-
JP1/AJS3サービスを再起動する。
設定した内容でスケジューラーサービスが追加され,起動します。
再起動後,JP1/AJS3 - Viewなどで,追加したスケジューラーサービス名が付けられたマネージャージョブグループが表示されていることを確認してください。
- コマンド実行についての補足事項
-
スケジューラーサービスを追加している場合,「-F スケジューラーサービス名」オプションを指定しないでコマンドを実行すると,デフォルトのスケジューラーサービスに対する操作となります。
環境変数AJSCONFにスケジューラーサービス名を指定しておくと,-Fオプションを省略できます。
(2) 追加したスケジューラーサービスを削除する
-
jajs_spmd_stopコマンドを実行して,JP1/AJS3サービスを停止する。
論理ホストのJP1/AJS3マネージャーも含め,すべてのJP1/AJS3サービスを停止してください。
- 重要
-
物理ホストに構築されているすべての組み込みDBを稼働状態にする必要があります。ajsembdbstatusコマンドに-s ust -id _JFn(nは0〜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 スケジューラーサービス名
(例)スケジューラーサービス「AJSROOT2」を削除する場合
jajs_setup -e -F AJSROOT2
jajs_setupコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 2. セットアップコマンド jajs_setup」を参照してください。
-
スケジューラーサービスを追加したときに作成したディレクトリを削除する。
jajs_setupコマンド実行時に作成した,次のディレクトリを削除してください。
-
-dオプションに指定したデータベースディレクトリ
-
-tオプションに指定したテンポラリーディレクトリ
-
-jオプションに指定したジョブ情報ディレクトリ
-
-bオプションに指定した退避情報ディレクトリ
-
-
スケジューラーサービス単位でトレースログを出力している場合は,削除したスケジューラーサービスのトレースログファイルを削除する。
環境設定パラメーターTRACELOGDIVに「yes」を設定している場合は,スケジューラーサービス単位でトレースログが出力されます。この場合,トレースログファイルは環境設定パラメーターTRACELOGDIVDIRに指定したディレクトリに「tracelog_スケジューラーサービス名」という名前で出力されているので,削除したスケジューラーサービスのトレースログファイルを削除してください。
-
JP1/AJS3サービスを起動する。
追加したスケジューラーサービスが削除されます。
(3) 不要となったデータベース環境をアンインストールする
不要となったデータベース環境のアンインストール手順については,「6.1.1(3) 不要となったデータベース環境をアンインストールする」を参照してください。
(4) スケジューラーサービス名を変更する
スケジューラーサービスの名称を変更すると,JP1/AJS3の各種機能に影響を与えます。例えば,ユニットが異常終了したり,正しく実行されなかったりするなどの現象が発生する場合があります。このため,スケジューラーサービスの名称変更は,運用開始前のスケジューラーサービスに対して実施することを推奨します。
スケジューラーサービス名を,運用開始前に変更する手順と運用開始後に変更する手順を次に示します。
(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コマンドを実行して,名称変更後のスケジューラーサービスに対してスケジューラーサービスローカル日時を設定します。
- (例)スケジューラーサービス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コマンドを実行して変更後のスケジューラーサービス名に変更する。
表15‒1 設定値を変更する必要のある環境設定パラメーター 定義キー
環境設定パラメーター
定義内容
[JP1_DEFAULT\JP1AJSMANAGER]
"DEFAULTSERVICENAME"=
デフォルトスケジューラーサービス名
"REMNETSERVICENAME"=
リモートジョブネットを実行するスケジューラーサービス名
- (例)デフォルトスケジューラーサービス名をAJSROOT5に変更する場合
-
jajs_config -k "[JP1_DEFAULT\JP1AJSMANAGER]" "DEFAULTSERVICENAME"="AJSROOT5"
- (例)リモートジョブネットを実行するスケジューラーサービス名をAJSROOT5に変更する場合
-
jajs_config -k "[JP1_DEFAULT\JP1AJSMANAGER]" "REMNETSERVICENAME"="AJSROOT5"
-
スケジューラーサービス単位でトレースログを出力している場合は,名称を変更する前のスケジューラーサービスのトレースログファイル名を変更する。
環境設定パラメーターTRACELOGDIVに「yes」を設定している場合は,スケジューラーサービス単位でトレースログが出力されます。この場合,トレースログファイルは環境設定パラメーターTRACELOGDIVDIRに指定したディレクトリに「tracelog_スケジューラーサービス名」という名前で出力されます。「スケジューラーサービス名」の部分を,変更する前のスケジューラーサービス名から変更後のスケジューラーサービス名に変更してください。
-
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 スケジューラーサービス環境設定」を参照してください。