18.4.7 論理ホストのスケジューラーサービスの多重起動の設定
スケジューラーサービスの多重起動を設定するためには,まず,追加するスケジューラーサービスの名称などの情報を設定します。次に,そのスケジューラーサービス用のデータベースを新規に作成します。
スケジューラーサービスの多重起動の設定手順,および追加したスケジューラーサービスの削除手順を次に示します。
- <この項の構成>
- (1) スケジューラーサービスを多重起動する
- (2) 追加したスケジューラーサービスを削除する
(1) スケジューラーサービスを多重起動する
スケジューラーサービスの多重起動の設定手順を次に示します。
(a) 実行系での作業
- JP1/AJS2のサービスを停止する。
次のコマンドを実行して,論理ホストのプロセスがすべて停止していることを確認します。
jajs_spmd_stop -h 論理ホスト名
jajs_spmd_status -h 論理ホスト名
- 次に示すコマンドを実行して,JP1/AJS2 Monitorサービスを停止する。
ajsinetd_startstop stop
ajsinetd_startstopコマンドのパスは,「/etc/opt/jp1ajs2/ajsinetd_startstop」です。
- 次のファイルをviなどのエディターで開く。
論理ホストの共有ディレクトリ/jp1ajs2/conf/Schedule.conf
Schedule.conf(スケジューラーサービス環境設定ファイル)に書かれている内容の詳細については,「14.1.2 スケジューラーサービス環境設定ファイルの環境設定パラメーター一覧」または「14.1.3 スケジューラーサービス環境設定パラメーターの定義内容」を参照してください。
- スケジューラーサービスの多重起動のために必要な項目を追加する。
Schedule.confの[論理ホスト名¥AJSMANAGER¥スケジューラーサービス名]の内容を参考にして,追加するスケジューラーサービスの環境を設定します。設定内容は,ファイルの最後に追加します。
なお,退避情報ディレクトリ(環境設定パラメーターAJSBKUROOTで設定するディレクトリ)以外は,自ホスト内(物理ホストとすべての論理ホスト)に設定されている,ほかのスケジューラーサービスが使用するディレクトリと重複しないようにしてください。また,ほかのスケジューラーサービスが使用するディレクトリの配下にも設定しないでください。
(例)
論理ホスト名が「node0」,論理ホストの共有ディレクトリが「/shdsk/node0」の論理ホストに,「AJSROOT3」という スケジューラーサービスを追加する場合
[node0¥JP1AJSMANAGER¥AJSROOT3]
"AJSBKUROOT"="/shdsk/node0/jp1ajs2/backup/schedule3"
"AJSCHARCODE"="SJIS"
"AJSDBDIRECTORY"="/shdsk/node0/jp1ajs2/database/schedule/AJSROOT3"
"AJSDBTYPE"="ISAM"
"AJSLOG"="all"
"AJSSERVICEID"=dword:00000003
"AJSSYSLOG"="none"
"AJSTMPDIR"="/shdsk/node0/jp1ajs2/tmp/schedule3"
"AUTOSTART"="yes"
"EXECDEFER"="oneday"
"HNTRLOGLEVEL"="error"
"ISAMWRITEMODE"="flush"
"JOBINFDIR"="/shdsk/node0/jp1ajs2/jobinf3"
"JOBLOG"="all"
"JOBSTATUSPORT"="jp1ajs2report3"
"JOBSYSLOG"="none"
"NETLOG"="all"
"NETSYSLOG"="none"
"OPELOG"="all"
"OVERSCHEDULE"="exec"
"RDBAUTHID"=""
"RDBUSER"=""
"SESSIONTIMEOUT"=dword:00000078
"STARTMODE"="warm"
"SUPPRESS"="none"
"SYSLOGCODE"="C"
"TABLENAMEPOSTFIX"=""
"TABLENAMEPREFIX"="AJS"
- ファイルを保存し,次のコマンドを実行する。
jbssetcnf 設定ファイル名
jbssetcnfコマンドのパスは,「/opt/jp1base/bin/jbssetcnf」です。
jbssetcnfコマンドの詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
- 手順3で設定したディレクトリをmkdirコマンドなどで共有ディスクに作成する。
- 手順3のJOBSTATUSPORTパラメーターに指定したジョブ状態通知ポートのサービス名に対するポート番号を設定する。
/etc/servicesファイルをエディターなどで開き,ポート番号を追加します。このとき,既存のポート番号と重複しないようにしてください。
(例)ポート番号を「20248」として設定する場合
jp1ajs2report3 20248/tcp
- 次のコマンドを実行して,追加したスケジューラーサービス用のJP1/AJS2データベースを作成する。
ajssetup -F スケジューラーサービス名 [-mh 論理ホスト名]
(例)
論理ホスト名「node0」に「AJSROOT3」スケジューラーサービスのスケジューラーデータベースを作成する場合
ajssetup -F AJSROOT3 -mh node0
- キューレスジョブを利用する場合は,キューレスジョブのセットアップをする。
次のコマンドを実行します。
ajsqlsetup -F スケジューラーサービス名 -h 論理ホスト名
- 組み込みDBを使用する場合は組み込みDBに移行する。
組み込みDBセットアップツール(ajsembdbsetupスクリプト)を使用して,標準データベースを組み込みDBに移行します。
組み込みDBへの移行手順については,「15. スケジューラーデータベースに組み込みDBを使用する場合のセットアップ」を参照してください。
- スケジューラーサービスを追加したJP1/AJS2のサービスおよびJP1/AJS2 Monitorサービスを再起動する。
設定した内容でスケジューラーサービスが追加され,起動します。
(b) 待機系での作業
- 実行系の共通定義情報を待機系に設定する。
実行系での作業が完了したあと,実行系でjbsgetcnfコマンドを実行し,共通定義情報を退避します。その退避ファイルを待機系にコピーし,退避ファイルを引数に指定してjbssetcnfコマンドを実行します。
実行するコマンドを次に示します。
実行系
jbsgetcnf -h 論理ホスト名 > 退避ファイル名
待機系
jbssetcnf 退避ファイル名
- (a)の実行系での作業の手順7で追加したポート番号を待機系に設定する。
/etc/servicesファイルをエディターなどで開き,ポート番号を追加します。このとき,実行系で設定したポート番号と同じ番号を追加するようにしてください。
(例)ポート番号を「20248」として設定する場合
jp1ajs2report3 20248/tcp
- 次に示すコマンドを実行して,JP1/AJS2 Monitorサービスを停止・再起動する。
ajsinetd_startstop stop
ajsinetd_startstop start
ajsinetd_startstopコマンドのパスは,「/etc/opt/jp1ajs2/ajsinetd_startstop」です。
- 多重起動時のコマンド実行についての補足事項
- スケジューラーサービスを多重起動している場合,「-F スケジューラーサービス名」オプションを指定しないでコマンドを実行すると,デフォルトのスケジューラーサービスに対する操作となります。
- 環境変数AJSCONFにスケジューラーサービス名を指定しておくと,-Fオプションを省略できます。
(2) 追加したスケジューラーサービスを削除する
スケジューラーサービスの削除は,実行系・待機系の両方で実行します。追加したスケジューラーサービスの削除手順を次に示します。
- jajs_spmd_stopコマンドを実行して,JP1/AJS2サービスを停止する。
物理ホストのJP1/AJS2マネージャーも含め,すべてのJP1/AJS2サービスを停止してください。
- 次に示すコマンドを実行して,JP1/AJS2 Monitorサービスを停止する。
ajsinetd_startstop stop
ajsinetd_startstopコマンドのパスは,「/etc/opt/jp1ajs2/ajsinetd_startstop」です。
- ajsshmdelコマンドを実行して,共有メモリー情報を削除する。
ajsshmdelコマンドのパスは,「/opt/jp1ajs2/bin/ajsshmdel」です。
(例)shの場合
/opt/jp1ajs2/bin/ajsshmdel >/dev/null 2>&1
(例)cshの場合
/opt/jp1ajs2/bin/ajsshmdel >&/dev/null
- スケジューラーサービスを追加したときに作成したディレクトリを削除する。
- 論理ホストの環境設定情報をファイルに退避する。
次に示すコマンドを実行します。
jbsgetcnf -h 論理ホスト名 > 退避ファイル名
jbsgetcnfコマンドの詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
- 削除するスケジューラーサービスの名称を指定し,環境設定情報から削除する。
次に示すコマンドを実行します。
jbsunsetcnf -h 論理ホスト名 -c JP1AJSMANAGER -n 削除するスケジューラーサービス名
- JP1/AJS2サービスおよびJP1/AJS2 Monitorを起動する。
手順1および手順2で停止したサービスを再起動し,スケジューラーサービスが削除されていることを確認します。