JP1/Base: jbschgpasswdでKAVA5222-Eが出た場合

クラスタ環境にてjbschgpasswdを実行した際にKAVA5222-Eが出力されました。先ずはエラーの内容を確認。

認証サーバが開始していないか,応答しない場合に出力されます。

(S)
認証サーバが応答しないため,コマンドの処理を終了します。

(O)
次の項目を確認してください。

JP1/Baseのサービスが起動しているか。
指定した認証サーバが存在しているか。
ネットワーク接続が適当か。
コマンド実行したホストと認証サーバのIPアドレスのバージョン(IPv4/IPv6)が一致しているか。
IPアドレスのバージョン(IPv4/IPv6)の確認方法については,マニュアル「JP1/Base 運用ガイド」のコマンドの章のjp1pingコマンドを参照してください。

原因を特定できたので覚書。実はjp1pingコマンドでその悪い部分が特定できました。同一ホスト上で物理ホスト環境と論理ホスト環境を構築する場合の設定を確認するとSearch jp1hostsの結果は”hoge is found.”で無くてはいけない事が判ります。ここがエラーの原因でした。

つまりはjp1hostsの登録が正常にされていない事が原因だったわけなので、jp1hostsを登録してあげます。jp1hosts情報を定義するを参考に、こんな感じでテキストファイルを作成(テキストファイルは便宜上jp1hosts_reg.txtとかにします)。

hoge1 192.168.xxx.xx1
hoge2 192.168.xxx.xx2

hoge1, hoge2は双方物理ホスト名のみ記載します。クラスタ用の論理ホスト名はここには記載しません。このファイルを作成したら次のコマンドでインポートします。クラスタ構成の場合は実行系でこんな感じに。

jbshostsimport -o jp1hosts_reg.txt
jbshostsimport -o jp1hosts_reg.txt -h hoge_cluster

一方で待機系では物理環境のみにインポート。

jbshostsimport -o jp1hosts_reg.txt

後は実行系でクラスタ用の定義を抜いて(jbsgetcnf -h hoge_cluster)待機系に上書きして(jbssetcnf)上げればばっちり!ちなみにサポート対象外なので全くおすすめはしませんが、設定後に管理コンソールを上げた場合には、そのコンソール内では既に設定が反映されますのでjbschgpasswdは正常に実行できました。本来はJP1/Baseの再起動が必要になりますので注意してください。

JP1: イベント送信コマンドに注意

ajsevput を使って居たのだけれどサーバリプレイス序にバージョンリニューアルをしたら動かなくなってしまった件。解決できたので覚書。結論から言うと ajsevput はバージョンアップ以外の時は使っちゃダメだった模様。

このコマンドは,JP1 Version 5以前からの移行時に使用してください。JP1 Version 5のajsevputコマンドの機能の範囲だけで動作します。新たにJP1イベントを送信したい場合は,イベントサービスの機能拡張に対応した,次に示すどれかの方法で対処してください。
JP1イベント送信ジョブを使用する。
JP1/Baseのjevsendコマンドを使用する。
JP1/IMのJevRegistEvent関数を使用する。

使いやすさという点から jevsend に置換がよさそうですね。もしもローカルでイベントIDのみ飛ばしているのであれば ajsprint で定義体を抜いた時も s/ajsevput /i:/jevsend -I/g とかで一発変換できます。これなら大丈夫かな。