12. 環境移行(テスト環境から本番環境への移行)
12.1 環境移行手順
12.1.1 ホスト名、ユーザ名の変換作業
ホスト名やユーザ名に変更がある場合、次の変換作業を行います。
(1) localinfoファイル変更
ホスト名を変更しない場合はこの作業を行う必要はありません。
JobCenterでは、localinfoというファイルに自マシンのNQSのホストIDとマシン名を保存して います。
ファイルは次のパスにあります。該当するlocalinfoファイルをnmapmgrコマンドで変更します。
Windowsの場合
ローカルノードの場合
%InstallDirectory%¥NMAP¥localinfo
備考 %InstallDirectory%はJobCenterのインストールディレクトリです。
デフォルトはC:¥JobCenter¥SVになります。
クラスタ環境の場合
%JobCenterDatabaseDirectory%¥NMAP¥localinfo
備考 %JobCenterDatabaseDirectory%は、cjcmksite時に指定した共有ディスク上 のデータベースディレクトリです。
備考 クラスタ環境の場合はnmapmgr起動前に環境変数NQS_SITEに仮想ホスト 名を設定してください。
set NQS_SITE='仮想ホスト名'
UNIXの場合
ローカルノードの場合
/usr/spool/nqs/nmap/localinfo
クラスタ環境の場合
<共有ディスク上のJobCenterDBパス>/nqs/nmap/localinfo
備考 クラスタ環境の場合はnmapmgr起動前に環境変数NQS_SITEに仮想ホスト 名を設定してください。
sh系
NQS_SITE='仮想ホスト名' export NQS_SITE
csh系
setenv NQS_SITE '仮想ホスト名'
次に、nmapmgrコマンドでホスト名を変更する例を示します。
詳細については「JobCenter コマンドリファレンス 3.11 nmapmgr ネットワークの構成管理」
を参照してください。
(例)host2のホストIDを110から、200に変更する
# nmapmgr
NMAPMGR>: del mid 110
NMAP_SUCCESS: Successful completion.
NMAPMGR>: add mid 200 host2
NMAPMGR>: exit
#
(2) nmapmgrの設定変更
ホスト名を変更しない場合はこの作業を行う必要はありません。
Windowsの場合
echo change name ホストID 新ホスト名 | %InstallDirectory%¥bin¥nmapmgr
自ホストのホスト名を変更した場合
echo set local name 新ホスト名 | %InstallDirectory%¥bin¥nmapmgr も実行してください。
備考 %InstallDirectory%はJobCenterのインストールディレクトリです。
デフォルトはC:¥JobCenter¥SVになります。
UNIXの場合
echo change name ホストID 新ホスト名 | /usr/bin/nmapmgr
自ホストのホスト名を変更した場合
echo set local name 新ホスト名 | /usr/bin/nmapmgr も実行してください。
(3) ジョブネットワーク定義情報の変更
実行中のトラッカや、過去に実行したトラッカ、トラッカアーカイブは引き継げません。
あるマシンから別のマシンにジョブネットワーク定義等のユーザデータを移行する場合は、
まず最低1回、移行先マシンのJobCenterに移行先のユーザ名でCL/Winからログイン操 作を行ってください。これにより基本的なユーザ環境が移行先マシンの上記パスに生成さ れます。
自マシン名変更だけでユーザ名変更する場合など、すでにユーザ環境が存在する場合は
CL/Winによる事前の接続操作は不要です。
特定のジョブネットワークやスケジュール等を個別に他のマシンやユーザに移行する場合、
移行元がR12.3.4以上であればインポート・エクスポート機能を利用してください。
必ず次の全ファイルのバックアップを行ってから実行してください。
Windowsの場合
%InstallDirectory%¥jnwexe¥spool¥ユーザ名配下
備考 %InstallDirectory%はJobCenterのインストールディレクトリです。
デフォルトはC:¥JobCenter¥SVになります。
UNIXの場合
ユーザディレクトリ/NetShepEUI配下
ジョブネットワーク定義情報等の移行に先立ち、必ず1度は、移行先のユーザで、CL/Winから ログイン操作を行ってください。これにより、基本的なユーザ環境が生成されます。
また、そのユーザの全て定義を移行が必要な場合、次のディレクトリやファイルが対象となりま
す。これら以外は、CL/Winからのログインで作成されたファイルを上書きしないようにご注意 ください。
ユーザディレクトリ/NetShepEUI/indcalディレクトリ(スケジュール定義)
ユーザディレクトリ/NetShepEUI/nsjnw ディレクトリ(ジョブネットワーク定義)
ユーザディレクトリ/NetShepEUI/group.fファイル(ジョブネットワークグループ)
ユーザディレクトリ/NetShepEUI/userconfファイル(ユーザ環境設定)
ユーザディレクトリ/NetShepEUI/infoファイル(JCR6.1以前の場合のみ)
備考 クラスタ環境の場合は、ユーザディレクトリ/NetShepEUIを共有ディスク上の
<JobCenterDBパス>/nqs/gui/<ユーザ名>に読み替えてください。
ユーザ名を変更する場合、ジョブネットワーク定義およびそのジョブネットワークに関連付いて いるスケジュール定義を新ユーザへ移行後に実行してください。
移行の際はディレクトリやファイルのモードや権限を変更しないように注意して作業してくださ い。
Windowsの場合
%InstallDrectory%¥jnwexe¥lib¥jnwop chenv (dirname) (oldmac) (newmac)
[(oldusr) (newusr)]
備考 %InstallDirectory%はJobCenterのインストールディレクトリです。
デフォルトはC:¥JobCenter¥SVになります。
UNIXの場合
/usr/lib/nqs/gui/bin/jnwop chenv (dirname) (oldmac) (newmac) [(oldusr) (newusr)]
dirname:ディレクトリ名
変換に必要なファイルが存在するため、dirnameにはユーザディレクトリを指定す る必要があります。ジョブネットワーク個別の指定はできません。
Windowsの場合
%InstallDirectory%¥jnwexe¥spool¥ユーザ名などの情報置き換えの対象とな るディレクトリ名です。相対パスで指定できます。
UNIXの場合
NetShepEUI などの情報置き換えの対象となるディレクトリ名です。相対パ
スで指定できます。
oldmac:旧マシン名
移行前のマシン名です。省略する場合は空文字列("")を指定します。省略した場 合はディレクトリに記録されたマシン名からの変換となります。
newmac:新マシン名
移行後のマシン名です。省略する場合は空文字列("")を指定します。省略した場 合はマシン名の置き換えは行いません。
oldusr:旧ユーザ名
移行前のユーザ名です。省略する場合は空文字列("")を指定します。省略した場 合はディレクトリに記録されたユーザ名からの変換となります。
newusr:新ユーザ名
移行後のユーザ名です。省略する場合は空文字列("")を指定します。省略した場 合はユーザ名の置き換えは行いません。
*oldusrとnewusrをともに省略する場合は、指定する必要はありません。
注意事項
JobCenterでは、以下に該当するユーザ名を使用することはできません。
JobCenter において”CommonJNW”というユーザ名は使用できません。また、
ホスト名と同じユーザ名は使用できません。
長さが15バイトを超えるユーザ名、は使用できません。
最初の文字が半角数字であるユーザ名、マルチバイト文字・空白・タブを含むユー ザ名、「! " # $ % & ' ( ) * , . / : ; < = > ? @ [ ¥ ] ^ ` { | } ~」のいずれかの文字を含む ユーザ名は使用できません。
jnwop chenv で、以下のパラメータが変換されませんので、CL/Winから個別に修
正する必要があります。あるいは、デフォルトパラメータは移行しないようにして 下さい。
イベント送受信部品のパラメータ中のホスト名やユーザ名
各パラメータのpathに含まれるユーザ名
スクリプト中に書かれたユーザ名やホスト名
デフォルトパラメータの設定
ジョブネットワークのメール関連のパラメータ
ユーザ環境設定のアーカイブパス。
環境変数として設定されているユーザ名やホスト名は変換されません。
ユーザ固有の環境変数を設定している場合は、13.1.3項「環境変数の設定方法」に より、再設定してください。
jnwop コマンドの chenv オプションの詳細については「コマンドリファレンス 3.4 jnwop (chenv) ジョブネットワークのデータを移行」を参考して下さい。
開発環境で作成したジョブネットワークのうち一部を本番環境に移行するような場合は、次の ようにテンポラリディレクトリで変換してから、必要なジョブネットワークだけをコピーして ください。
以下はUNIXの例です。
① 移行元ユーザのユーザディレクトリ/NetShepEUI 配下を全て別のテンポラリディレクトリ
(/tmp)などにコピーします。
② /tmp配下で次のコマンドを実行します。
/usr/lib/nqs/gui/bin/jnwop chenv /tmp/NetShepEUI 開発機ホスト名 本番機ホスト名 移行元 ユーザ名 移行先ユーザ名
③ /tmp/NetShepEUI/nsjnw配下から移行したいJNW名のディレクトリごと、移行先のユーザ ディレクトリ/NetShepEUI/nsjnw配下にコピーしてください。
クラスタ環境の場合は、ユーザのホームディレクトリ/NetShepEUI を共有ディスク上の
<JobCenterDBパス>/nqs/gui/<ユーザ名>に読み替えてください。
④ CL/Winで新しいマシンに接続して、移行したデータが正常に表示されることを確認します。
⑤ CL/Winで任意のスケジュール定義を開くか、または新規に作成して、ダミーのルールを最 低1行追加して「適用」します。これにより、CL/Winで接続していない場合にスケジュー ル投入する際に利用する、ユーザ環境変数のキャッシュが新しいマシンに適した内容に更新 されます。追加したダミーのルールはその後削除しておいてください。この操作はユーザデー タを移行・変換した全てのユーザについて行う必要があります。
⑥ 追加したダミーのルールはその後削除しておいてください。
移行対象のジョブネットワークがスケジュール起動している(スケジュールカレンダと関連付け されている)場合、次の点に注意してください。
ジョブネットワークをスケジュール起動している場合、次回の起動時刻を内部情報として保持し ています。JobCenterが停止していた期間にスケジュールされていたジョブネットワークは、こ の情報をもとにJobCenterが次回起動されたときに、順次実行を行います。
この仕様により、手順①~③の作業を長時間にかけて行われた場合、JobCenterの起動後、大量 のジョブネットワークが一斉に実行されるという状況になります。ただし、スケジュールの設定 にも依存します。
移行元および移行先のJobCenter起動時に、過去のスケジュールのジョブネットワークを起動さ せたくない場合は、環境変数「SCLAUNCHD_FORGET」を設定し、JobCenter起動時のスケジュー ルを制御してください。なお、環境変数「SCLAUNCHD_FORGET」の設定については、「5.2 デー モン設定ファイルの使用可能パラメータ」を参照してください。
( 4 ) マシンの種別によって次の変更を行ってください。
ホスト名を変更したマシンがマネージャである場合
マネージャで管理している全てのマシン上のnsumsmgrアカウントの.rhostsファイルの 内容を新しいホスト名に変更し、さらに各マシン上のnmapmgrの設定からマネージャの ホストIDを削除して、マネージャから全てのマシンを再登録する必要があります。ホス ト名を変更したマシンに対してジョブを投入するジョブネットワークが存在する場合、同 時にジョブネットワークの各ジョブの転送先についても、全て再設定する必要があります。
ユーザマッピングの設定を行っていた場合も再設定が必要となります。
ホスト名を変更したマシンがマネージャの管理下のマシンである場合
ホスト名を変更したマシンと連携して JobCenter を使用している全てのマシン上の
nmapmgrの設定から変更前のホスト名に対するmidの登録を削除し、さらにマネージャ
のメンバから以前のホスト名を削除し、新しいホスト名で再登録する必要があります。ま た、ホスト名を変更したマシンに対してジョブを投入するジョブネットワークを持つマシ ンが存在する場合、同時にジョブネットワークの各ジョブの転送先についても、全て再設 定する必要があります。
ユーザマッピングの設定を行っていた場合も再設定が必要となります。