マイグレーションのトラブルシューティング
WebSphere® Application Server の旧バージョンからマイグレーションするときに問題が発生する場合があります。
始める前に

この項目では、プロファイル構成マイグレーションについて説明します。アプリケーションを最新バージョンにマイグレーションするには、WebSphere Application Server Migration Toolkit を使用します。詳しくは、WASdev の Migration Toolkit を参照してください。
sptcfg手順
- 検証ステップでジョブが失敗しました。
これは、マイグレーション・プロセスの開始前に構成エラーが検出されたことを示しています。 これは、マイグレーション・ジョブの作成時に入力された誤ったデータ、 または構成上の問題が原因である可能性があります。 エラー検出のためにログ出力を検討して、訂正してから再実行します。 ログは temporary_directory_location/nnnnn にあります。 ここで、temporary_directory_location はマイグレーション・ジョブの作成時に 指定した値 (デフォルトは /tmp/migrate) であり、 nnnnn はマイグレーション・ジョブの作成時に生成および表示され、 さらにバッチ・ジョブ・ストリームの WROUT および WRERR ステップの JESOUT DDNAME に表示される固有の番号です。
- 検査ステップの後、ジョブが失敗しました。
検査ステップの後でマイグレーション・ジョブに失敗があった場合は、マイグレーション・ジョブを再実行できますが、最初に CRHOME ステップで作成した WebSphere Application Server for z/OS® 構成ホーム・ディレクトリーを削除しなければなりません。これは、マイグレーション・ジョブの作成時に入力したホーム・ディレクトリーに対応し、マイグレーション・ジョブ制御言語 (JCL) 環境変数 V6_HomeDir 内でも検出できます。 マイグレーション手順は、マイグレーションされるそれぞれのノードに新規の 構成ファイル・システムを作成するので、構成を削除し最初から始めるのは簡単なプロセスです。
- 統合ノードのマイグレーションで問題が発生しました。
統合ノードは、基本的に 2 つのマイグレーションが合わせて 1 つになっているので、マイグレーションするには最も複雑なノードです。 統合ノードは、統合ノード内に含まれる構成情報と同様に、デプロイメント・マネージャーの基本リポジトリーに含まれるノード構成情報のマイグレーションも必要とします。 統合ノードのマイグレーションでは、デプロイメント・マネージャーへの活動接続が必要です。 セキュリティーを使用可能にしている場合、 マイグレーション・ジョブの作成時に生成された指示に必ず従ってください。 マイグレーション・ジョブは、セキュア接続を獲得するために適切に構成された WebSphere 管理者ユーザー ID を使用して実行依頼する必要があります。
- マイグレーションのアプリケーション・インストール・フェーズでジョブが失敗しました。
バージョン 7.0 以降 の構成内に存在しているエンタープライズ・アプリケーションを新規のバージョン 9.0 にインストールするためのマイグレーション・プロセス・オプションを選択すると、マイグレーションのアプリケーション・インストール・フェーズでエラー・メッセージが表示される可能性があります。
バージョン 7.0 以降の構成内に存在しているアプリケーションには、誤ったデプロイメント情報 (通常は、以前の WebSphere Application Server ランタイムで十分に検査されていない無効な XML 文書) が含まれている可能性があります。現在、ランタイムには改良されたアプリケーション・インストール検査プロセスが組み込まれているため、 誤った形式の EAR ファイルのインストールは失敗します。 この結果、WASPostUpgrade のアプリケーション・インストール・フェーズが 失敗し、「E:」エラー・メッセージが表示されます。 これは、「致命的な」マイグレーション・エラーと見なされます。
アプリケーション・インストールでこの問題が原因でマイグレーションが失敗した場合は、 以下のいずれかを実行できます。- バージョン 7.0 以降 のアプリケーション内の問題を修正し、マイグレーションを再度行います。
- マイグレーションを続行し、このエラーを無視します。
- FINISHUP ステップでマイグレーション・ジョブを再開し、残りのマイグレーション機能を実行します。
このことは、RESTART=FINISHUP パラメーターをジョブ・カードに追加し、ジョブを再サブミットして行います。
- 後で該当するアプリケーション内で問題を修正し、管理コンソールまたはインストール・スクリプトを使用して新規バージョン 9.0 の構成にこのアプリケーションを手動でインストールします。
- FINISHUP ステップでマイグレーション・ジョブを再開し、残りのマイグレーション機能を実行します。
- スペース不足エラーが発生します。
マイグレーション・ログは、temporary_directory_location/nnnnn にあります。 ここで、temporary_directory_location はマイグレーション・ジョブの作成時に指定した 値 (デフォルトは /tmp/migrate) であり、 nnnnn は、マイグレーション・ジョブの作成中に生成された固有の番号です。 通常、マイグレーション・ログのためのスペース所要量は少量です。 しかし、トレースを使用可能にしていると、ログ・ファイルはかなり大きくなる可能性があります。 問題が検出された後でのみトレースを使用可能にすることをお勧めします。 トレースが必要な場合は、デバッグされているプロセス内のステップに関するトレースのみを使用可能にするようにします。 これは、スペース所要量の削減に役立ちます。
z/OS マイグレーション管理ツールまたは zmmt コマンドを使用してマイグレーション・ジョブを作成するときに、トレースを有効にすることができます。 zmmt コマンドを使用してトレースを有効にするには、応答ファイルで以下のプロパティーを可能な値に設定します。
- zmbEnablePreUpgradeTrace
- zmbEnablePostUpgradeTrace
- zmbEnableProfileTrace
- zmbEnableScriptingTrace
zmbEnablePreUpgradeTrace と zmbEnablePostUpgradeTrace は、0 (トレースなし) から 4 (すべてのトレース) の値に設定します。 zmbEnableProfileTrace と zmbEnableScriptingTrace は、0 (トレースなし) または 1 (トレースを有効にする) のいずれかに設定します。
また、マイグレーション定義を作成するために z/OS マイグレーション管理ツールまたは zmmt コマンドを使用したときに作成された DATA データ・セット内のジョブ制御言語 (JCL) メンバー BBOWMxEV で、マイグレーション JCL 内の変数を適切な値に変更することもできます。 JCL を変更する場合は、TraceState と profileTrace を disabled または enabled に設定し、preUpGradeTrace と postUpGradeTrace を 0 (トレースなし) から 4 (すべてのトレース) の値に設定します。注: デプロイメント・マネージャーの場合のメンバー名は BBOWMDEV であり、統合ノードの場合のメンバー名は BBOWMMEV です。マイグレーション中に、バージョン 7.0 以降 以上の構成のバックアップ・コピーが作成されます。 このバックアップは、マイグレーションされる情報のソースになります。 デフォルトのバックアップ・ロケーションは /tmp/migrate/nnnnn です。 このロケーションは、マイグレーション・ジョブの作成時に 変更できます。マイグレーションされるノードのサイズによって、このバックアップはかなり大きくなる可能性があります。 ご使用の一時スペースが不十分な場合は、このバックアップを再配置する必要があります。
- メモリー不足エラーが発生します。メモリーの使用効率を向上させるためには、以下の操作を行ってください。
- アプリケーション・スペースを共有させないようにジョブ・ファイルを編集し、JVM ヒープの最小値と最大値を増やします。デプロイメント・マネージャー・マイグレーションの場合に BBOWM3D ジョブを編集して、最大 768 MB (デフォルトの 256 より大きな値) までヒープを使用できるようにする場合の例を以下に示します。
BPXBATCH SH + export _BPX_SHAREAS=NO; + export IBM_JAVA_OPTIONS="-Xms256M -Xmx768M"; + /wit/bigtmp/bbomigrt2.sh WASPreUpgrade + /wit/bigtmp/24173105/_ + 1>> /wit/bigtmp/24173105/BBOWMG3D.out + 2>> /wit/bigtmp/24173105/BBOWMG3D.err;
- 該当のマイグレーション・スクリプトを編集します。
マイグレーション元のシステムで読取専用ドライバー・ファイル・システムへのアクセスが許されている場合には、bin ディレクトリー内の WASPreUpgrade.sh スクリプトおよび WASPostUpgrade.sh スクリプトを編集します。
読取専用ドライバー・システムを編集できない場合には、単一のマイグレーション・ジョブの代わりに 3 つのマイグレーション・ジョブを使用し、プロファイルの作成後にマイグレーションが一時停止するようにして、プロファイル・スクリプトを編集できるようにします。 BBOWMG3* マイグレーション・ジョブを実行することは、以下の 3 つのジョブを、リストされた順に実行することと等価です。- BBOWMPRO
- BBOWMPRE
- BBOWMPOS
set PERFJAVAOPTION=-Xms256M -Xmx768M
これで、マイグレーションを続行できるようになります。 3 つの個別ジョブを実行する場合には、BBOWMPRE ジョブを起動し、それが成功 (RC=0) した後で、BBOWMPOS ジョブを実行します。マイグレーション・スクリプト・ファイルの読取専用ファイル・システム・コピーを編集した場合には、該当の BBOWMG3* ジョブを実行できます。
- アプリケーション・スペースを共有させないようにジョブ・ファイルを編集し、JVM ヒープの最小値と最大値を増やします。
- バッチ・ジョブ時間を超過しています。
それぞれの z/OS インストールは、ジョブ・クラスおよび時間制限に関して異なります。 ジョブ・カードで、適切なジョブ・クラスおよびタイムアウト値を指定したことを確認してください。
- デプロイメント・マネージャーまたはスタンドアロン・アプリケーション・サーバーのマイグレーションが完了しますが、アプリケーションはインストールされません。ログ・ファイルには、次のようなメッセージが表示されます。
MIGR0339I: Application WISO_wisoadmin_war.ear is deploying using the wsadmin command. MIGR0241I: Output of wsadmin. Error: unable to allocate 268435456 bytes for GC in j9vmem_reserve_memory. JVMJ9VM015W Initialization error for library j9gc23(2): Failed to instantiate heap. 256M requested Could not create the Java virtual machine.
bbomigrt2.sh から起動した WASPostUpgrade スクリプトに、Java 仮想マシン (JVM) を初期化するための十分なアドレス・スペースがないことが問題です。 これは通常、 作成されたプロセスが WASPostUpgrade JVM と同じアドレス・スペースで実行されていることを意味します。
環境変数 _BPX_SHAREAS を使用することで、基本プロセスに対して、作成されたプロセスが親プロセスと同じアドレス・スペースを共有するかどうかを指示できます。 デフォルト値 (NULL) は NO ですが、管理者がこれを YES または MUST に変更することにより、fork または spawn アクションの際にアドレス・スペースをコピーしなくて済み、パフォーマンスを向上できます。
システムでここに記した問題が発生する場合は、環境変数 _BPX_SHAREAS を明示的に NO に設定してマイグレーション・ジョブを実行します。これは、システム・プロファイル (/etc/profile) またはマイグレーション・ジョブを実行するユーザー・プロファイルで設定できます。次のエントリーを使用して、 この変数を NO に設定します。export _BPX_SHAREAS = NO
マイグレーション・ジョブが管理したら、 プロファイルを更新すると、_BPX_SHAREAS を元の値にリセットできます。
- マイグレーション後のサーバーの開始中に、失敗が発生しました。
マイグレーション・ジョブの作成時に生成された指示を 参照してください。JCL 手順が PROCLIB に正しくコピーされたこと、RACF® 定義が作成されたこと、およびバージョン 9.0 ライブラリーが許可されたことを、確認します。セルに関連したデーモン・プロセスが適切なレベルにあることを確認します。 デーモン・プロセスは、セル内で管理するすべてのサーバーの、WebSphere Application Server for z/OS の最新のバージョン・レベルでなければなりません。
バージョン 6.0.2.11 以降でない、バージョン 7.0 以降 のノードを含むか、それらと相互運用している バージョン 9.0 セルにマイグレーションした後、クラスター機能で障害が起こる可能性があります。これらの バージョン 7.0 以降 のアプリケーション・サーバーを開始する場合、以下の問題が表示されることがあります。- ClassNotFoundException エラー・メッセージを表示する First Failure Data Capture (FFDC) ログが表示されます。
この例外は RuleEtiquette.runRules メソッドからスローされ、以下の例のようになります。
Exception = java.lang.ClassNotFoundException Source = com.ibm.ws.cluster.selection.SelectionAdvisor.<init> probeid = 133 Stack Dump = java.lang.ClassNotFoundException: rule.local.server at java.net.URLClassLoader.findClass(URLClassLoader.java(Compiled Code)) at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:106) at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at java.lang.Class.forName1(Native Method) at java.lang.Class.forName(Class.java(Compiled Code)) at com.ibm.ws.cluster.selection.rule.RuleEtiquette.runRules(RuleEtiquette.java:154) at com.ibm.ws.cluster.selection.SelectionAdvisor.handleNotification(SelectionAdvisor.java:153) at com.ibm.websphere.cluster.topography.DescriptionFactory$Notifier.run(DescriptionFactory.java:257) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1462)
- 以下の例のようになる java.io.IOException が表示される場合があります。
Exception = java.io.IOException Source = com.ibm.ws.cluster.topography.DescriptionManagerA. update probeid = 362 Stack Dump = java.io.IOException at com.ibm.ws.cluster.topography.ClusterDescriptionImpl.importFromStream(ClusterDescriptionImpl.java:916) at com.ibm.ws.cluster.topography.DescriptionManagerA.update(DescriptionManagerA.java:360) Caused by: java.io.EOFException at java.io.DataInputStream.readFully(DataInputStream.java(Compiled Code)) at java.io.DataInputStream.readUTF(DataInputStream.java(Compiled Code)) at com.ibm.ws.cluster.topography.KeyRepositoryImpl.importFromStream(KeyRepositoryImpl.java:193)
トラブルの回避 (Avoid trouble): WebSphere Application Server バージョン 9.0 へのマイグレーション後、Session Initiation Protocol (SIP) プロキシーの JSR116 トラフィックが再送信タイムアウト・メッセージおよびエラー・メッセージを出して失敗する場合があります。このエラーが発生すると、 以下のエラー・メッセージが表示される場合があります。
この問題を解決するには、エラーが発生したサーバーのノード・レベルで serverindex.xml ファイル内のトランスポート・チェーン UDP_SIP_PROXY_CHAIN を削除します。gotchaTCP Channel initialization failed. The socket bind failed for host and port 5060.
- ClassNotFoundException エラー・メッセージを表示する First Failure Data Capture (FFDC) ログが表示されます。
この例外は RuleEtiquette.runRules メソッドからスローされ、以下の例のようになります。
マイグレーションのあとで、エラーがないかどうか、ジョブ出力とログ・ファイルを注意深く調べます。
バージョン 9.0 にノードをマイグレーションした後に、バージョン 7.0 以降 に戻す必要が生じた場合は、環境のロールバックを参照してください。
既知の問題およびその解決方法に関して、IBM® サポートから入手できる現行情報については、 IBM サポート・ページを参照してください。 IBM サポートの資料を利用すると、この問題の解決に必要な情報収集の時間を節約できます。 PMR を開く前に、IBM サポート・ページを参照してください。
マイグレーションされたバージョン 9.0 ノード・エージェントに登録される新規ポート には、WC_defaulthost、WC_defaulthost_secure、WC_adminhost、 WC_adminhost_secure、SIB_ENDPOINT_ADDRESS、SIB_ENDPOINT_SECURE_ADDRESS、 SIB_MQ_ENDPOINT_ADDRESS、SIB_MQ_ENDPOINT_SECURE_ADDRESS があります。これらの ポートは、ノード・エージェントによって必要とされず、安全に削除できます。
次のタスク
問題がリストされていない場合は、IBM サポートに連絡してください。


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-zos&topic=tmig_troubleshoot
ファイル名:tmig_troubleshoot.html