IBM Support

WASでノード除去やプロファイル削除時に、アプリ配置ディレクトリ配下のシンボリック・リンクやリンク先ファイルが削除されることがある

Question & Answer


Question

WASでアプリケーションをデプロイし、稼働させています。
デプロイ先の [PROFILE_ROOT]/installedAppsディレクトリ配下にシンボリック・リンクを作成しており、リンク先のディレクトリには、このアプリケーションが使用するファイル以外に、他のプロセスが使用するファイルも含まれております。
将来、アプリケーションをアンインストールしたり、ノードやプロファイルを削除したりする際に、シンボリック・リンクや リンク先のディレクトリにあるファイルは削除されるのか、もしくは残存するのかを知りたいです。
 
例: プロファイル"AppSrv01"のアプリケーション・サーバにアプリケーションがデプロイされている場合、
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/[セル名]/[アプリケーション名].ear/ ディレクトリ配下にシンボリック・リンクを作成しています。

Answer

現行のWASバージョン(V8.5.5 および V9.x)では、ノード除去(*1)やプロファイル削除時に、デプロイ先の [PROFILE_ROOT]/installedAppsディレクトリ配下にある シンボリック・リンクや リンク先のディレクトリ配下のファイルが削除されることがあります。
リンク先のディレクトリ配下のファイルが削除される場合、存在するファイルを全て削除します。それらのファイルがどのアプリケーションやプロセスに使用されているかに依存しません。

注意:
この動きは、WAS製品の内部実装による動きであり、弊社テスト環境で確認された実装について示したものであり、製品マニュアルに製品仕様として公開されている情報には含まれていない内容となります。そのため、製品開発者は、ユーザーへの予告なく、これらの実装を変更する可能性もございますので、予めご了承くださいますようお願いいたします。

 
 
弊社テスト環境で確認できた動作を以下にまとめます。
[PROFILE_ROOT]/installedAppsディレクトリ配下にある シンボリック・リンク リンク先のディレクトリ配下のファイル
アプリケーションの削除 (*2) 削除される  補足: 回避策あり (*5) 削除されない
プロファイルの削除
例:
manageprofiles -deleteAll
manageprofiles -delete -profileName <profile>
削除される 全て削除される
製品のアンインストール
(Installation Manager よりアンインストールを実行)
削除される 全て削除される
ノードの除去 (*3)
(ノード統合にアプリケーションをデプロイされた環境で実施した場合)
削除される 全て削除される
ノードの除去 (*3)
(ノード統合にアプリケーションをデプロイし、統合時にそのアプリをセルに引き継いだ環境で実施した場合) (*4)
削除される 削除されない
 
(*1) ここでの ノード とは、WAS Network Deployment Editionをご使用の環境で、ノードをデプロイメント・マネージャー(Dmgr)に統合されている環境でのお話となります。
 
(*2) アプリケーションの削除 とは、管理コンソールで操作で行う場合、以下の箇所になります。
該当のアプリケーションを選択し、アンインストールをクリックします。

uninstallApp
 
(*3) ノードの除去 とは、管理コンソールで操作で行う場合、以下の箇所になります。(コマンドではremoveNodeコマンドになります。)
該当のノードを選択し、ノードの除去 をクリックします。
 
removeNode
 

(*4) ノード統合前にデプロイされたアプリケーションを統合時にセルに引き継いだ環境 とは、統合時に -includeappsオプションを指定したaddNodeコマンドを使用して統合されている場合です。
アプリケーションが、-includeappsオプションを指定したaddNodeコマンドを使用して間接的にインストールされている場合、ノード除去時にはそのアプリケーションは削除されません。

(*5) JVMのカスタム・プロパティにて追加設定を行うと、シンボリック・リンクだけ残した状態でアプリケーションの削除が実施されるよう変更できます。
設定するプロパティについてはこちらのマニュアルをご参照ください。
 
スタンドアロン・プロファイルの場合には、デプロイ先のアプリケーション・サーバーにて設定します。
WAS Network Deployment Editionでセル環境を構成されている場合には、ノード・エージェントにて設定します。
 
設定手順:
---------------------
1. 管理コンソールを開きます。

アプリケーション・サーバーの場合)
 「サーバー」 > 「サーバー・タイプ」 > WebSphere アプリケーション・サーバー > [サーバー名] > Java およびプロセス管理 > プロセス定義 > Java 仮想マシン > カスタム・プロパティーへ移動します。

ノード・エージェントの場合)
 「システム管理」 > 「ノード・エージェント」> [該当のnodeagent] > Java およびプロセス管理 > プロセス定義 > Java 仮想マシン > カスタム・プロパティーへ移動します。

2.「カスタム・プロパティー」 ページで「新規」をクリックします。

3. 設定ページから、「名前」フィールド に構成するカスタム・プロパティーの名前を入力し、「値」フィールドに設定する値を入力します。
名前: com.ibm.websphere.management.application.sync.deleteSymbolicLinks
値: false

4.「適用」をクリックします。

5. コンソール・タスクバーの「保管」をクリックして、変更した構成を保管します。

6. 設定を反映させるために、該当のJVM (アプリケーション・サーバーまたはノード・エージェント)を再始動してください。
この後、アプリケーションをアンインストールしますと、シンボリック・リンクのみを残して、アンインストールされるようになります。
---------------------

 
解決策:
最も確実で安全な方法は、もしノード除去やプロファイル削除を実行される場合には、事前にシンボリック・リンクを削除していただくことになります。
 

[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"ARM Category":[{"code":"a8m50000000CdWEAA0","label":"WebSphere Application Server traditional-All Platforms-\u003ESystem Management-\u003ETraditional WAS-\u003ESystemManagement-Other"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
06 October 2023

UID

ibm17047194