Comments
Description
Transcript
1 システム システム運用
1 システム運用 システム運用 この章では、通常運用で必要となる、構成情報の変更管理、バックアップ/リストア、ログ運用などにつ いて説明します。 1-1 システム管理 システム管理アーキテクチャー 管理アーキテクチャー WAS V6.1 を利用したシステム構成には以下に挙げる二種類のパターンがあり、システムの規模に応 じてどちらかの最適なパターンを選択します。なお、WAS では OS 上の1プロセスとしてみた場合のデプ ロイメント・マネージャー、ノード・エージェント、およびアプリケーション・サーバーといったプロセスを管 理プロセスと呼びます。 • スタンドアローン環境: 単一のサーバー上に WAS の管理プロセスを展開した構成です。スタンド アローン環境下のアプリケーション・サーバーはデプロイメント・マネージャーおよびノード・エージ ェントによる管理を行ないません。WAS Base もしくは Express を使用している場合はこの環境し か選択できません。ND を使用している場合はセルに追加しないで稼動させている場合がこちらに 該当します。 • 分散サーバー環境: 複数ノードからなるセルという論理領域に複数の管理プロセスを配置し、そ れらのプロセスを単一のデプロイメント・マネージャーから管理する構成です。デプロイメント・マネ ージャーの管理下にある管理プロセスを管理サーバーとも呼びます。この構成は ND を使用して いる場合にのみ適用できます。 WAS におけるシステム管理はパターンによって管理の仕組みが異なってはいますが、JMX に基づい たシステム管理アーキテクチャーを採用した共通の管理インターフェースを通して管理を行なうため、シ ステムトポロジーの違いに関わらず同じ運用方法をとることができます。 ここからは WAS のシステム管理アーキテクチャーの概要について上に挙げた環境毎に説明していき ます。管理対象となるデータについての詳細は「1-2 構成情報」にて、また管理コンソールや wsadmin などの具体的な管理ツールについての詳細は「1-3 管理ツール」の節で説明します。 スタンドアローン環境におけるシステム管理アーキテクチャーの概要を図 1-に示します。スタンドアロ ーン環境では個々の管理プロセス毎に管理サービスを持ちます。各管理サービスはそれぞれ独自の構 成ファイルのリポジトリーを持ち、それぞれの管理プロセスに紐付いた管理ツールを使用してファイルの 編集を行います。他の管理プロセスの持つ管理ツールから別の管理プロセスの管理サービスに接続す ることはできません。 -1- ノード アプリケーション・サーバー Webコンテナー 管理コンソール アプリケーション ユーザー アプリケーション <HTML> Webブラウザ Adminサービス wsadmin 独自開発の admin client <SOAP/HTTP> または <RMI-IIOP> Load,Save,Edit 管理データ 構成情報 EAR ファイル 図 1-1 システム管理アーキテクチャー(スタンドアローン環境) 次に分散サーバー環境におけるシステム管理アーキテクチャーの概要を図 1-2 に示します。スタンドア ローン環境のように管理プロセス毎に個別に管理していては負荷がかかりますので、管理ポイントを集 約しています。これが、デプロイメント・マネージャーのプロセスです。ひとつのでデプロイメント・マネー ジャーが管理する管理プロセスの集合をセルと呼びます。セルには複数のノードを組み込むことが可能 です。セルに参加するノードは、addNode コマンド(もしくは管理コンソールの[ノード ノードの ノードの追加]オペレーシ 追加 ョン)で、デプロイメント・マネージャーの管理下に配置されます。これはノード内にノード・エージェントと いうプロセスを起動し、デプロイメント・マネージャーと構成情報やアプリケーションの同期をとる構成で す。ノード・エージェントには自ノードで稼動するアプリケーション・サーバーを定期的に監視し、異常停 止の場合、再起動するという機能もあります。 分散サーバー環境では管理タスクおよび構成ファイルをデプロイメント・マネージャーから配下のノー ドに対して伝達する仕組みをとっています。セル全体を対象とした管理サービスと管理コンソールはデ プロイメント・マネージャーが所有しますので、分散サーバー環境での管理オペレーションはデプロイメ ント・マネージャーを通して行います。デプロイメント・マネージャーに対して行った構成情報の変更や、 エンタープライズ・アプリケーションの導入は各ノードのノード・エージェントが自動的に同期を取り、変更 を反映します。これによりデプロイメント・マネージャー1 台に対して行った管理オペレーションをセル全 体に伝搬することを可能としています。 また、分散サーバー環境ではクラスターというサービスの実行単位を利用することができます。クラス ターとは複数のアプリケーション・サーバーをグループ化したものです。クラスターをエンタープライズ・ アプリケーションのターゲットとして指定することで、一度のアプリケーション導入操作でクラスターに参 加するすべてのアプリケーション・サーバーにアプリケーションを導入することができます。 -2- デプロイメント・マネージャー ノード セル デプロイメント・マネージャー Webコンテナー Webブラウザ <HTML> マスター 構成リポジトリー 管理コンソール アプリケーション wsadmin 独自開発の admin client <SOAP/HTTP> または <RMI-IIOP> Adminサービス ノードB ノードA ノードエージェント Adminサービス ノードエージェント EARファイル Adminサービス Cell Cell Node A アプリケーション サーバーA アプリケーション サーバーC Server A Server B アプリケーション サーバーB EARファイル Node B Server C アプリケーション サーバーD Server D 各種コマンドの伝播 構成情報の配布 図 1-2 システム管理アーキテクチャー 1-2 構成情報 WAS における重要な管理対象は、xml ファイル形式で<Profile_root>/config ディレクトリー配下に保 管している構成情報(JVM プロセスの定義情報や JDBC データソースと言ったリソース情報など)と、 installedApps ディレクトリー配下に置かれるアプリケーション・サーバー上で稼動するエンタープライズ・ アプリケーションです。これら管理対象の操作は、製品にデフォルトで提供されている管理クライアントツ ールであるブラウザー・インターフェースの管理コンソールとコマンドライン・ツールの wsadmin を主に使 用して行います。ここでは管理対象となるデータおよびその管理方法について説明します。 -3- 1-2-1 ディレクトリー ディレクトリー構造 リー構造 WAS Base、または Express を使用したスタンドアローン構成の場合、<WAS_root>/profiles/default ディ レクトリーが<Profile_root>ディレクトリーとなります。 WAS ND を使用したセル構成の場合は、各ノードとデプロイメント・マネージャーはそれぞれ固有のプ ロファイル・ディレクトリーを<WAS_root>/profiles ディレクトリー配下に持ちます。セル構成の場合は、デ プロイメント・マネージャーの構成情報(<DM_Profile_root>/config)がマスターの構成情報となり、各ノ ードの構成情報(<Custom_Profile_root>/config)と同期が取られます。 構成情報は、階層構造をもつディレクトリー構造で構成され、複数の xml ファイルとして保管されま す。その様子をエラー エラー! エラー 参照元が 参照元が見つかりません。 つかりません。に示します。構成情報のディレクトリーの階層構造 は、スタンドアローン構成でも、セル構成のデプロイメント・マネージャー、各ノードでも違いはありませ ん。ただし、セル構成のデプロイメント・マネージャーの構成情報には、そのセル内のすべての情報が保 管されますが、各ノードの構成情報には、そのノードで必要な情報のみが保管されます。つまり、各ノー ドの構成情報は、デプロイメント・マネージャーの構成情報のサブセットになっています。 カスタム・プロファイル デプロイメント・マネージャー・プロファイル 構成情報 セルに関する情報 セル内のアプリケーションに関する情報 ノードに関する情報 サーバーに関する情報 そのノードにインストールされているアプリケーションに関する情報 図 1-2 構成情報のディレクトリー構造 -4- 構成情報の階層構造はスタンドアローン・ノードとセル構成のデプロイメント・マネージャーで大きな違 いはありません。デプロイメント・マネージャーの構成情報とスタンドアローン構成の構成情報を比較した 場合、下記のような相違があります。 • スタンドアローン・ノードの構成情報は他のノードにコピーされることはありません。 • スタンドアローン・ノードの構成情報には、1 つのノードしか含まれません。 • スタンドアローン・ノード構成の場合、ノード・エージェントは存在しませんので、ノード・エージェント の情報はありません。 • スタンドアローン・ノード構成の場合、クラスターはサポートされませんので、クラスターに関する情 報はありません。 セル構成のデプロイメント・マネージャーと各ノードの構成情報を比較すると、下記のような特徴がありま す。 • マスターの構成情報はデプロイメント・マネージャーのプロファイル・ディレクトリーに保管されま す。このマスターの構成情報には、セル内のすべてのノードとアプリケーション・サーバーの構成 情報とアプリケーションの情報が含まれます。 • デプロイメント・マネージャー以外の各ノードは、そのノードに関連する構成情報とアプリケーション の情報のコピーをローカルのプロファイル・ディレクトリーに保持しています。 • 各ノードの構成情報を wsadmin を使用して変更することは可能ですが、この変更は次回の構成 情報の同期化が発生したときに上書きされてしまいます。永続的な構成の変更のためには、マス ター構成情報を変更する必要があります。 構成情報の各階層に保管される個々の xml ファイルとその内容については、下記の InfoCenter の記載 を参照ください。 InfoCenter「構成文書」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.nd.doc/info/ae/a e/ccfg_confdoc.html InfoCenter「構成文書の説明」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.nd.doc/info/ae/a e/rcfg_rconfdoc_descriptions.html 1-2-1-1 アプリケーションに アプリケーションに関する情報 する情報 マスター構成情報内には、アプリケーション・バイナリー(EAR ファイル)とデプロイメント情報も保管し ています。<Profile_root>/config ディレクトリーの下記のディレクトリーパスがアプリケーション・バイナリー とデプロイメント情報を保管しています。 • cells/Cell_name/applications/ このディレクトリー内にこのセル上でインストールされているアプリケーションごとのサブディレクト リーが作成されます。サブディレクトリーの名前は、インストールしたアプリケーションの名前に拡 張子.ear を付加した名前になります。 • cells/Cell_name/applications/Application_name.ear/ このディレクトリーには、下記の 2 つの内容が含まれます。 オリジナルの EAR のコピーである Application_name.ear ファイル。このファイルには、ア プリケーションのインストール中に設定するバイディング情報は含まれません。 deployments ディレクトリー。このディレクトリーには Application_name のサブディレクトリ ーがあり、デプロイ時の設定も含めたアプリケーション情報が保管されます。 • cells/Cell_name/applications/Application_name.ear/deployments/Application_name/ このディレクトリーの、deployment.xml ファイルにアプリケーションのデプロイメントの情報(アプリ ケーション・モジュールのアプリケーション・サーバーとのマッピング情報など、インストール中に設 定したバインディング情報)が含まれます。 -5- その他のサブディレクトリーには、アプリケーションのバイナリーデータ(jar、class、jsp ファイル) は含まれません。デプロイメント・ディスクリプターなどの構成ファイルのみ含まれます。 アプリケーションがインストールされてから、各アプリケーション・サーバーで開始されるまでの流れは 以下のようになります。 1). マスターの構成情報に、アプリケーション・バイナリーとデプロイメント情報が保管されます。 2). アプリケーション・バイナリーとデプロイメント情報が必要なノードの構成情報に配布されます。 3). 各ノードで、<Profile_root>/installedApps/<cell>/Application_name.ear/ディレクトリーにオリ ジナルの EAR ファイルを展開します。このサブディレクトリーにはオリジナルの EAR 中のデプ ロイメント・ディスクリプターと jar、class、jsp のバイナリーデータが含まれます。しかし、アプリケ ーションのデプロイメント情報は、このサブディレクトリーには含まれません。 4). デフォルトの設定では、アプリケーション・サーバーは以下の方法で、アプリケーションを実行し ます。 (i) アプリケーション・バイナリーファイルを下記のディレクトリーからロードします。 <Profile_root>/installedApps/<cell>/Application_name.ear/ (ii) 下記ディレクトリーに保管されている構成・デプロイメント情報を使用して、アプリケーション を構成します。 <Profile_root>/config/cells/Cell_name/applications/Application_name.ear/ deployments/Application_name/ 尚、この設定は、アプリケーションのプロパティーの[バイナリー バイナリーから バイナリーからメタデータ からメタデータを メタデータを使用する 使用する] する のチェックボックスを有効にすることにより、アプリケーション・バイナリー内部の構成情報 を使用するように変更することができます。また、インストール中の設定では[バイナリー バイナリー構 バイナリー構 成の使用]を有効にすることでも変更できます。 使用 1-2-2 ファイル同期 ファイル同期 ファイル同期を行うことにより、セル内で構成情報が最新に保たれます。ファイル同期は、デプロイメン ト・マネージャーと各ノード・エージェントの間で行われ、マスター構成情報に対する変更を各ノードに伝 搬します。このファイル同期は管理コンソールや wsadmin を使用して強制的に実行でき、デフォルトで は定期的にも実行しています。 同期オペレーションにおいては、ノード・エージェントがデプロイメント・マネージャーに対して、マスタ ー構成情報の中に、更新のあったファイルがないか確認します。新規のファイルや更新のあったファイ ルはノードに送信され、マスター構成情報から削除されたファイルは、各ノードの構成情報からも削除さ れます。 このファイル同期による変更の反映は一方向です。変更はデプロイメント・マネージャーからノード・エ ージェントに対してのみ行われます。ノード・エージェントからデプロイメント・マネージャーへの変更が行 われることはありません。 1-2-2-1 ファイル同期 ファイル同期の 同期の設定 デフォルトでは、1 分間隔でマスター構成情報に変更があったか確認し、変更があった場合には構成 情報の同期化が行われます。この設定を変更するには、管理コンソールで、[システム システム管理 ノード・ システム管理]→ 管理 →[ノード ノード・ エージェント]→ →[追加 追加プロパティー ファイル同期化 エージェント →[NodeAgent_name]→ 追加プロパティー]→ プロパティー →[ファイル ファイル同期化サービス 同期化サービス]を選択します サービス (図 1-3参照)。[自動同期 自動同期]が有効な場合、[同期間隔 同期間隔]の欄に設定した時間間隔(分単位)で同期化が 自動同期 同期間隔 行われます。[自動同期 自動同期]を無効にした場合は、定期的な同期は行われません。[始動 始動同期 自動同期 始動同期]を有効にし 同期 た場合には、そのノード上のアプリケーション・サーバーが起動するときに構成情報の同期化が行われ ます。ただし、この始動同期はノード・エージェント経由でアプリケーション・サーバーを起動した場合の -6- み有効で、startServer.sh(bat)コマンドを使用したアプリケーション・サーバーの起動時には有効になりま せんのでご注意ください。この設定はデフォルトでは無効です。 図 1-3 ファイル同期サービスの設定 1-2-2-2 強制同期方法 強制的に同期化を行う方法として、以下のような方法があります。 • 管理コンソールで構成の変更を行い[保管 保管]のリンクをクリック、または[システム システム管理 変更を 保管 システム管理]→ 管理 →[変更 変更をマ スター・ スター・リポジトリーに リポジトリーに保管]を選択して表示される「保管」画面(図 保管 1-4参照)において、[ノード ノードと ノードと変 更を同期化]のチェックボックスをオンにして、[保管 保管]を行った場合。 同期化 保管 -7- 図 1-4 保管時の同期化 • 管理コンソールのノードのプロパティーで、[同期化 同期化]または[完全 完全な 同期化 完全 な再同期]ボタンを押下した場 再同期 合。ノードのプロパティーは、[システム システム管理 ノード]を選択します。図 1-5参照。[同期化 同期化]と[完 システム管理]→ 管理 →[ノード ノード 同期化 完 全な再同期]の相違は次節を参照ください。 再同期 図 1-5 ノードの同期化 • syncNode.sh(.bat)コマンドを使用した場合。このコマンドは、ノードの構成情報に問題が発生し、 ノード・エージェントが実行できない場合に使用します。このコマンドを実行するには、事前にノー ド・エージェントを停止する必要があります。 -8- 1-2-2-3 同期化の 同期化のメカニズム ノード・エージェントによる構成情報の同期メカニズムを説明します(図 1-6参照)。自動同期や強制 同期のうち syncNode.sh(.bat)コマンドでの同期以外は、オペレーションは管理コンソールに対して行っ ている場合でも、結果的にノードエージェントの同期処理を起動することになります。 同期の際のファイル転送はデプロイメント・マネージャー上で稼動するシステム・エンタープライズ・ア プリケーションである filetransfer のサーブレットを使用します。同期処理のときに、転送量を最小化する ために、変更のあったファイルのみをノードに転送するようにしています。このために、デプロイメント・マ ネージャーの config 以下の各ディレクトリごとには epoch と呼ばれるバージョン番号が振られています。 初回の同期によりこの epoch はノード・エージェントとデプロイメント・マネージャーで同じバージョンを保 持していることになります。 管理コンソールなど WAS の管理ツール経由で(JMX 経由で)、あるディレクトリ配下の構成ファイルに 変更があった場合、そのディレクトリおよび上位の epoch が更新されます(最上位には全体 epoch があり ます)。同期処理が実行されると、ノード・エージェントはまず自身の最上位 epoch とデプロイメント・マネ ージャーの最上位 epoch を比較し、変更があったかを検知します。次に配下のディレクトリのどこで変更 があったかを各ディレクトリの epoch を比較することで探し出します。 どのディレクトリで変更が起きたかを検知すると、次にファイルのダイジェストを生成します。ファイルそ のものではなくダイジェストを比較し、ダイジェストが違えば変更があったということでそのファイルをダウ ンロードします。これで同期が完了します。 WAS の管理ツールを使わずに構成 xml ファイルを直接編集した場合、epoch の更新が発生しませ ん。この場合変更の同期を行うには[完全 完全な epoch 完全な再同期]を行います。これはノード・エージェント側の 再同期 を全てリフレッシュしてから同期を開始し、全てのディレクトリに変更が起こっているとみなし全ての構成 ファイルのダイジェストを比較するので、手動変更も検知されます。 -9- セル ノード マスター デプロイメント・マネージャー 構成ファイル 構成ファイル Web Container アプリケーション filetransfer アプリケーション アプリケーション・ サーバー embedded http ノード ノード・ エージェント ノード・ エージェント config guideCell01 config 最上位 epoch 最上位 epoch cells epoch デプロイメント・ マネージャー cells guideCell01 epoch clusters clusters ClusterA epoch epoch nodes ClusterA nodes host1Node01 variables.xml epoch epoch digest digest servers host1Node01 variables.xml servers nodeagent epoch epoch nodeagent Amember11 epoch epoch Amember11 図 1-6 構成情報の同期メカニズム 1-3 管理ツール 管理ツール WAS は、下記の管理ツールを提供しています。 管理コンソール 管理コンソールは、ブラウザーからアクセスする HTML ベースのグラフィカルなユーザーインター フェースで、WAS 環境の構成変更やサーバーの状態変更を行うことができます。詳細は、「1-3-1 管理コンソール」を参照ください。 • コマンド行ツール アプリケーション・サーバーの起動/停止、バックアップ/リストアなど、使用頻度の高い特定の機能 について、コマンドを提供しています。 • wsadmin wsadmin はスクリプティング・インターフェースです。WAS 環境の構成変更やサーバーの状態変 更を行うことができます。シェル化して、運用を自動化する場合に便利です。 • JMX プログラム Java の標準システム管理用 API(JMX)を使用して、独自の管理機能を開発する方法です。 • - 10 - 1-3-1 管理コンソール WAS の管理コンソールは Web ベースのグラフィカルなツールで、Cell 全体の管理と構成を行なうこと ができます。スタンドアロン環境において、管理コンソールは 1 アプリケーション・サーバー内に配置され ており、配置先の管理プロセスの管理と構成のみを行なえます。また分散サーバー環境において、管理 コンソールはデプロイメント・マネージャーに配置され、セル配下の複数ノードの管理と構成を集約的に 行ないます。管理コンソールの使用方法については「2 サーバー管理・基本設定」の資料をご参照くだ さい。 1-3-2 コマンド行 コマンド行ツール WAS のサーバー・プロセスとノードの始動、停止、およびモニターなど、使用頻度が高い主な管理用 オペレーションについて、いくつか独立したコマンド行ツールが提供されています。これらのツールは、 ローカルのサーバーとノードでのみ作動します。これらは、リモートのサーバーやノードでは作動しませ ん。 こ れ ら の コ マ ン ド は <WAS_root>/bin と <Profile_root>/bin デ ィ レ ク ト リ ー に 配 置 さ れ て い ま す 。 <Profile_root>/bin ディレクトリーのコマンドを実行した場合には、そのプロファイルに対してコマンドが実 行されます。<WAS_root>/bin ディレクトリーのコマンドを実行する場合には、-profileName オプションを 使用して、プロファイル名を使用します。以下に例を示します。この例では、コマンドは Custom01 プロフ ァイルに対して実行されます。 # cd /usr/WebSphere/AppServer/bin (<WAS_root>/bin ディレクトリーに移動) # ./startNode.sh(.bat) –profileName Custom01 (実行対象のプロファイル名をオプションに指定) <WAS_root>/bin ディレクトリーのコマンドを-profileName オプションなしで実行した場合には、ある特定 のプロファイルに対して実行されますのでご注意ください。 以下にコマンド行ツールについて個別に紹介します。各コマンドにて使用できるオプションについて は、-help オプションまたは InfoCenter でご確認ください。 InfoCenter「コマンド行ツール」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/txml_command.html コマンド startServer stopServer serverStatus startManager stopManager startNode stopNode addNode 説明 指定されたアプリケーション・サーバーを始動します。尚、アプリケーション・サーバ ーを始動する前に、そのノードのノード・エージェントを事前に起動しておく必要が あります。 指定されたアプリケーション・サーバーを停止します。 指定されたサーバー、もしくはノード上のすべてのサーバーの稼動状況を確認する ことができます。起動していれば「STARTED」、停止済みの場合は「停止されている ようです。」、起動中は「STARTING」、停止中は「STOPPING」と表示されます。 デプロイメント・マネージャーを始動します。 デプロイメント・マネージャーを停止します。 ノード・エージェントを始動します。 ノード・エージェントを停止します。 スタンドアローン・ノードをセルに統合します。デフォルトでは、スタンドアローン・ノ ードにインストールされているアプリケーションは、セルにコピーしません。 -includeapps オプションを指定することによって、ノードからセルにアプリケーション をコピーすることができます。 - 11 - removeNode cleanupNode syncNode renameNode backupConfig restoreConfig EARExpander GenPluginCfg versionInfo genVersionReport historyInfo セル構成から、ノードを切り離し、スタンドアローン・ノードに戻します。デプロイメン ト・マネージャーのマスター構成情報からその切り離されたノードの情報は除去され ます。 指定したノードの構成情報をデプロイメント・マネージャーのマスター構成情報から クリーンアップします。セル構成で定義済みのノードがあり、そのノードが既に存在 しない場合、このコマンドの使用するだけで、ノードをクリーンアップできます。 そのノードとデプロイメント・マネージャーとの間で構成情報が強制的に同期化され ます。ノード構成に問題が発生してノード・エージェントが実行できない場合は、 syncNode コマンドで、ノード構成を強制的にセル構成と再度同期させることができ ます。 renameNode コマンドを使用して、統合されたサーバーのノード名を変更します。名 前を変更するノードでこのコマンドを実行します。 構成情報のバックアップを取得します。バックアップは.zip ファイルで取得されます。 詳細は「エラー エラー! エラー 参照元が 参照元が見つかりません。 つかりません。エラー! エラー 参照元が 参照元が見つかりません。 つかりません。 (p. エラー! エラー ブックマークが ブックマークが定義されていません 定義されていません。 されていません。)」を参照ください。 構成情報のリストアを行います。詳細は「エラー エラー! エラー 参照元が 参照元が見つかりません。 つかりません。 エラ ー! 参照元が エラー! 参照元が見つかりません。 つかりません。 (p.エラー エラー ブックマークが ブックマークが定義されていません 定義されていません。 されていません。)」 を参照ください。 エンタープライズ・アーカイブ (EAR) ファイルをディレクトリーに展開、もしくは、ア プリケーション・ファイルを収容しているディレクトリーをアーカイブして、単一の EAR ファイルにすることができます。 Web サーバーのプラグイン構成ファイル、plugin-cfg.xml を再生成するために使用 します。 この GenPluginCfg コマンドは、ローカル・ノードの構成情報の内容を読み取って、 プラグイン構成ファイルを生成しますので、デプロイメント・マネージャー・ノードでこ のコマンドを実行した場合には、全アプリケーション・サーバーにリクエストを割り振 るプラグイン構成ファイルを生成し、その他のノードでこのコマンドを実行した場合 には、そのノードのアプリケーション・サーバーのみにリクエストが割り振られるプラ グイン構成ファイルを生成することができます。特定の Web サーバーからのリクエス トを特定のノードのアプリケーション・サーバーに結びつける 1 対 1 の構成を生成す る場合には、このコマンドが便利です。 また、上記の条件の上で、-webserver.name オプションを使用することで、特定の Web サーバーにマッピングされたアプリケーションにのみ割り振りを行うプラグイン 構成ファイルや、-cluster.name、-server.name オプションを使用することで、特定のク ラスターやアプリケーション・サーバーにのみ割り振りを行うプラグイン構成ファイル を生成することができます。ただし、-webserver.name オプションと-cluster.name、また は-server.name オプションを同時に使用することはできません。-webserver.name オ プションが優先されます。 versionInfo コマンドは、 properties/version フォルダー内の XML ファイルから抽 出されたデータからレポートを生成します。レポートには、インストール済みまたはア ンインストール済みの保守パッケージのリストが含まれています。 genVersionReport コマンドは versionInfo コマンドを使用して、現行作業ディレクト リー (通常は bin ディレクトリー) に versionReport.html レポート・ファイルを作成 します。 historyInfo コ マ ン ド は 、 properties/version フ ォ ル ダ ー お よ び properties/version/history フォルダー内の XML ファイルから抽出されたデータか らレポートを生成します。レポートには、変更されたコンポーネントのリスト、およびイ - 12 - genHistoryReport manageprofiles ンストール済みまたはアンインストール済みの保守パッケージのヒストリーが含まれ ています。 genHistoryReport コマンドは、historyReport.html レポート・ファイルを現行作業デ ィレクトリー (通常は bin ディレクトリー) に作成します。 manageprofiles コマンド行ツールは、すべてのアプリケーション・サーバー・ランタイ ム環境を作成します。このコマンドはプロファイルを作成します。プロファイルは、デ プロイメント・マネージャー、カスタム・プロファイル、またはスタンドアロンのアプリケ ーション・サーバーのためのランタイム環境を定義するファイルのセットです。 1-3-3 wsadmin スクリプトは、アプリケーションとアプリケーション・サービス提供環境の構成および管理に使用できる 非グラフィカルな手段です。 WAS の wsadmin ツールは、スクリプトを実行する機能を提供します。この wsadmin ツールは、製品管理アクティビティーの全範囲をサポートしています。 wsadmin ツールは、Jacl および Jython スクリプト言語のみをサポートします。Jacl は、デフォルトで指 定される言語です。Jython スクリプト言語を使用する場合は、-lang オプションを使用するか、このオプ ションを wsadmin.properties ファイルで指定します。 WAS V6.1 において、Jacl は非推奨となるプロセスが開始されました。非推奨となった場合、少なくとも 2 回の製品のメジャー・リリースの間はサポートされますが、その期間の後、Jacl 言語のサポートは wsadmin ツールから除去される可能性があります。そのため、新規に開発される場合は、Jython にて作 成することを推奨します。 ※ WAS V7.0 において、Jacl 言語は”安定化されたフィーチャー”とされました。今後 Jacl 言語のサポ ートが除去されることはなく、既存の wsadmin スクリプトを Jython に置き換える必要はありません が、今後のアップデートは、戦略的代替機能である Jython に重点が置かれることになるため、新 規に開発される場合は、Jython にて作成することを推奨します。 1-3-3-1 wsadmin の実行方法 wsadmin.sh(UNIX)あるいは wsadmin.bat(Windows)コマンドファイルは、デプロイメント・マネージャ ーまたは各管理ノードのプロファイル・ディレクトリーの bin ディレクトリーに配置されています。wsadmin を起動するには、コマンド行で下記のコマンドを実行します。 # cd /usr/WebSphere/AppServer/profiles/Custom01/bin (<Profile_root>/bin ディレクトリーに移動) # ./wsadmin.sh(.bat) wsadmin コマンドには、オプションを指定し、実行モード(対話形式、コマンド実行、スクリプト実行)を選 択したり、接続先ホストを選択することが可能です。-h(elp)オプションを指定(# ./wsadmin.sh(.bat) –h を 実行)することにより、指定可能なオプションの簡単なヘルプを確認することができます。また、管理セキ ュリティーをオンにしている場合は、-username xxxx –password xxxx と付加する必要があります、指定 可能なオプションの詳細は下記の InfoCenter の記載を参照ください。-c、-f オプションについては後述し ます。 InfoCenter「wsadmin スクリプト・クライアントの開始」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/txml_launchscript.html 下記に wsadmin.sh –h の実行結果を掲載します。 例 1-1 wsadmin コマンドのオプション # ./wsadmin.sh ./wsadmin.sh -h WASX7001I: wsadmin は、WebSphere スクリプトの実行可能プログラムです。 - 13 - 構文: wsadmin [ -h(elp) [ -? ] ] [ -c <command> ] [ -p <properties_file_name>] [ -profile <profile_script_name>] [ -f <script_file_name>] [ -javaoption java_option] [ -lang language] [ -wsadmin_classpath classpath] [ -profileName profile] [ -conntype SOAP [-host host_name] [-port port_number] [-user userid] [-password password] | RMI [-host host_name] [-port port_number] [-user userid] [-password password] | NONE ] [ -jobid <jobid_string>] [ -tracefile <trace_file>] [ -appendtrace <true/false>] [ script parameters ] ここで: "command" はスクリプト・プロセッサーに渡されるコマンドです。 "properties_file_name" は使用される Java プロパティー・ファイルです。 "profile_script_name" はメインのコマンドまたはファイルの前に実行される スクリプト・ファイルです。 "script_file_name" はスクリプト・プロセッサーに渡されるコマンドです。 "java_option" は Java プログラムに渡される Java 標準オプションまたは Java 標準以外のオプションです。 "language" はスクリプトの解釈に使用される言語です。 サポートされる値は "jacl" および "jython" です。 classpath は組み込みクラスパスに付加されるクラスパスです。 - 14 - -conntype は、使用する接続のタイプを指定します。 デフォルトの引数は「SOAP」です。 conntype の 「NONE」は、サーバー接続が行われず、一定の オペレーションがローカル・モードで実行されることを意味します。 host_name は、SOAP または RMI 接続に使用するホストです。 デフォルトはローカル・ホストです。 port_number は SOAP または RMI 接続に使用するポートです。 userid は、サーバーがセキュア・モードで実行されるときに 必要なユーザー ID です。 password は、サーバーがセキュア・モードで実行するときに 必要なパスワードです。 script parameters は、コマンド行における他の任意のパラメーターです。 これらは、 argv 変数でスクリプトに渡されます。パラメーターの数は argc 変数にあります。 "jobid_string" は、wsadmin の各呼び出しの監査に使用する ジョブ ID ストリングです "trace_file" は、ログ・ファイル名で、wsadmin トレース出力が送信される ロケーションです。 コマンドまたはスクリプトが指定されていないと、対話式の使用のために インタープリター・シェルが作成されます。 対話式スクリプト・セッションを終了する 場合は、"quit" または "exit" コマンドを使用してください。 複数のコマンド、プロパティー・ファイル、およびプロファイルを 単一のコマンド行に指定することもできます。 これらは、指定された順番で 処理され、実行されます。 wsadmin の起動時オプションでは、wsadmin の環境設定値を記述する wsadmin.properties の設定フ ァ イ ル の 値 を 上 書 き し ま す 。 逆 に 言 う と 、 wsadmin の 起 動 オ プ シ ョ ン を <Profile_root>/properties/ wsadmin.properties などの環境設定ファイルに事前に設定しておくことも可能です。wsadmin.properties ファイルの設定は下記の InfoCenter の記載を参考にしてください。 InfoCenter「スクリプト管理で使用するプロパティー」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/rxml_propscript.html WAS ND 環境で、-host、-port オプションを指定することにより、デプロイメント・マネージャーではなく、 ノード・エージェントに接続して、構成を変更することも可能ですが、この構成は、ローカルのノードのみ で有効となり、デプロイメント・マネージャーと構成の同期化が行われた時点でこの設定変更は失われて しまいますのでご注意ください。一般的には、デプロイメント・マネージャーが保持するマスター構成情 報を変更管理し、各ノードの構成情報を直接変更する必要はありません。 コマンドの実行方法には、下記の 3 つの方法があります。 • 対話モードでの実行 • 単一コマンドの直接実行 • スクリプトファイルの実行 - 15 - 対話モード 対話モードでの モードでの実行 での実行 wsadmin 起動時に-c、-f オプションをともに使用しなかった場合、wsadmin は対話モードで起動しま す。このモードでは、wsadmin を起動し直すことなく、連続して、wsadmin コマンドを実行することができ ます。対話モード終了するときには、quit を入力します。 デフォルトで指定される言語は Jacl です。Jython スクリプト言語を使用する場合は、-lang オプション を使用するか、このオプションを wsadmin.properties ファイルで指定します。実行例は-lang を使用し、 Jython で処理を実行しています。 例 1-2 対話モードでの wsadmin の実行 # ./wsadmin.sh -lang jython WASX7209I: ノード host1CellManager01 のプロセス "dmgr" に、SOAP コネクターを使って接続しました。 プロセスのタイプは DeploymentManager です。 WASX7031I: ヘルプを表示するには、"print Help.help()" と入力してください。 wsadmin>print print AdminControl.getNode() AdminControl.getNode() host1CellManager01 wsadmin>print print AdminApp.list() DefaultApplication.ear Samples Gallery EAR wsadmin>quit # 単一コマンド 単一コマンドの コマンドの直接実行 wsadmin の実行時に-c のオプションを使用することにより、コマンドを直接実行することができます。 Unix 系では、一連の実行コマンドに空白文字が入る場合には、シングルクォーテーション(')で囲みま す。Windows では、ダブルクォーテーション(”)で囲みます。実行例は以下のようになります。 例 1-3 Unix 系でのコマンドの直接実行 # ./wsadmin.sh -c '$AdminControl getNode' WASX7209I: ノード host1CellManager01 のプロセス "dmgr" に、SOAP コネクターを使って接続しました。 プロセスのタイプは DeploymentManager です。 host1CellManager01 # 例 1-4 Windows でのコマンドの直接実行 C:\WebSphere\AppServer\profiles\Custom01\bin>wsadmin.bat wsadmin.bat -c "$AdminControl getNode" WASX7209I: ノード host1CellManager01 のプロセス "dmgr" に、SOAP コネクターを使って接続しました。 プロセスのタイプは DeploymentManager です。 host1CellManager01 C:\WebSphere\AppServer\profiles\Custom01\bin> スクリプトファイルの スクリプトファイルの実行 wsadmin の実行時に-f のオプションを使用することにより、スクリプトファイルを読み込んで実行すること ができます。例 1-5に実行例を示します。この例では、の Jacl ファイルを読み込んで実行しています。 - 16 - 例 1-5 Jacl スクリプトファイルの実行 # ./wsadmin.sh -f /tmp/wsadmin/myScript.jacl WASX7209I: ノード host1CellManager01 のプロセス "dmgr" に、SOAP コネクターを使って接続しました。 プロセスのタイプは DeploymentManager です。 host1CellManager01 # 例 1-6 myScript.jacl ファイルの内容 puts "[$AdminControl getNode]" Jython ファイルを読み込む場合は下記のようになります。Jython スクリプトを読み込む場合には、-lang オ プションを指定、または、wsadmin.properties ファイルのデフォルトの言語指定で、jython を指定する必 要があります。 例 1-7 Jython スクリプトファイルの実行 # ./wsadmin.sh -lang jython -f /tmp/wsadmin/myScript.py /tmp/wsadmin/myScript.py WASX7209I: ノード host1CellManager01 のプロセス "dmgr" に、SOAP コネクターを使って接続しました。 プロセスのタイプは DeploymentManager です。 host1CellManager01 # 例 1-8 myScript.py ファイルの内容 print AdminControl.getNode() 尚、wsadmin でサポートされる Jacl と Jython の構文については、下記の InfoCenter の記載を参照く ださい。 InfoCenter「Jacl」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/cxml_jacl.html InfoCenter「Jython」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/cxml_jython.html WASV6.1 において Jacl は非推奨となりました。しかしながら、wsadmin ツールの Jacl は今後 2 回の 製品リリースの間でサポートされます。そのため、新規に開発される場合は、Jython にて作成することを 推奨します。以下の節では、Jython を使用したサンプルで紹介します。 1-3-3-2 管理オブジェクト 管理オブジェクト wsadmin では、管理オブジェクトを大きく 5 つに大別し、管理オペレーションを実行します。構成管理 に関するオペレーションを 実行する AdminConfig、ラ ンタイ ム環境のオペレーシ ョンを実行する AdminControl、アプリケーション・データに関するオペレーションを実行する AdminApp、構成管理やラ ンタイム環境の管理を簡易化する AdminTask そして Help があります。 wsadmin コマンドの実行方法は、Jython の場合、下記のよう入力します。 wsadmin>[管理オブジェクト].[コマンド]([コマンドパラメーター]) 情報を表示する場合は、はじめに print をつけると整形されます。 wsadmin>print [管理オブジェクト].[コマンド]([コマンドパラメーター]) - 17 - AdminControl AdminControl 管理オブジェクトはオペレーション制御を行うために使用します。AdminControl は WAS の稼動オブジェクトを表わす MBean と通信を行い、稼動中のオブジェクトとその属性に対する問い 合わせとオブジェクトに対する操作を実行するコマンドが提供されます。アプリケーション・サーバーの起 動・停止なども行うことができます。 AdminConfig AdminConfig 管理オブジェクトは、<Profile_root>/config ディレクトリー配下に保管されている構成情 報を管理するために使用します。AdminConfig には構成情報の確認、作成、変更、削除を実行するコ マンドが提供されます。 AdminApp AdminApp 管理オブジェクトでは、エンタープライズ・アプリケーション・オブジェクトの操作(インストー ル・アンインストール・更新、編集およびリスト表示)を実行するコマンドが提供されます。 AdminTask AdminTask 管理オブジェクトは管理操作を簡易化するために、よく使用するオペレーションをまとめた コマンドを提供します。例えば、クラスターおよびクラスター・メンバーを構成するためのコマンドやアプリ ケーション・サーバーを構成するコマンドが提供されます。 AdminTask には 2 つの実行モードがあります。ひとつはバッチ・モード、もうひとつは対話モードです。 バッチ・モードは通常コマンドと同様に引き数を一度に渡すコマンドですが、対話モードはコマンド行の ウィザード形式で引数を入力するため、管理コンソールと同様のオペレーションが可能になります。 Help Help 管理オブジェクトは、上記 4 つの管理オブジェクトで提供されるコマンドの情報と稼動している MBean の操作と属性の情報を提供します。 以下に AdminControl 管理オブジェクトの情報を表示する例を記載します。 例 1-9 Help 管理オブジェクトの使用例 wsadmin>print print Help.AdminControl() WASX7027I: AdminControl オブジェクトを使用すると、WebSphere サーバー・ プロセスで稼働している MBean を操作できるようになります。 スクリプト・クライアントで 使用可能な MBean の数とタイプは、クライアントが接続されているサーバーによって異なり ます。 クライアントがデプロイメント・マネージャーに接続されている場合は、 そのデプロイメント・マネージャーで実行されているすべての MBean が可視となります。 同様に、このデプロイメント・マネージャーに接続されているノード・エージェントで 実行されているすべての MBean、およびこれらのノードで実行されている アプリケーション・サーバーで実行されているすべての MBean も可視となります。 AdminControl では、以下のコマンドがサポートされています。これらの各コマンドの 詳細情報は、AdminControl の help コマンドを使用し、引数としてコマンドの名前 を指定することにより入手できます。 これらのコマンドの多くでは、ストリングを受け入れ、戻すシグニチャー、および - 18 - ObjectName や AttributeList などの JMX オブジェクトを処理する下位のシグニチャー ・セットの 2 つの異なるシグニチャー・セットをサポートしています。 多くの場合、ストリング・シグニチャーの方がより役に立ちますが、 JMX オブジェクト・シグニチャーのバージョンも提供されます。 これらの各 JMX オブジェクト・シグニチャー・コマンドには、"_jmx" がコマンド名に付加されます。 そのため、"invoke" コマンドのほかに、"invoke_jmx" コマンドもあります。 completeObjectName テンプレート名を指定すると、オブジェクト名のストリング・バージョン を返します getAttribute_jmx ObjectName と属性の名前を指定すると、属性の値を 返します getAttribute ObjectName のストリング・バージョンと属性の名前を指定すると、 属性の値を返します getAttributes_jmx ObjectName と属性名の配列を指定すると、AttributeList を 返します getAttributes ObjectName のストリング・バージョンと属性名を指定すると、 名前と値のペアのストリングを返します getCell 接続されているサーバーのセル名を返します。 getConfigId ObjectName のストリング・バージョンを指定すると、対応する 構成オブジェクトが存在する場合、その構成 ID を返します。 getDefaultDomain "WebSphere" を返す getDomainName "WebSphere" を返す。 getHost 接続されたホストのストリング表現を返す getMBeanCount 登録済み Bean の数を返す getMBeanInfo_jmx ObjectName を指定すると、MBean の MBeanInfo 構成体を返す getNode 接続されたサーバーのノード名を返す getObjectInstance ObjectName のストリング・バージョンを指定すると、 一致する ObjectInstance オブジェクトを返す。 getPort 使用中のポートのストリング表現を返す getType 使用中のポートの接続タイプのストリング表現を返す help ヘルプ情報を表示する invoke_jmx ObjectName、メソッド名、パラメーターとシグニチャーの配列を指定すると、 - 19 - 指定された MBean でメソッドを起動する invoke 指定された MBean でメソッドを起動する isRegistered_jmx 指定された ObjectName が登録済みの場合は true isRegistered 指定された ObjectName のストリング・バージョンが登録済みの場合は、true makeObjectName 指定されたストリングでビルドされた ObjectName を返す queryNames_jmx ObjectName および QueryExp を指定すると、一致する ObjectName のセットを返す。 queryNames ObjectName のストリング・バージョンを指定すると、 それに合致する ObjectName のストリングを検索する queryMBeans ObjectName のストリング・バージョンを指定すると、 一致する ObjectInstances オブジェクトのセットを返す。 reconnect サーバーに再接続する setAttribute_jmx ObjectName と Attribute オブジェクトを指定すると、指定された MBean の属性を設定する setAttribute ObjectName のストリング・バージョン、属性名および 属性値を指定すると、指定された MBean の属性を設定する setAttributes_jmx ObjectName および AttributeList オブジェクトを指定すると、指定された MBean の属性を設定する setAttributes ObjectName のストリング・バージョン、属性名および 値の組を指定すると、指定された MBean の属性を設定する startServer サーバーの名前を指定すると、そのサーバーを始動する。 stopServer サーバーの名前を指定すると、そのサーバーを停止する。 testConnection DataSource オブジェクトへの接続をテストする trace wsadmin トレース仕様を設定する wsadmin> 1-3-3-3 wsadmin スクリプトの スクリプトの作成方法 稼動オブジェクトに対する操作は AdminControl を使用し、構成情報に対する操作は AdminConfig を 使用し、構成データの中でもエンタープライズ・アプリケーションに関する操作は AdminApp を使用しま す。さらに WAS V6 から、一般的な構成に対する操作については、JMX の知識がそれほどなくとも操作 を実行できる AdminTask が導入されています。 AdminControl による稼動 による稼動オブジェクト 稼動オブジェクトの オブジェクトの操作 AdminControl 管理オブジェクトで使用可能なコマンドの一覧を示します。 表 1-1 AdminControl のコマンドの一覧 コマンド completeObjectName 説明 テンプレート名を指定すると、オブジェクト名のストリング・バージョンを返します - 20 - getAttribute_jmx getAttribute getAttributes_jmx getAttributes getCell getConfigId getDefaultDomain getDomainName getHost getMBeanCount getMBeanInfo_jmx getNode getObjectInstance getPort getType help invoke_jmx invoke isRegistered_jmx isRegistered makeObjectName queryMBeans queryNames_jmx ObjectName と属性の名前を指定すると、属性の値を返します ObjectName のストリング・バージョンと属性の名前を指定すると、属性の値を 返します ObjectName と属性名の配列を指定すると、AttributeList を返します ObjectName のストリング・バージョンと属性名を指定すると、名前と値のペアの ストリングを返します 接続されているサーバーのセル名を返します。 ObjectName のストリング・バージョンを指定すると、対応する構成オブジェクト が存在する場合、その構成 ID を返します。 "WebSphere" を返す。 "WebSphere" を返す 接続されたホストのストリング表現を返す 登録済み Bean の数を返す ObjectName を指定すると、MBean の MBeanInfo 構成を返す 接続されたサーバーのノード名を返す 使用中のポートのストリング表現を返す 使用中の接続タイプのストリング表現を返す ヘルプ情報を表示する ObjectName、メソッドの名前、パラメーターの配列、およびシグニチャーを指定 した場合、指定された MBean でメソッドを呼び出す 指定された MBean でメソッドを呼び出す 指定された ObjectName が登録されている場合は true 指定された ObjectName のストリング・バージョンが登録されている場合は true 指定されたストリングで作成された ObjectName を返す ObjectName と QueryExp を指定した場合、一致する ObjectName のセットを 検索する queryNames ObjectName の ス ト リ ン グ ・ バ ー ジ ョ ン を 指 定 す る と 、 そ れ に 合 致 す る ObjectName のストリングを検索する reconnect サーバーに再接続する setAttribute_jmx ObjectName と Attribute オブジェクトを指定すると、指定された MBean の属 性を設定する setAttribute ObjectName のストリング・バージョン、属性名および属性値を指定すると、指 定された MBean の属性を設定する setAttributes_jmx ObjectName お よび AttributeList オ ブジェクト を指定 すると、 指定された MBean の属性を設定する setAttributes ObjectName のストリング・バージョン、属性名および値の組を指定すると、指 定された MBean の属性を設定する startServer サーバーの名前を指定すると、そのサーバーを始動する。 stopServer サーバーの名前を指定すると、そのサーバーを停止する。 testConnection DataSource オブジェクトへの接続をテストする trace wsadmin トレース仕様を設定する 各コマンドのパラメーター、戻り値、使用例などの詳細は下記の InfoCenter の記載を参照ください。 InfoCenter「AdminControl オブジェクトのコマンド」 - 21 - http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/rxml_admincontrol.html AdminControl 管理オブジェクトを使用して稼動オブジェクトを操作するには、操作対象となる MBean を見つける必要があります。MBean が WAS の稼働環境の稼動オブジェクトを表し、状態の確認・変更を 行うことができます。具体的には、対象となる MBean に対して、invoke コマンドで操作を実行したり、 getAttribute または setAttribute コマンドで属性値を確認、変更を行います。 まず、操作対象となる MBean を見つけるためには、下記の InfoCenter の Javadoc を参考にして、 MBean Type の目星をつけます。(<WAS_root>/web/mbeanDocs/index.html にも同様の Javadoc がありま す。) InfoCenter「MBean Interfaces」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.java doc.doc/public_html/mbeandocs/welcome.html 次に、特定の MBean を検索するために、queryNames コマンドを使用します。下記のコマンドを実行す ることにより、登録されているすべての MBean オブジェクトがリストされます。 wsadmin>AdminContr AdminControl AdminControl queryNames('*') queryNames の引数に上記で発見した MBean Type や Node 名を指定することにより、検索範囲を絞り、 必要な MBean を探します。MBean Type の指定は、Javadoc に記載されている Partial ObjectName:の値 を参考にしてください。例えば、クラスターに関する MBean を検索するには下記のように入力します。必 ずアスタリスク(*)を追加してください。 例 1-10 queryNames コマンドによる MBean オブジェクトの検索 wsadmin>print print AdminControl.queryNames('type=Cluster,*') WebSphere:name=ClusterA,process=dmgr,platform=common,node=host1CellManager01,version=6.1.0.0,t ype=Cluster,mbeanIdentifier=ClusterA,cell=wasv61guideCell01,spec=1.0 WebSphere:name=ClusterB,process=dmgr,platform=common,node=host1CellManager01,version=6.1.0.0,t ype=Cluster,mbeanIdentifier=ClusterB,cell=wasv61guideCell01,spec=1.0 WebSphere:name=ClusterC,process=dmgr,platform=common,node=host1CellManager01,version=6.1.0.0,t ype=Cluster,mbeanIdentifier=ClusterC,cell=wasv61guideCell01,spec=1.0 wsadmin> MBean オブジェクトを検索するもう一つの方法は、completeObjectName コマンドを使用します。ただし、 このコマンドは名前のパターンが複数の MBean オブジェクトとマッチした場合、最初に見つかったオブ ジェクトを戻します。以下に例を示します。 例 1-11 completeObjectName コマンドによる MBean オブジェクトの検索 wsadmin>print print AdminControl.completeObjectName('type=Cluster,*') AdminControl.completeObjectName('type=Cluster,*') WASX7026W: ストリング "type=Cluster,*" は、異なる 3 MBean に該当します。最初のものを戻します。 WebSphere:name=ClusterA,process=dmgr,platform=common,node=host1CellManager01,version=6.1.0.0,t ype=Cluster,mbeanIdentifier=ClusterA,cell=wasv61guideCell01,spec=1.0 wsadmin> wsadmin>print print AdminControl.completeObjectName('type=Cluster,name=ClusterC,*') WebSphere:name=ClusterC,process=dmgr,platform=common,node=host1CellManager01,version=6.1.0.0,t ype=Cluster,mbeanIdentifier=ClusterC,cell=wasv61guideCell01,spec=1.0 wsadmin> MBean オブジェクトの属性と操作メソッドは、Javadoc で確認できますが、以下のように Help 管理オブ ジェクトの attributes コマンドや operations コマンドを使用することによって確認することもできます。 - 22 - 例 1-12 MBean オブジェクトの属性値の検索 wsadmin>myClus myClus = AdminControl.completeObjectName('type=Cluster,name=ClusterB,*') AdminControl.completeObjectName('type=Cluster,name=ClusterB,*') wsadmin>print print Help.attributes(myClus) 属性 アクセス 型 clusterName java.lang.String RO preferLocal java.lang.Boolean RW wlcID java.lang.String RO state java.lang.String RO backupName java.lang.String RO backupBootstrapHost java.lang.String RO backupBootstrapPort java.lang.Integer RO wsadmin> MBean オブジェクトの属性値は AdminControl 管理オブジェクトの getAttribute コマンドで取得すること ができます。上記例のアクセスの欄の値(RO は read only、RW は read and write を表します)に応じて、 RW の属性は setAttribute コマンドで、属性値を変更できます。例えばクラスターの状態を取得するには 下記のようにコマンドを実行します。 例 1-13 MBean オブジェクトの属性値の取得 wsadmin>myClus myClus = AdminControl.completeObjectName('type=Cluster,name=ClusterB,*') wsadmin>print print AdminControl.getAttribute(myClus, 'state') websphere.cluster.stopped wsadmin> MBean オブジェクトの操作メソッドの検索は下記のよう Help 管理オブジェクトの operations コマンドを実 行します。 例 1-14 MBean オブジェクトの操作メソッドの検索 wsadmin>myClus myClus = AdminControl.completeObjectName('type=Cluster,name=ClusterB,*') wsadmin>print print Help.operations(myClus) オペレーション java.lang.String getClusterName() java.lang.Boolean getPreferLocal() void setPreferLocal(java.lang.Boolean) java.lang.String getWLCid() java.lang.String getState() java.lang.String getBackupName() java.lang.String getBackupBootstrapHost() java.lang.Integer getBackupBootstrapPort() [Lcom.ibm.websphere.management.wlm.ClusterMemberData; getClusterMembers() com.ibm.websphere.management.wlm.ClusterMemberData getClusterMember(java.lang.String, java.lang.String) [Lcom.ibm.websphere.management.wlm.ClusterWeightTableEntry; getWeightTable() - 23 - com.ibm.websphere.management.wlm.ClusterWeightTableEntry getWeightTableEntry(java.lang.String, java.lang.String) void setWeightTable(java.lang.Long, [Lcom.ibm.websphere.management.wlm.ClusterWeightTableEntry;) void setWeightTableEntry(java.lang.Long, com.ibm.websphere.management.wlm.ClusterWeightTableEntry) java.lang.Long register(java.lang.String) com.ibm.websphere.management.wlm.ClusterData refresh() void start() void stop() void stopImmediate() void rippleStart() java.lang.String exportRouteTable() java.lang.String dumpClusterInfo() java.lang.Boolean getAvailable(java.lang.String, java.lang.String) void setBackup(java.lang.String, java.lang.String, java.lang.Integer) setAvailable(java.lang.String, java.lang.String) setUnavailable(java.lang.String, java.lang.String) wsadmin> MBean オブジェクトの操作メソッドの呼び出しは、AdminControl 管理オブジェクトの invoke コマンドを実 行します。 例 1-15 MBean オブジェクトの操作メソッドの実行 wsadmin>myClus myClus = AdminControl.completeObjectName('type=Cluster,name=ClusterB,*') wsadmin>AdminControl.invoke(myClus, AdminControl.invoke(myClus, 'start') '' wsadmin>print print AdminControl.getAttribute(myClus, AdminControl.getAttribute(myClus, 'state') websphere.cluster.running wsadmin>AdminControl.invoke(myClus, AdminControl.invoke(myClus, 'setPreferLocal', 'false') '' wsadmin>print print AdminControl.invoke(myClus, 'getPreferLocal') false wsadmin> AdminConfig による構成情報 による構成情報の 構成情報の操作 AdminConfig 管理オブジェクトと AdminTask 管理オブジェクトはどちらも構成情報の確認・変更に使用 されます。この節では AdminConfig 管理オブジェクトの使用方法を説明します。 AdminConfig のコマンドを使用して行った変更はすべて一時的なワークスペースに保管され、save コ マンドを実行することにより、マスター構成情報に保管されます。 構成情報を変更するには下記のような AdminConfig 管理オブジェクトの一連のタスクを実行します。 1). 構成データの type と attribute を確認します。 2). 既存の構成オブジェクトから修正、削除するオブジェクトの構成 ID を取得します。 - 24 - 3). 既存の構成オブジェクトの修正、削除または新規オブジェクトを追加します。 4). 構成データを保管します。 尚、AdminConfig 管理オブジェクトを使用して WAS の構成情報の変更を行う場合には、WAS の config ディレクトリー以下の xml 構成データの内容についての理解が必要になります。 AdminConfig 管理オブジェクトで使用可能なコマンドの一覧を示します。 表 1-2 AdminConfig のコマンドの一覧 コマンド attributes checkin convertToCluster create createClusterMember createDocument createUsingTemplate defaults deleteDocument existsDocument extract getCrossDocumentValidationEnabled getid getObjectName getSaveMode getValidationLevel getValidationSeverityResult hasChanges help installResourceAdapter list listTemplates modify parents queryChanges remove required reset save 説明 指定されたタイプの属性を表示する 構成リポジトリーにファイルをチェックインする。 新規 ServerCluster の最初のメンバーになるようにサーバーを 変換する 属性のタイプ、親、リスト、およびオプションで新規オブジェクト の名前を指定した場合、構成オブジェクトを作成する 既存のクラスターのメンバーである、新規サーバーを作成する。 構成リポジトリーに新規文書を作成する。 特定のテンプレート型を使用してオブジェクトを作成する 指定されたタイプの属性のデフォルト値を表示する。 構成リポジトリーから文書を削除する。 構成リポジトリーに文書が存在するかテストする。 構成リポジトリーからファイルを抽出する。 相互文書検証が使用可能になっている場合、true を返す 指定されたオブジェクトの抑制のストリング・バージョンに対し て、そのオブジェクトの構成 ID を表示する 指定された構成 ID に対して、対応する実行中の MBean が あればその MBean の ObjectName のストリング・バージョンを 返す "save" が呼び出されるときに使用されるモードを返す ファイルがリポジトリーから抽出されるときに使用される妥当性 検査を返す 最新の妥当性検査から、指定した重大度のメッセージの数を返 す 未保管の構成変更がある場合、true を返す ヘルプ情報を表示する 指定された RAR ファイル名およびオプション・ストリングを使用 して J2C リソース・アダプターをノードにインストールする。 指定されたタイプのすべての構成オブジェクトをリストする 指定されたタイプの使用可能なすべての構成テンプレートをリ ストする。 特定の構成オブジェクトの指定された属性を変更する 特定のタイプを含むオブジェクトを表示する 未保管ファイルのリストを返す 指定された構成オブジェクトを除去する 特定タイプの必須属性を表示する 未保管の構成変更を破棄する 構成リポジトリーに対する未保管の変更をコミットする - 25 - setCrossDocumentValidationEnabled setSaveMode setValidationLevel 相互文書検証を使用可能モードに設定する "save" が呼び出されるときに使用されるモードを変更する ファイルがリポジトリーから抽出されるときに使用される妥当性 検査を設定する show 指定された構成オブジェクトの属性を表示する showall 指定された構成オブジェクトの属性と、各属性の含まれたすべ てのオブジェクトを再帰的に表示する showAttribute 指定された単一属性の値のみを表示する。 types 構成に可能なタイプを表示する uninstallResourceAdapter 指定されたリソース・アダプター構成 ID を持つ J2C リソース・ アダプターをアンインストールする。 validate 妥当性検査を呼び出す 各コマンドのパラメーター、戻り値、使用例などの詳細は下記の InfoCenter の記載を参照ください。 InfoCenter「AdminConfig オブジェクトのコマンド」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.nd.doc/info/ae/a e/rxml_adminconfig1.html Type 管理コンソールに表示されるそれぞれの構成オブジェクトは特定の type に属します。type は構成オブ ジェクトの論理的なグループです。また、構成オブジェクトはユーザーが定義した値を保持する attribute を持ちます。また、構成オブジェクトは、それぞれ固有の configuration ID を持ちます。新しい構成オブ ジェクトを生成する場合には、どの type のどの attribute を構成するのかを知る必要があります。 AdminConfig 管理オブジェクトの types コマンドで、すべての type を表示できます。 例 1-16 すべての type の表示 wsadmin>print print AdminConfig. AdminConfig.types() types() AccessPointGroup ActivationSpec ActivationSpecTemplateProps ActivitySessionService AdminObject AdminObjectTemplateProps AdminServerAuthentication AdminService Agent AllActivePolicy ・・・・ Attribute それぞれの構成オブジェクトが保持する attribute の値が、ユーザーが定義する属性値を表します。例 えば、JavaVirtualMachine の type には、初期ヒープサイズや最大ヒープサイズの attribute があります。 AdminConfig 管理オブジェクトの attributes コマンドに引数として、特定の type を入力することにより、そ の type のすべての attribute を表示することができます。 - 26 - 例 1-17 attributes コマンドの使用方法 wsadmin>print print AdminConfig.help('attributes') WASX7061I: メソッド: attributes 引数: type 説明: 「type」で示されたタイプのオブジェクトに含めることができる すべての属性を表示します。属性タイプも表示されます。属性のタイプが 別のオブジェクトへの参照を表す場合は、その属性タイプには接尾部「@」 が付きます。属性がオブジェクトのコレクションを表す場合は、そのタイプ には、接尾部「*」が付いてリスト表示されます。タイプが基本タイプの 場合は、括弧内に基本タイプが表示された後に可能なサブタイプがリスト 表示されます。 タイプが列挙型の場合、「ENUM」と表示され、続けて括弧内に 可能な値が表示されます。 wsadmin> 例 1-18 attribute の表示例 wsadmin>print print AdminConfig.attributes('JavaVirtualMachine') bootClasspath String* classpath String* debugArgs String debugMode boolean disableJIT boolean executableJarFileName String genericJvmArguments String hprofArguments String initialHeapSize int internalClassAccessMode ENUM(ALLOW, RESTRICT) maximumHeapSize int osName String runHProf boolean systemProperties Property(TypedProperty, DescriptiveProperty)* verboseModeClass boolean verboseModeGarbageCollection boolean verboseModeJNI boolean wsadmin> 参考として、管理コンソールでの[Java 仮想マシン]プロパティーの表示と、同一のアプリケーション・サー バーの<DM_profile_root>/config ディレクトリー配下にある server.xml の Java 仮想マシン設定の箇所の 抜粋を載せます。JavaVirtualMachine type の属性値が、管理コンソール上での[Java 仮想マシン]プロパ ティーの設定や、server.xml に定義されている属性値と一致していることが分かります。 - 27 - 図 1-7 [Java 仮想マシン]プロパティー 例 1-19 server.xml の抜粋 <jvmEntries xmi:id="JavaVirtualMachine_1163669258642" verboseModeClass="false" verboseModeGarbageCollection="false" verboseModeJNI="false" runHProf="false"hprofArguments="" debugMode="false" debugArgs="-Djava.compiler=NONE -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777" genericJvmArguments=""/> また、構成オブジェクトの attribute には、必須の attribute と省略可能な attribute があります。必須の attibute を確認する場合には、required コマンドを使用します。 例 1-20 必須 attribute の確認 wsadmin>print print AdminConfig.required('JavaVirtualMachine') WASX7361I: タイプ "JavaVirtualMachine" に必須の属性が見つかりません。 wsadmin>print print AdminConfig.required('ServerCluster') 属性 型 name String wsadmin> 上記の例より、JavaVirtualMachine type の attribute には、必須の attribute がないことが分かります。 ServerCluster type の attribute のうち、name attribute は必須 attribute であることが分かります。 defaults コマンドを使用することにより、attribute のデフォルト値が確認できます。 例 1-21 attribute のデフォルト値の確認 wsadmin>print print AdminConfig.defaults('JavaVirtualMachine') 属性 デフォルト 型 classpath String bootClasspath String verboseModeClass boolean false verboseModeGarbageCollection boolean false - 28 - verboseModeJNI boolean false initialHeapSize int 0 maximumHeapSize int 0 runHProf boolean false hprofArguments String debugMode boolean debugArgs String genericJvmArguments String executableJarFileName String disableJIT boolean osName String internalClassAccessMode ENUM systemProperties Property false false ALLOW wsadmin> Configuration ID Configuration ID は特定の構成オブジェクトを表します。Configuration ID は以下のような形式で表さ れます。ただし、type によっては、表示名が存在しないものもあります。 表示名(構成ファイルのパス|構成ファイル名#ID) 例えば、ある ServerCluster type の Configuration ID は下記のようになります。 Cmember11(cells/guideCell01/nodes/host1Node01/servers/Cmember11|server.xml#Server_111994402 6328) また、ある JavaVirtualMachine type の Configuration ID は下記のようになります。尚、JavaVirtualMachine type は、表示名が存在しません。 (cells/guideCell01/nodes/host1Node01/servers/Cmember11|server.xml#JavaVirtualMachine_11199440 26346) この Configuration ID の構成ファイルのパスと構成ファイル名は、<Profile_root>/config ディレクトリー配 下の xml 構成ファイルと直接結びつきます。さらに、表示名と ID は、その xml 構成ファイル内の、name= と、xmi:id=のパラメータ値を表しています。 Configuration ID を取得するには、AdminConfig 管理オブジェクトの getid または list コマンドを使用し ます。 getid コマンドの help を表示すると以下のようになります。 例 1-22 getid コマンドの使用方法 wsadmin>print print AdminConfig.help('getid') WASX7085I: メソッド: getid 引数: containment path 説明: 「containment path」(抑制パス) で指定されたオブジェクトの構成 ID を返します。 -- 抑制パスの例: /Node:myNode/Server:s1/JDBCProvider:jdbc1/ wsadmin> getid コマンドを実行する場合、抑制パスを引数として指定する必要があります。抑制パスは、構成オブ ジェクトの type とその表示名の組を/type 名:表示名/の形式で指定したものです。表示名を指定しない場 - 29 - 合には、ワイルドカードとしてその type のオブジェクトがすべて検索されます。複数の構成オブジェクトが 検索結果にマッチする場合には、複数の結果がかえります。 例 1-23 getid コマンドの使用例 wsadmin>print print AdminConfig.getid('/ServerCluster:/') AdminConfig.getid('/ServerCluster:/') ClusterA(cells/wasv61guideCell01/clusters/ClusterA|cluster.xml#ServerCluster_1163668169514) ClusterB(cells/wasv61guideCell01/clusters/ClusterB|cluster.xml#ServerCluster_1163669081958) ClusterC(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ServerCluster_1163669255425) wsadmin> wsadmin>print print AdminConfig.getid('/ServerCluster:ClusterC/') ClusterC(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ServerCluster_1163669255425) wsadmin> また、複数の type 名と表示名の組を連続して組み合わせ、検索範囲を狭めることができますが、複数の type 名と表示名の組を連続させる場合には、それらは、直接的な親子関係である必要があります。ある type の親の type を確認するには、parents コマンドを使用します。必ずしもすべての type に親の type が 存在するわけではありません。 例 1-24 親 type の確認と複数 type を指定した構成オブジェクトの検索例 wsadmin>print print AdminConfig.parents('JavaVirtualMachine') WASX7351I: parents コマンドは、タイプ "JavaVirtualMachine" の親の検出には使用できません。 wsadmin> wsadmin>print print AdminConfig.parents('Server') Node ServerCluster wsadmin> wsadmin>print print AdminConfig.getid('/Server:nodeagent/') nodeagent(cells/wasv61guideCell01/nodes/host1Node01/servers/nodeagent|server.xml#Server_116366 7315116) nodeagent(cells/wasv61guideCell01/nodes/host1Node02/servers/nodeagent|server.xml#Server_116366 7573763) nodeagent(cells/wasv61guideCell01/nodes/host1Node03/servers/nodeagent|server.xml#Server_116366 7735588) wsadmin> wsadmin>print print AdminConfig.getid('/Node:host1Node02/Server:nodeagent/') nodeagent(cells/wasv61guideCell01/nodes/host1Node02/servers/nodeagent|server.xml#Server_116366 7573763) wsadmin> jython スクリプト言語では、空白文字はそのまま空白と判断しますので、表示名に空白文字が含まれる 場合にも特に操作方法に違いはありません。 例 1-25 jacl スクリプト言語で引数に空白文字を含む場合の例 wsadmin>print print AdminConfig.getid('/Node:host1Node02/JDBCProvider:DB2 Universal JDBC Driver Provider/') "DB2 Universal JDBC Driver Provider(cells/wasv61guideCell01/nodes/host1Node02|resources.xml#JDBCProvider_1164095661489)" - 30 - wsadmin> list コマンドの help を表示すると以下のようになります。 例 1-26 list コマンドの使用方法 wsadmin>print print AdminConfig.help('list') WASX7056I: メソッド: list 引数: type 説明: 「type」で指定されたタイプの構成オブジェクトをすべて リスト表示します メソッド: list 引数: type、scope 説明: 「scope」で指定された構成オブジェクト範囲内の、「type」 で指定されたタイプのすべての構成オブジェクトをリスト表示します。 wsadmin> list コマンドでは、引数として type のみを指定する方法と、type と有効範囲(scope)を指定する方法があ ります。有効範囲は、JDBC プロバイダーなどのリソース設定における有効範囲であり、有効範囲を構成 オブジェクトの構成 ID で指定します。以下の例の 2 番目のコマンドでは、有効範囲がクラスターレベル の ClusterA に定義された JDBC プロバイダー構成オブジェクトの構成 ID を取得しています。 例 1-27 list コマンドの使用例 wsadmin>print print AdminConfig.list('ServerCluster') AdminConfig.list('ServerCluster') ClusterA(cells/wasv61guideCell01/clusters/ClusterA|cluster.xml#ServerCluster_1163668169514) ClusterB(cells/wasv61guideCell01/clusters/ClusterB|cluster.xml#ServerCluster_1163669081958) ClusterC(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ServerCluster_1163669255425) wsadmin> wsadmin>AdminConfig.list('JDBCProvider','ClusterA(cells/wasv61guideCell01/clusters/ClusterA|cl AdminConfig.list('JDBCProvider','ClusterA(cells/wasv61guideCell01/clusters/ClusterA|cl uster.xml#ServerCluster_1163668169514)') '"Derby JDBC Provider (XA)(cells/wasv61guideCell01/clusters/ClusterA|resources.xml#builtin_jdbcprovider)"' wsadmin> ここまで、getid コマンドの抑制パスと list コマンドの有効範囲の使用例を紹介しましたが、複数の構成オ ブジェクトの ID が取得される場合でも、操作を行いたい構成オブジェクトがリスト表示された何番目かを 指定することにより、特定のオブジェクトの構成を行うことができます。jacl 構文のリストを使用することに より、インデックス番号から一つの構成オブジェクトを取得することができます。尚、インデックス番号は 0 から始まります。 例 1-28 jacl リストを使用して特定の構成オブジェクトを選択する方法 wsadmin>import import java wsadmin>lineSeparator lineSeparator = java.lang.System.getProperty('line.separator') - 31 - wsadmin>clusGroup clusGroup = AdminConfig.list('ServerCluster').split( AdminConfig.list('ServerCluster').split(lineSeparator .split(lineSeparator) lineSeparator) wsadmin>print print clusGroup[0] ClusterA(cells/wasv61guideCell01/clusters/ClusterA|cluster.xml#ServerCluster_1163668169514) wsadmin>print print clusGroup[1] ClusterB(cells/wasv61guideCell01/clusters/ClusterB|cluster.xml#ServerCluster_1163669081958) wsadmin>print print clusGroup[2] clusGroup[2] ClusterC(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ServerCluster_1163669255425) wsadmin> 構成オブジェクト 構成オブジェクトの オブジェクトの属性値の 属性値の確認 構成オブジェクトの属性値を確認するには show、showall、showAttribute コマンドを使用します。それ ぞれのコマンドの引数として構成 ID が必要です。showAttribute コマンドはさらに表示したい attribute の 名前を引数に指定します。show コマンドは、構成オブジェクトが保持する直下の attribute を表示しま す。showall コマンドは直下の attribute だけでなく、attribute として含まれる構成オブジェクトの attribute も表示されます。以下の実行例を見たほうが分かりやすいと思います。showAttribute コマンドは、構成 オブジェクトの特定の attribute の値を表示します。以下の実行例では、最初に attribute コマンドを使用し て SeverCluster type の持つ attribute の一覧と ClusterC の構成 ID を取得する部分も参考までに記載し ています。 例 1-29 attribute の値の表示 wsadmin>print print AdminConfig.attributes('ServerCluster') AdminConfig.attributes('ServerCluster') backupClusters BackupCluster* description String enableHA boolean members ClusterMember* name String nodeGroupName String preferLocal boolean serverType ENUM(PROXY_SERVER, APPLICATION_SERVER, ONDEMAND_ROUTER) shortName String stateManagement StateManageable statisticsProvider StatisticsProvider uniqueId String wsadmin> wsadmin>import import java wsadmin>lineSeparator lineSeparator = java.lang.System.getProperty('line.separator') wsadmin>Clusters Clusters = AdminConfig.list('ServerCluster').split( AdminConfig.list('ServerCluster').split(line .split(lineSeparator lineSeparator) Separator) wsadmin>clusC clusC = Clusters[2] wsadmin>print print AdminConfig.show(clusC) [backupClusters []] [enableHA false] [members "[MemberC11(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ClusterMember_1163669258669) - 32 - MemberC21(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ClusterMember_1164091670489) MemberC31(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ClusterMember_1164091674574)]" ] [name ClusterC] [nodeGroupName DefaultNodeGroup] [preferLocal true] [serverType APPLICATION_SERVER] wsadmin> wsadmin>print print AdminConfig.showall(clusC) [backupClusters []] [enableHA false] [members "[[[cluster ClusterC(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ServerCluster_1163669255425)] [memberName MemberC11] [nodeName host1Node01] [uniqueId 1163669257579] [weight 2]] [[cluster ClusterC(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ServerCluster_1163669255425)] [memberName MemberC21] [nodeName host1Node02] [uniqueId 1164091668928] [weight 2]] [[cluster ClusterC(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ServerCluster_1163669255425)] [memberName MemberC31] [nodeName host1Node03] [uniqueId 1164091673578] [weight 2]]]"] [name ClusterC] [nodeGroupName DefaultNodeGroup] [preferLocal true] [serverType APPLICATION_SERVER] wsadmin> wsadmin>print print AdminConfig.showAttribute(clusC, 'name') ClusterC wsadmin> 構成オブジェクト 構成オブジェクトの オブジェクトの属性値の 属性値の修正 構成オブジェクトの属性値を修正するには modify コマンドを使用します。modify コマンドの help を以 下に示します。 例 1-30 modify コマンドの使用方法 wsadmin>print print AdminConfig.help('modify') WASX7058I: メソッド: modify - 33 - 引数: config id、attributes 説明: 「config id」で指定された構成オブジェクトについて、 「attributes」で指定された属性を変更します。 wsadmin> modify コマンドでは、引数として、変更する構成オブジェクトの構成 ID と変更する構成オブジェクトの attribute と attribute の値の組を指定します。attribute と attribute の値の組は複数指定可能ですので、 [[属性名 1, 属性値 1][属性名 2, 属性値 2]]のように記述します。[]の数に注意してください。 例 1-31 modify コマンドの使用例 wsadmin>AdminConfig.modify(clusC, AdminConfig.modify(clusC, [['preferLocal', 'false']]) '' wsadmin>print print AdminConfig.show(clusC) [backupClusters []] [enableHA false] [members "[MemberC11(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ClusterMember_1163669258669) MemberC21(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ClusterMember_1164091670489) MemberC31(cells/wasv61guideCell01/clusters/ClusterC|cluster.xml#ClusterMember_1164091674574)]" ] [name ClusterC] [nodeGroupName DefaultNodeGroup] [preferLocal false] [serverType APPLICATION_SERVER] wsadmin> wsadmin>AdminConfig.save() AdminConfig.save() '' wsadmin> 構成オブジェクト 構成オブジェクトの オブジェクトの追加 構成オブジェクトを新規に作成する場合には create コマンドを使用します。create コマンドの help を以 下に示します。 例 1-32 create コマンドの使用方法 wsadmin>print print AdminConfig.help('create') WASX7054I: メソッド: create 引数: type、parent、attributes 説明: 「type」で指定されたタイプ、「parent」で指定された親の 構成オブジェクトを、「attributes」で指定された属性を使用して 作成します。 メソッド: create - 34 - 引数: type、parent、attributes、parent attribute name 説明: 「type」で指定されたタイプ、「parent」で指定された親の 構成オブジェクトを、「attributes」で指定された属性、および 「parent attribute name」で指定された親の属性名を使用して 作成します。 wsadmin> create コマンドを実行する場合には、作成する構成オブジェクトの type と構成するオブジェクトの親オ ブジェクトの構成 ID とその構成オブジェクトが持つ attribute を指定する必要があります。以下の例では、 仮想ホストを新規に作成しています。 例 1-33 create コマンドの使用例 wsadmin>print print AdminConfig.list('VirtualHost') admin_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_2) default_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_1) proxy_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_1163666297935) wsadmin> wsadmin>print print AdminConfig.parents('VirtualHost') Cell Node wsadmin> wsadmin>print print AdminConfig.list('Cell') wasv61guideCell01(cells/wasv61guideCell01|cell.xml#Cell_1) wsadmin> wsadmin>print print AdminConfig.attributes('VirtualHost') aliases HostAlias* mimeTypes MimeEntry* name String wsadmin> wsadmin>print print AdminConfig.required('VirtualHost') 属性 型 name String wsadmin>AdminConfig.create('VirtualHost', AdminConfig.create('VirtualHost', 'wasv61guideCell01(cells/wasv61guideCell01|cell.xml#Cell_1)', [['name', 'my_host']]) 'my_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_1164107222828)' wsadmin> wsadmin>AdminConfig.save() AdminConfig.save() '' wsadmin> wsadmin>print print AdminConfig.list('VirtualHost') admin_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_2) - 35 - default_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_1) my_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_1164107222828) proxy_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_1163666297935) wsadmin> 構成オブジェクト 構成オブジェクトの オブジェクトの削除 構成オブジェクトを削除する場合には、remove コマンドを使用します。引数には削除する構成オブジ ェクトの構成 ID を指定します。以下の例では、create コマンドで作成した仮想ホストを削除しています。 例 1-34 remove コマンドの使用例 wsadmin>print print AdminConfig.list('VirtualHost') admin_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_2) default_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_1) my_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_1164107222828) proxy_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_1163666297935) wsadmin> wsadmin>AdminConfig.remove('my_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_11641 AdminConfig.remove('my_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_11641 07222828)') '' wsadmin> wsadmin>AdminConfig.save() AdminConfig.save() '' wsadmin> wsadmin>print print AdminConfig.list('VirtualHost') admin_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_2) default_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_1) proxy_host(cells/wasv61guideCell01|virtualhosts.xml#VirtualHost_1163666297935) wsadmin> 構成情報の 構成情報の保管 modify、create、remove などのコマンドを使用して構成情報の変更を行った場合、その変更をマスタ ーの構成情報に反映するために必ず save コマンドを最後に実行する必要があります。save コマンドの help と実行結果を以下に示します。 例 1-35 save コマンドの使用方法 wsadmin>print print AdminConfig.help('save') WASX7124I: メソッド: save 引数: なし 説明: 構成リポジトリーに未保管の変更をコミットします。 wsadmin> wsadmin>Adm AdminConfig.save() AdminConfig.save() - 36 - '' wsadmin> AdminTask による構成情報 による構成情報の 構成情報の操作 WAS V5 から存在する AdminConfig や AdminControl 管理オブジェクトを使用した操作のためには、 JMX フレームワークや xml 構成情報の構造などの知識が要求されます。そのような複雑な知識を必要と せずにスクリプトによる管理機能を実行できるように AdminTask 管理オブジェクトが WAS V6 から導入さ れました。 AdminTask 管理オブジェクトのコマンドは、管理操作を行うときにステップバイステップの説明が表示 され、ウィザードのような形式で操作を行うことが可能です。AdminTask コマンドは、順にパラメーターの 入力を促す対話モードでの実行と、一連のパラメーターを同時に指定するバッチモードでの実行ができ ます。 AdminTask のコマンドは、wsadmin の起動時に動的に検索され、WAS のパッケージやサーバー環境 に応じてコマンドの数は異なります。 AdminTask には、非常に多くのコマンドがあり、特定の操作のコマンドを検索を簡単にするために、以 下のコマンドグループに分類されています。以下のコマンドを実行して表示することができます。 wsadmin>print print AdminTask.help('AdminTask.help('-commandGroups') 表 1-3 コマンドグループ コマンドグループ AdminReports AuthorizationGroupCommands AutoGen Commands CertificateRequestCommands ChannelFrameworkManagement ClusterConfigCommands ConfigArchiveOperations CoreGroupBridgeManagement CoreGroupManagement CreateWebServerByHostNameCommands DescriptivePropCommands DynamicSSLConfigSelectionCommands EventServiceCommands EventServiceDBCommands GenerateSecurityConfigCommand IdMgrConfig IdMgrDBSetup 説明 管理構成レポート 許可グループ LTPA パスワードとサーバー ID を自動生成するコマン ド。 認証要求を管理するためのコマンドです。 WebSphere トランスポート・チャネル・サービスを構成する ときに役立つ管理コマンドのグループ アプリケーション・サーバーのクラスターおよびクラスター・ メンバーを構成するためのコマンド。 種々の構成アーカイブ・オペレーションを含むコマンド・グ ループ。 コア・グループを構成するときに役立つ管理コマンドのグ ループ。 コア・グループを変更するためのコマンド・セット。 IBM HTTP Server に対する構成プロパティーを指定しま す。 記述プロパティーを構成するためのコマンドです。 リモート・アクセスを管理するための動的 SSL 構成選択コ マンドです。 イベント・サービスをデプロイおよび構成するコマンド・グル ープ イベント・サービス・データベースを構成するコマンド・グル ープ。 セキュリティー構成レポートを生成するコマンド。 Virtual member manager を構成するコマンドのグループ。 Virtual member manager データベース、プロパティー拡 - 37 - IdMgrRealmConfig IdMgrRepositoryConfig JCAManagement JDBCProviderManagement KeyManagerCommands KeyReferenceCommands KeySetCommands KeySetGroupCommands KeyStoreCommands ManagedObjectMetadata ManagementScopeCommands NodeGroupCommands PersonalCertificateCommands PortManagement ProfileCommands ResourceManagement SIBAdminBusSecurityCommands SIBAdminCommands SIBJMSAdminCommands SIBWebServices SSLConfigCommands SSLConfigGroupCommands ServerManagement SignerCertificateCommands SpnegoTAICommands TAMConfig TrustManagerCommands UnmanagedNodeCommands Utility VariableConfiguration WIMManagementCommands WMMMigration 張データベース、および項目マッピング・データベースを 構成する一連のコマンド。 Virtual member manager レルムを構成するコマンドのグル ープ。 Virtual member manager リポジトリーを構成するコマンド のグループ Java Connector Architecture(J2C) 関連リソースの構成を 支援する管理コマンドのグループ。 Java Database Connectivity (JDBC) 関連リソースの構成 を支援する管理コマンドのグループ。 鍵マネージャーを構成するためのコマンドです。 鍵セットに関連付けられた鍵参照を管理するためのコマン ドです。 鍵セット・グループを管理するためのコマンドです。 鍵セット・グループを構成するためのコマンドです。 鍵ストアを管理するコマンド。 管理対象オブジェクト・メタデータ・ヘルパー・コマンド 管理有効範囲を管理するためのコマンドです。 ノード・グループ管理用の管理コマンド・グループ 個人証明書を管理するためのコマンドです。 WebSphere ポート管理に使用する管理コマンド・グループ インストールまたはプロファイル作成時に選択された、セキ ュリティー設定を適用するコマンド。 リソースを管理するコマンドのグループ。 SIB セキュリティーの構成に使用するコマンド・グループ。 SIB キューおよびメッセージ・エンジンの構成に使用する コマンド・グループ。 SIB JMS 接続ファクトリー、キュー、およびトピックの構成 に使用するコマンド・グループ。 サービス統合バスの Web サービス・ゲートウェイを構成す るコマンド・グループ。 SSL 構成を管理するコマンドです。 SSL 構成グループを構成するためのコマンドです。 サーバーを構成するコマンドのグループ。 署名者証明書を管理するためのコマンドです。 Spnego TAI の構成のコマンド このグループには、組み込み Tivoli Access Manager の 構成に使用するコマンドが入っています。 トラスト・マネージャーを構成するためのコマンドです。 非管理対象ノードを構成するには、これらのコマンドを使 用します。 自動化スクリプトの構成によく使用されるコマンド 変数値の表示および変更に使用されるコマンド ユーザーおよびグループ管理タスクを変更するためのサ ポートを提供します。 WMM (WebSphere Member Manager) 構成およびデータ - 38 - を virtual member manager にマイグレーションするコマン ド。 WSCertExpMonitorCommands 証明書有効期限モニターを管理するためのコマンドです。 WSGateway Web サービス・ゲートウェイを構成するコマンド・グルー プ。 WSNotificationCommands WS-Notification 管理コマンド WSNotifierCommands ノーティファイヤーを管理するためのコマンドです。 WSScheduleCommands WS スケジュールを管理するためのコマンドです。 WizardCommands セキュリティー・ウィザードの変更を、ナビゲートし、適用す るためのコマンド。 各コマンドグループに存在するコマンドを確認するには、各コマンドグループのヘルプを利用します。以 下に ClusterConfigCommands コマンドのヘルプを表示する例を示します。また、各コマンドのヘルプも 表示できます。 例 1-36 AdminTask 管理オブジェクトのコマンドのヘルプ表示 wsadmin>print print AdminTask.help('ClusterConfigCommands') AdminTask.help('ClusterConfigCommands') WASX8007I: コマンド群 ClusterConfigCommands の詳細ヘルプ 説明: アプリケーション・サーバーのクラスターおよびクラスター・メンバーを構成するためのコマンド。 コマンド: createCluster - 新規のアプリケーション・サーバー・クラスターを作成します。 createClusterMember - アプリケーション・サーバー・クラスターの新規メンバーを作成します。 deleteCluster - アプリケーション・サーバー・クラスターの構成を削除します。 deleteClusterMember - アプリケーション・サーバー・クラスターからメンバーを削除します。 wsadmin> wsadmin>print print AdminTask.help('createCluster') WASX8006I: コマンド createCluster の詳細ヘルプ 説明: 新規のアプリケーション・サーバー・クラスターを作成します。 ターゲット・オブジェクト: なし 引数: なし ステップ: clusterConfig - 新規のサーバー・クラスターの構成を指定します。 replicationDomain - このクラスターの複製ドメインの構成を指定します。 タの複製に使用されます。 HTTP セッション・デー convertServer - 既存のサーバーがクラスターの最初のメンバーになるように変換されることを指定し ます。 eventServiceConfig - 新規のサーバー・クラスターに対するイベント・サービス構成を指定します。 - 39 - promoteProxyServer - convertServer にプロキシー・サーバーが指定された場合、そのプロキシー設 定をクラスターに適用します。 wsadmin> また、各コマンドの詳細な情報は下記の InfoCenter の記載を参照ください。 InfoCenter「AdminTask オブジェクトのコマンド」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/rxml_admintask.html createCluster コマンドを対話モードで実行した結果を以下に示します。 例 1-37 AdminTask 管理オブジェクトコマンドの使用例 wsadmin>AdminTask.createCluster(' AdminTask.createCluster('AdminTask.createCluster('-interactive') サーバー・クラスターの作成 新規のアプリケーション・サーバー・クラスターを作成します。 -> *1. クラスター構成 (clusterConfig) 2. 複製ドメイン (replicationDomain) 3. サーバーを変換 (convertServer) 4. クラスターの作成時にイベント・サービスを構成する。 (eventServiceConfig) 5. クラスターへのプロキシー・サーバー設定のプロモート (promoteProxyServer) S (選択) N (次へ) C (キャンセル) H (ヘルプ) 選択 [S, N, C, H]: [S] s クラスター構成 (clusterConfig) *クラスター名 (clusterName): ローカルを優先 (preferLocal): [true] クラスター・タイプ (clusterType): クラスターの短縮名 (shortName): 選択 [C (キャンセル), E (編集)]: [E] e *クラスター名 (clusterName): MyCluster ローカルを優先 (preferLocal): [true] true クラスター・タイプ (clusterType): クラスターの短縮名 (shortName): - 40 - サーバー・クラスターの作成 新規のアプリケーション・サーバー・クラスターを作成します。 1. クラスター構成 (clusterConfig) -> 2. 複製ドメイン (replicationDomain) 3. サーバーを変換 (convertServer) 4. クラスターの作成時にイベント・サービスを構成する。 (eventServiceConfig) 5. クラスターへのプロキシー・サーバー設定のプロモート (promoteProxyServer) S (選択) N (次へ) P (前へ) F (完了) C (キャンセル) H (ヘルプ) 選択 [S, N, P, F, C, H]: [F] f WASX7278I: 生成されたコマンド行: AdminTask.createCluster('[-clusterConfig [-clusterName MyCluster]]') 'MyCluster(cells/wasv61guideCell01/clusters/MyCluster|cluster.xml#ServerCluster_1164178015425) ' wsadmin>AdminConfig.save() '' wsadmin> 尚、オプション入力時に、アスタリスク(*)がついた項目は、必須の入力項目です。上記の例では、クラ スター名が必須入力項目になります。対話モードで実行した場合には、すべてのオプションを選択した 後に、バッチモードで実行する場合のコマンド引数が表示されるので、スクリプト作成に便利です。 AdminApp によるアプリケーション によるアプリケーションの アプリケーションのインストール・ インストール・更新 AdminApp 管理オブジェクトを使用することにより、エンタープライズ・アプリケーションのインストール、 アンインストール、更新、リスト表示などを行うことができます。 AdminApp 管理オブジェクトで使用可能なコマンドの一覧を示します。 コマンド deleteUserAndGroupEntries edit editInteractive export exportDDL help 説明 特定アプリケーションについて、すべての役割のすべてのユーザー/グ ループ情報と RunAs 役割のすべてのユーザー名/パスワード情報を削 除する アプリケーションのプロパティーを編集する アプリケーションのプロパティーを対話式で編集する アプリケーションをファイルにエクスポートする アプリケーションからディレクトリーに DDL をエクスポートする ヘルプ情報を表示する - 41 - install ファイル名とオプション・ストリングを指定して、アプリケーションをインスト ールする installInteractive ファイル名とオプション・ストリングを指定。対話モードでアプリケーション をインストールします。 isAppReady アプリケーションの実行準備ができているかどうかを検査する list インストール済みアプリケーションをすべてリストする listModules 指定されたアプリケーションのモジュールをリストする options 指定されたファイル、アプリケーション、または一般に使用可能なオプシ ョンを表示する publishWSDL 指定アプリケーションの WSDL ファイルを公開する searchJNDIReferences 特定ノード、特定 JNDIName を参照するアプリケーションをリストする taskInfo 特定ファイルの特定インストール・タスクに関する詳細情報を表示する uninstall アプリケーション名とオプション・ストリングを指定して、アプリケーションを アンインストールする update インストールされたアプリケーションを更新する updateAccessIDs 特定アプリケーションのユーザー・レジストリーからのアクセス ID を持つ ユーザー/グループのバインディング情報を更新する updateInteractive インストールされたアプリケーションを対話式に更新する view アプリケーション名またはモジュール名を指定して、アプリケーションまた はモジュールを表示する 各コマンドのパラメーター、戻り値、使用例などの詳細は下記の InfoCenter の記載を参照ください。 InfoCenter「AdminApp オブジェクトのコマンド」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/rxml_adminapp.html アプリケーションのインストール、更新を行うスクリプトを作成する場合には、まず、installInteractive ま たは updateInteractive コマンドを使用して、対話モードでインストール、更新を実行し、そのとき実行され たコマンドオプションのトレースを利用すると便利です。コマンドオプションのトレースは wsadmin.traceout ログファイルに記録されます。 以下に updateInteractive コマンドを使用した場合の例を示します。対話モードにおいても、いくつか引数 が必要です。installInteractive、updateInteractive コマンドの引数の詳細は下記の InfoCenter の記載を参 照ください。尚、対話モード実行時に値を入力せずに Enter キーを入力した場合には、[]で囲まれた値 (install 時はデフォルト値、update 時は現在の設定値)が設定されます。尚、[はい]or[いいえ]に対しては 日本語で入力する必要があります。 InfoCenter「AdminApp オブジェクトの install、installInteractive、edit、editInteractive、update、および updateInteractive コマンドのオプション」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/rxml_taskoptions.html 例 1-38 updateInteractive コマンドの実行例 wsadmin>AdminApp.updateInteractive('DemoEAR', AdminApp.updateInteractive('DemoEAR', 'app', ''-operation update -contents /tmp/apl/DemoEAR.ear') /tmp/apl/DemoEAR.ear') タスク[1]: アプリケーション・オプションの指定 - 42 - ユーザーのアプリケーションの作成およびインストールに使用可能なさまざまなオプションを指定しま す。 JavaServer Pages ファイルのプリコンパイル: [いいえ]: いいえ "JavaServer Pages ファイルのプリコンパイル" を "AppDeploymentOption.No" に設定します アプリケーションをインストールするディレクトリー: アプリケーションの配付: バイナリー構成の使用: [はい]: [いいえ]: Enterprise Bean のデプロイ: リソース用の MBean の作成: [いいえ]: [はい]: クラスの再ロードを有効にする: 再ロード間隔 (秒): [いいえ]: []: Web サービスのデプロイ: [いいえ]: 入力のオフ/警告/失敗の妥当性検査: プロセス組み込み構成: ファイル許可: [$(APP_INSTALL_ROOT)/wasv61guideCell01]: [off]: [いいえ]: [.*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755]: アプリケーション・ビルド ID: Unknown リモート・リソースに対する組み込みディスパッチの許可: リモート・リソースからの組み込みサービスの許可: [いいえ]: [いいえ]: タスク[2]: サーバーの選択 アプリケーションに含まれるモジュールをインストールする、アプリケーション・サーバーやアプリケー ション・サーバーのクラスターなどのターゲットを指定します。 モジュールは同じアプリケーション・サ ーバー上にインストールすることも、複数のアプリケーション・サーバーに分散させることもできます。 また、このアプリケーションに対する要求のルーターとして機能するターゲットとして、Web サーバーを 指定します。 各 Web サーバーのプラグイン構成ファイル (plugin-cfg.xml) は、経由して経路指定されるアプリケーシ ョンに基づいて生成されます。 モジュール: URI: DemoEJB DemoEJB.jar,META-INF/ejb-jar.xml サーバー: [WebSphere:cell=wasv61guideCell01,cluster=ClusterA]: WebSphere:cell=wasv61guideCell01,cluster=ClusterC "サーバー" を "WebSphere:cell=wasv61guideCell01,cluster=ClusterC" に設定します モジュール: URI: DemoWeb DemoWeb.war,WEB-INF/web.xml サーバー: [WebSphere:cell=wasv61guideCell01,cluster=ClusterA]: WebSphere:cell=wasv61guideCell01,cluster=ClusterC WebSphere:cell=wasv61guideCell01,cluster=ClusterC "サーバー" を "WebSphere:cell=wasv61guideCell01,cluster=ClusterC" に設定します タスク[7]: JNDI 名に Enterprise Bean をバインド - 43 - アプリケーションまたはモジュール内の非メッセージ・ドリブン Enterprise Bean は、それぞれ Java Naming and Directory Interface (JNDI) 名にバインドする必要があります。 EJB モジュール: DemoEJB EJB: HelloEJB URI: DemoEJB.jar,META-INF/ejb-jar.xml ターゲット・リソース JNDI 名: [ejb/ejbs/HelloEJBHome]: タスク[16]: Web モジュールの仮想ホストの選択 アプリケーションに含まれている Web モジュールのインストール先の仮想ホストを指定します。 Web モ ジュールは、同一の仮想ホストにインストールすることも、いくつかのホストに分散させることもできま す。 Web モジュール: URI: DemoWeb DemoWeb.war,WEB-INF/web.xml 仮想ホスト: [default_host]: タスク[17]: Web モジュールのコンテキスト・ルートの編集 デプロイメント記述子内に定義されたコンテキスト・ルートを編集することができます。 Web モジュール: URI: DemoWeb DemoWeb.war,WEB-INF/web.xml ContextRoot: [DemoWeb]: タスク[18]: Web モジュールの初期パラメーターの編集 デプロイメント記述子内に定義されたサーブレットの初期パラメーターを編集することができます。 Web モジュール: URI: DemoWeb.war,WEB-INF/web.xml サーブレット: 名前: config 説明: null 値: DemoWeb action [/WEB-INF/struts-config.xml]: Web モジュール: DemoWeb - 44 - URI: DemoWeb.war,WEB-INF/web.xml サーブレット: 名前: debug 説明: null 値: action [2]: Web モジュール: URI: DemoWeb.war,WEB-INF/web.xml サーブレット: 名前: detail 説明: null 値: action [2]: Web モジュール: URI: DemoWeb DemoWeb.war,WEB-INF/web.xml サーブレット: action 名前: validate 説明: null 値: DemoWeb [true]: タスク[21]: 2.x EJB の無保護メソッドに対するメソッド保護の選択 無保護メソッドにセキュリティー・ロールを割り当てるか、除外リストにそのメソッドを追加するか、あ るいはそのメソッドをクリアしたものとしてマークします。 EJB モジュール: URI: DemoEJB DemoEJB.jar,META-INF/ejb-jar.xml 保護タイプ: [methodProtection.uncheck]: タスク[24]: EJB デプロイ・オプションの指定 Enterprise Bean をデプロイするオプションを指定します。 データベース・タイプの選択は、すべてのモ ジュールが同一のデータベース・タイプにマップされる場合に限られます。 異なるバックエンド ID にマ ップするモジュールがある場合は、データベース・タイプを空白にして、「現行のバックエンド ID の選 択」パネルが表示されるようにしてください。 ....EJB デプロイ・オプションが使用可能ではありません。 - 45 - タスク[26]: 共用ライブラリーのアプリケーションまたは各モジュールへの割り当て アプリケーションまたは個々のモジュールが参照する共用ライブラリーを指定します。 これらのライブラ リーは、構成の中で、適切な有効範囲で定義される必要があります。 モジュール: URI: DemoEAR META-INF/application.xml 共用ライブラリー: モジュール: URI: []: DemoWeb DemoWeb.war,WEB-INF/web.xml 共用ライブラリー: []: タスク[27]: JSP デプロイ・オプションの指定 JSP プリコンパイラーのオプションを指定します。 ....JSP デプロイ・オプションが有効ではありません。 タスク[28]: Web モジュールの JSP 再ロード属性の編集 サーブレットおよび JSP の再ロード属性をモジュールごとに指定できます。 Web モジュール: URI: DemoWeb DemoWeb.war,WEB-INF/ibm-web-ext.xmi JSP: クラスの再ロードを有効にする: JSP: 再ロード間隔 (秒): [はい]: [10]: タスク[30]: WSDL ファイルのコピー WSDL ファイルのコピー ....このタスクはユーザー入力を必要としません タスク[31]: Webservices をデプロイするオプションの指定 Webservices をデプロイするオプションの指定 - 46 - ....WebServices デプロイ・オプションが使用可能ではありません。 ADMA5017I: DemoEAR のアンインストールが開始されました。 ADMA5104I: WebSphere:cell=wasv61guideCell01,node=host1Node02+WebSphere:cell=wasv61guideCell01,node=host1N ode01 のサーバー索引エントリーは正常に更新されました。 ADMA5102I: DemoEAR の構成データが構成リポジトリーから正常に削除されました。 ADMA5011I: アプリケーション DemoEAR の一時ディレクトリーのクリーンアップが完了しました。 ADMA5106I: アプリケーション DemoEAR は正常にアンインストールされました。 ADMA5016I: DemoEAR のインストールが開始されました。 ADMA5058I: アプリケーションとモジュールのバージョンが、デプロイメント・ターゲットのバージョンに 対して検証されます。 ADMA5005I: アプリケーション DemoEAR が WebSphere Application Server リポジトリーに構成されます。 ADMA5053I: インストール済みオプション・パッケージのライブラリー参照が作成されます。 ADMA5005I: アプリケーション DemoEAR が WebSphere Application Server リポジトリーに構成されます。 ADMA5001I: アプリケーション・バイナリーは /opt/WebSphere61/AppServer/profiles/Dmgr01/wstemp/Script10f0e7adfe9/workspace/cells/wasv61guid eCell01/applications/DemoEAR.ear/DemoEAR.ear に保管されます。 ADMA5005I: アプリケーション DemoEAR が WebSphere Application Server リポジトリーに構成されます。 SECJ0400I: アプリケーション DemoEAR が appContextIDForSecurity 情報で正常に更新されました。 ADMA5011I: アプリケーション DemoEAR の一時ディレクトリーのクリーンアップが完了しました。 ADMA5013I: アプリケーション DemoEAR は正常にインストールされました。 '' wsadmin>AdminConfig.save() AdminConfig.save() '' wsadmin> また、このとき wsadmin コマンドを実行しているプロファイルの logs ディレクトリーの wsadmin.traceout ロ グファイルに以下が記録されます。このトレースファイル内の生成されたコマンド行の値を利用すること により、簡単にアプリケーションのインストール、更新のバッチファイルを作成することができます。 例 1-39 wsadmin.traceout の内容 [06/11/22 17:07:42:958 JST] 0000000a AbstractShell A WASX7090I: 次のコマンドを実行します: "A dminApp.updateInteractive('DemoEAR', 'app', '-operation update -contents /tmp/apl/DemoEAR.ear' )" [06/11/22 17:09:13:524 JST] 0000000a AdminAppClien A WASX7278I: 生成されたコマンド行: update 'DemoEAR' app '[-operation update -contents /tmp/apl/DemoEAR.ear -nopreCompileJSPs -installe d.ear.destination $(APP_INSTALL_ROOT)/wasv61guideCell01 -distributeApp -nouseMetaDataFromBinar y -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall off -no processEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -buildVersio n Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -MapModulesToServers [[De moEJB DemoEJB.jar,META-INF/ejb-jar.xml WebSphere:cell=wasv61guideCell01,cluster=ClusterC ] [De moWeb DemoWeb.war,WEB-INF/web.xml WebSphere:cell=wasv61guideCell01,cluster=ClusterC ]]]' [06/11/22 17:09:49:708 JST] 0000000a AbstractShell A dminConfig.save()" - 47 - WASX7090I: 次のコマンドを実行します: "A コマンド・ コマンド・アシスタンス ここまで wsadmin の使用法をご紹介してきました。InfoCenter やヘルプ等を利用しながら、wsadmin ス クリプトを作成していくことは、はじめて触る方にとっては敷居が高いかもしれません。 WAS V6.1 ではコマンド・アシスタンスという機能が提供されました。この機能は最後に管理コンソール で実施したタスクを wsadmin の管理コマンドで表示する機能です。すべての操作が表示されるわけでは ありませんが、wsadmin の開発には役に立ちます。他にもスクリプトのロギングや、Application Server Toolkit(AST)/Rational Application Developer(RAD) へ の ス ク リ プ ト の 送 信 機 能 も 有 し て い ま す 。 AST/RAD へ送信したスクリプトは AST/RAD の Jython エディターで読み込み、編集する事が可能です。 コマンドアシスタンスの詳細は以下の URL をご参照ください。 http://www-6.ibm.com/jp/software/websphere/developer/was/wv6/enhance/3.html サンプルスクリプト InfoCenter には、数多くのサンプルスクリプトが掲載されていますので、スクリプト作成時には参考にし てください。 InfoCenter「スクリプトの使用 (wsadmin)」のサブカテゴリー http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/txml_scriptingep.html また、以下の develperWorks の記事にも多くのサンプルスクリプトがあります。 developerWorks「Sample Scripts for WebSphere Application Server」 http://www-128.ibm.com/developerworks/websphere/library/samples/SampleScripts.html Jacl2Jython ツール WASV5.1 以降のバージョンでは、wsadmin では Jacl と Jython の 2 つの言語をサポートしており、デ フォルトでは Jacl を使用するようになっていました。WASV6.1 から Jacl が非推奨となり、推奨される言語 が Jython となりました。現行のスクリプトを Jacl で開発している管理者のために、Jacl のスクリプトを Jython のスクリプトに変換してくれる便利なツールが提供されています。以下の Web サイトからダウンロードする 事が可能です。尚、このツールは PA のサポート対象にはなりませんので、お客様の責任のもと、ご使用 ください。 http://www-1.ibm.com/support/docview.wss?uid=swg24012144 ツールを使用することで自動的に 9 割程度の内容が変換されますが、一部については Jacl と Jython との対応が取れないなどの理由によって変換されずに残るケースがあります。そういった特殊なケース への対処方法についてはダウンロードしたツールの下記ファイルにまとめてありますので、参照しながら 変換を行ってください。 <Jacl2Jython_ROOT>¥doc¥Jacl2Jython.doc また、日本語はツールで読み込むことができずエラーになる可能性があります。コメント等で日本語を 使用している場合は、英語に変換した後にツールに読み込ませることで成功することがあります。 以下に Jacl2Jython の実行例を示します。実行の際には環境変数の JAVA_HOME に JRE のパスを指定 する必要があります。<WAS_root>/bin/setupCmdLine.sh 等を利用し、JAVA_HOME を事前に定義してお いてください。 例 1-40 Jacl2Jython の実行例 # echo $JAVA_HOME - 48 - /opt/WebSphere61/AppServer/java # ./Jacl2Jython.sh /tmp/wsadmin/ConfigWeight_change.jacl IBM Jacl-2-Jython Conversion Assistant V2.3: - Licenced Material - Property of IBM. (c) Copyright IBM Corporation 2005,2006 - All Rights Reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADB Schedule Contract with IBM Corp. Jacl ファイル=/tmp/wsadmin/ConfigWeight_change.jacl から読み取り中... Jacl プログラムを正常に構文解析しました。 一時的な Jython ファイル=/tmp/wsadmin/ConfigWeight_change.tmp に書き込み中... Jacl プログラムを正常に変換しました。 Jython PostProcessing (コード縮小) の処理中 ... Jacl2Jython が完了しました。 Jython プログラム=/tmp/wsadmin/ConfigWeight_change.py +---------------------------------------------------------------------------+ | 注: 生成された Jython は仮のものです。手動による確認が必要です。 | +----------------------------***********--------------******-************---+ # 1-3-4 JMX プログラム JMX(Java Management eXtenstions) はシステム管理の API です。WAS V6.1 のシステム管理ツール は、この JMX を使用して実装されています。 そのため、システムの運用や管理を行う際には WAS V6.1 が提供する管理コンソールや wsadmin と いった管理ツールだけでなく、この JMX の API を使用した独自の管理ツールを作成することも可能にな ります。さらに、WAS V6.1 の提供する管理システムを拡張して、独自の管理対象リソースを追加すること もできます。 1-3-4-1 JMX 概要 JMX は、システム管理の Java の標準 API です。JMX を利用することでネットワーク上に分散している リソースに対する標準的なインターフェースが公開されますので、システム管理マネージャーからエージ ェントに対して管理のための API を実行することが可能になります。 JMX が定義する管理アーキテクチャーは、以下の 3 つのレベルに分けられます。 • 管理計測レイヤー(Instrumentation Layer) 管理対象のリソースに対応した JavaBean ベースのクラスを定義します。この JavaBean は MBean と呼ばれます。リソースへのアクセスはこの MBean を経由して行われます。MBean に は、属性・操作・通知のインターフェースがあります。 • 管理エージェントレイヤー(Agent Layer) 管理計測レイヤーの MBean のコンテナーとなる MBean Server を規定します。管理対象となる MBean はこの管理エージェントレイヤーの MBean サーバーに登録されることで、管理のオペレ ーションを実行できます。 - 49 - • 分散サービスレイヤー(Distributed Service Layer) コネクターやアダプターを通して管理エージェントレイヤーの MBean サーバーと通信を行う管理 用のインターフェースを提供します。現行レベルの JMX の使用ではこのレイヤーの実装について は特に規定されていないため、管理ツールを提供するベンダーが自由に実装する部分になりま す。 図 1-8 JMX アーキテクチャー WAS は JMX を実装しています。WAS の全ての管理対象リソースは MBean として登録されており、分 散サービスレイヤーを通して管理することが可能です。JMX エージェントレイヤーにアクセスするコネク ターは、SOAP JMX Connector と RMI/IIOP JMX Connector がサポートされています。 ノード上のすべてのサーバーの MBean はそのノード・エージェントを介して表示され、すべてのノード 上の MBean はデプロイメント・マネージャーを介して表示されます。したがって、デプロイメント・マネージ ャーに接続することで、セル内の任意の MBean に対する属性の取得および設定、操作の呼び出し、通 知の受信を行うことができます。 1-3-4-2 JMX プログラムの プログラムの開発 ここでは、JMX を利用する管理クライアント・プログラムの開発方法について説明します。詳細は下記 の InfoCenter の記載を参照ください。 InfoCenter「管理クライアント・プログラムの開発」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/tjmx_develop.html 5). AdminClient インスタンスの作成 - 50 - AdminClient は SOAP コネクターや RMI コネクターを利用して、MBean サーバーに接続する際 に使用されるインターフェースです。AdminClient インターフェースの実装クラスを取得するため には、com.ibm.websphere.management.AdminClientFactory クラスの createAdminClient(java.util. Properties props)メソッドを使用します。引数で渡すプロパティーは、MBean サーバーへの接続 に必要な情報です。例えば、使用するコネクタータイプ、接続先ホスト名、接続先ポート番号など です。以下は、AdminClient インスタンスを生成するサンプルです。 java.util.Properties connectProps = new java.util.Properties(); connectProps.setProperty(AdminClient.CONNECTOR_TYPE, AdminClient.CONNECTOR_TYPE_SOAP); connectProps.setProperty(AdminClient.CONNECTOR_HOST, "localhost"); connectProps.setProperty(AdminClient.CONNECTOR_PORT, "8879"); AdminClient adminClient = AdminClientFactory.createAdminClient(connectProps); 6). MBean の取得 MBean を一意に識別するために ObjectName を使用します。javax.management.ObjectName クラ スは「ドメイン名」と「順番の決められていない属性と値のセット」の 2 つから構成されています。ド メイン名は WAS では、「WebSphere」となります。属性と値のセットは MBean を指定する属性と値 のセットで、「property=value」で指定します。少なくとも一つのプロパティーと値を持ちます。複数 ある場合でも順番は考慮する必要はありません。ObjectName の詳細は、「AdminControl による 稼動オブジェクトの操作 (p.20)」を参照ください。以下は、ノード・エージェントの MBean を取得 するサンプルです。 String nodeName = "MyNode"; String query = "WebSphere:type=NodeAgent,node=" + nodeName + ",*"; ObjectName queryName = new ObjectName(query); ObjectName nodeAgent = null; Set s = adminClient.queryNames(queryName, null); if (!s.isEmpty()) nodeAgent = (ObjectName)s.iterator().next(); else System.out.println("Node agent MBean was not found"); 7). MBean の使用 特定の MBean ができることは、その MBean の管理インターフェースによります。MBean に対し て、以下のことを行うことができます。 MBean の持つ属性値の取得または変更 MBean の持つメソッドに対して操作の実行 MBean のイベントを登録し、そのイベントの発生のモニター 各 MBean が持つ属性値、メソッド、イベントの詳細は下記の MBean の一覧を参照ください。 InfoCenter「MBean Interfaces」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.webspher e.javadoc.doc/public_html/mbeandocs/index.html 以下は、ノード・エージェントの launchProcess メソッドを実行し、アプリケーション・サーバーを起 動するサンプルです。 String opName = "launchProcess"; String signature[] = { "java.lang.String" }; String params[] = { "MyServer" }; try{ - 51 - adminClient.invoke(nodeAgent, opName, params, signature); }catch (Exception e){ System.out.println("Exception invoking launchProcess: " + e); } 管理クライアントのプログラム例は下記の InfoCenter の記載を参照してください。 InfoCenter「管理クライアント・プログラム例」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/rjmx_adminclient.html 1-4 バックアップ、 バックアップ、リストア バックアップ・リストアの目的は、ハードウェア、ソフトウェア障害などの不測の事態によるシステムダウ ン時に、元の状態に復旧することです。 WAS Base を利用した単体構成の場合、そのマシンに障害が発生し、アプリケーション・サーバーが 停止した場合、その間ユーザーサービスが停止してしまいますので、迅速な復旧計画を立てておくこと が必要です。また、WAS ND を利用し、複数台のマシンを使用した水平クラスター構成などを構築した 場合にも、デプロイメント・マネージャーがダウンしていると構成の変更・確認やアプリケーションの更新 などを行うことができません。また、複数台のマシンを使用し、たとえ障害の発生したマシンを停止してユ ーザーサービスを継続できる場合でも、障害の発生したマシンを復旧する必要がありますので、バックア ップ・リストア方法を事前に検討する必要があります。 バックアップ・リストアの運用を検討する上で、以下のような点を考慮する必要があります。 • バックアップ取得ファイル • バックアップ取得先 • バックアップ取得のタイミング • バックアップの保管期間・世代 本資料では、バックアップ取得ファイルとバックアップ取得タイミングを説明します。ローカルまたはリ モートのどのような媒体にバックアップを取得するかのバックアップ取得先やバックアップの保管期間・ 世代を検討することも重要です。 1-4-1 バックアップの バックアップのタイミング バックアップの取得が必要と考えられるタイミングは以下のときです。 各ノードのバックアップ ノードの構成直後 RefreshPack などの修正プログラムの適用前・後 • デプロイメント・マネージャーのバックアップ ノードの構成直後 RefreshPack などの修正プログラムの適用前・後 構成情報の変更前・後 ここで、ノードの構成直後とは、addNode コマンドや管理コンソールを使用して、ノードをセルに統合し た後を意味します。また、構成情報の変更とは、アプリケーション・サーバーの作成、データソースの設 定などのパラメーター変更、アプリケーションのインストール・更新などを実施し、マスター構成リポジトリ ーの保管を実施する場合です。 • - 52 - また、WAS Base を利用した単体構成の場合は、デプロイメント・マネージャーと同様に、RefreshPack などの修正プログラムの適用前・後と構成情報の変更前・後にバックアップを取得することをお勧めしま す。 1-4-2 バックアップ方法 バックアップ方法 バックアップ取得の方法として、V6.1 では以下に挙げる 3 種類の方法を提供しています。 ・ WAS が提供するコマンドである backupConfig コマンドを使用する方法 ・ <Profile_root>ディレクトリー配下のファイルシステムをまるごとバックアップする方法 ・ manageprofiles.sh(bat) –backupProfile コマンドを使用してプロファイル単位でバックアップする 方法。 backupConfig コマンドは<Profile_root>/config ディレクトリー配下の構成情報を zip ファイルにアーカ イブします。/config ディレクトリーだけでなく、/bin ディレクトリーや/properties ディレクトリー内のファイル にも、セルの情報が含まれていますので、<Profile_root>ディレクトリー配下のファイルシステムを Unix/Linux であれば tar ファイルで、Windows であれば zip ファイルでバックアップ、または Tivoli Storage Manager などを使用してバックアップする方法をお勧めします。 manageprofiles.sh(bat) –backupProfile コマンドでは、<Profile_root>ディレクトリー以下の全てのディレ クトリー、ファイルを対象としています。そのため、バックアップ取得作業を短縮する事が出来るようになり ました。但し、 backupConfig.sh(bat)がプロセスを止めずに行えるオプション(-nostop)を備えているのに 対して、プロファイルのバックアップは必ず関連するプロセスを停止する必要があります。 ユーザー独自に取得した SSL キーファイルの保存場所など本番環境に必要なすべてのファイルが、 必 ず し も <Profile_root> デ ィ レ ク ト リ ー 配 下 に 保 管 さ れ る わ け で は あ り ま せ ん の で 、 Tivoli Storage Manager などを使用したシステム全体のバックアップを取得するツールの使用がもっとも推奨されます。 1-4-2-1 backupConfig の使用方法 backupConfig コ マ ン ド を 実 行 す る こ と に よ り 、 実 行 し た プ ロ フ ァ イ ル デ ィ レ ク ト リ ー の <Profile_root>/config ディレクトリー配下のサブフォルダ、ファイルを zip ファイルにアーカイブします。 backupConfig コマンドの実行構文は以下のとおりです。 # ./backupConfig.sh(.bat) [backup_file_name] [options] コマンド実行時に、バックアップファイルのファイル名を指定します。バックアップファイル名を指定しな い場合には、コマンドを実行したディレクトリーに「WebSphereConfig_yyyy-mm-dd.zip」などの固有の名 前でバックアップファイルが作成されます。backupConfig コマンドのその他のオプションの詳細について は、InfoCenter の記載を参照ください。 InfoCenter「backupConfig コマンド」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/rxml_backupconfig.html 以下に backupConfig コマンドの実行例を示します。 例 1-41 backupConfig コマンドの実行例 # cd /opt/WebSphere61/AppServer/profiles/Dmgr01/bin # ./backupConfig.sh /var /var/share/DMConfig_200 var/share/DMConfig_2006 /share/DMConfig_2006-1212-06.zip ADMU0116I: ツール情報はファイル /opt/WebSphere61/AppServer/profiles/Dmgr01/logs/backupConfig.log に記録されています - 53 - ADMU0128I: Dmgr01 プロファイルを使用してツールを開始しています ADMU5001I: 構成ディレクトリー /opt/WebSphere61/AppServer/profiles/Dmgr01/config をファイル /var/share/DMConfig_2006-12-06.zip にバックアップしています ADMU0505I: 構成でサーバーが検出されました: ADMU0506I: サーバー名: dmgr ADMU2010I: ノード host1CellManager01 のすべてのサーバー・プロセスを停止します ADMU0510I: サーバー dmgr の現在のステータス: STOPPED .............................................................................................. .............................................................................................. .............................................................................................. .............................................................................................. .............................................................................................. .............................................................................................. .............................................................................................. ........... ADMU5002I: 669 個のファイルが正常にバックアップされました # 尚、backupConfig コマンドの使用における注意点として、以下のような点があります。 • backupConfig コマンドで取得したバックアップ情報はホスト名/IP アドレスが異なるノードにはリス トアできませんので、複数マシン構成の場合、それぞれのノードでバックアップを行う必要がありま す。 • バックアップ取得時には、自動的にそのノードで稼動するデプロイメント・マネージャー、ノード・エ ージェント、アプリケーション・サーバーのプロセスが停止されます。デプロイメント・マネージャー・ ノードのバックアップを行うときには、デプロイメント・マネージャープロセスが停止され、カスタム・ プロファイル・ノードのバックアップを行うときには、ノード・エージェントとそのノード上で稼動するア プリケーション・サーバー・プロセスが停止されます。backupConfig コマンドの-nostop オプション を使用して、プロセスを停止せずにバックアップを取得することもできますが、バックアップ取得時 に構成リポジトリーが変更されると不整合が発生し、リストアできませんので、注意が必要です。 • バックアップ取得時に停止されたプロセスは自動的には起動しませんので、バックアップ終了後、 手動で起動する必要があります。 • 構成ファイル以外にもバックアップが必要なファイルがあります。下記のディレクトリーのバックア ップの取得が必要です。それ以外にも、SSL を設定している場合のキーファイルなどは別途バッ クアップを取得する必要があります。 <Profile_root>/bin <Profile_root>/etc <Profile_root>/properties - 54 - 1-4-2-2 manageprofiles.sh(bat) –backupProfile の使用方法 manageprofiles.sh(bat) –backupProfile コマンドを実行することにより、<Profile_root>ディレクトリー以下 の全てのディレクトリー、ファイルをアーカイブ対象としています。manageprofiles.sh(bat) –backupProfile コマンドの実行構文は以下のとおりです。 # manageprofiles.sh(bat) backupProfile -profileName [profile_name] -backupFile [backupFile_name] コマンド実行時に、バックアップファイルのファイル名を指定します。バックアップファイル名を指定しな い場合には、コマンドを実行したディレクトリーに「WebSphereConfig_yyyy-mm-dd.zip」などの固有の名 前でバックアップファイルが作成されます。manageprofiles コマンドのその他のオプションの詳細につい ては、InfoCenter の記載を参照ください。 InfoCenter「manageprofiles コマンド」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.is eries.doc/info/iseriesnd/ae/rxml_manageprofiles.html 以下に backupConfig コマンドの実行例を示します。 例 1-42 1-2-2-2 manageprofiles.sh(bat) –backupProfile コマンドの実行例 # cd /opt/WebSphere61/AppServer/profiles/Dmgr01/bin # ./manageprofiles.sh -backupProfile -profileName Dmgr01 -backupFile /var/share/DMProfile_2006var/share/DMProfile_2006-1212-06.zip INSTCONFSUCCESS: 正常終了: プロファイル・バックアップ操作は正常終了しました。 # 尚、manageprofiles.sh(bat) –backupProfile コマンドの使用における注意点として、以下のような点があ ります。 • manageprofiles.sh(bat) –backupProfile コマンドで取得したバックアップ情報はホスト名/IP アド レスが異なるノードにはリストアできませんので、複数マシン構成の場合、それぞれのノードでバッ クアップを行う必要があります。 • バックアップ取得時には、バックアップするプロファイルを使用しているサーバーを停止する必要 があります。(自動的にそのノードで稼動するデプロイメント・マネージャー、ノード・エージェント、 アプリケーション・サーバーのプロセスは停止されませんので、ご注意ください)。 1-4-3 リストア方法 リストア方法 <Profile_root>ディレクトリー配下のファイルシステムをまるごとバックアップした場合には、そのファイ ルをもとのディレクトリーに展開します。 backupConfig コマンドで取得したバックアップファイルをリストアするには、restoreConfig コマンドを使 用します。このコマンドを実行することにより、backupConfig コマンドで取得した zip ファイルから各ノード の構成情報を復元します。restoreConfig コマンドの実行構文は以下のとおりです。 # ./restoreConfig.sh(.bat) backup_file_name [options] コマンド実行時には、バックアップファイルのファイル名を必ず指定する必要があります。restoreConfig コマンドのその他のオプションの詳細については、InfoCenter の記載を参照ください。 InfoCenter「restoreConfig コマンド」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.d oc/info/ae/ae/rxml_restoreconfig.html 以下に restoreConfig コマンドの実行例を示します。 例 1-43 restoreConfig コマンドの使用例 # cd /opt/WebSphere61/AppServer/profiles/Dmgr01/bin /opt/WebSphere61/AppServer/profiles/Dmgr01/bin - 55 - # ./restoreConfig.sh /var/share/DMConfig_2006/var/share/DMConfig_2006-1212-06_1.zip ADMU0116I: ツール情報はファイル /opt/WebSphere61/AppServer/profiles/Dmgr01/logs/restoreConfig.log に記録されています ADMU0128I: Dmgr01 プロファイルを使用してツールを開始しています ADMU0505I: 構成でサーバーが検出されました: ADMU0506I: サーバー名: dmgr ADMU2010I: ノード host1CellManager01 のすべてのサーバー・プロセスを停止します ADMU0510I: サーバー dmgr の現在のステータス: STOPPED ADMU5502I: ディレクトリー /opt/WebSphere61/AppServer/profiles/Dmgr01/config はすでに存在しています。/opt/WebSphere61/AppServer/profiles/Dmgr01/config.old に名前変更します ADMU5504I: 復元ロケーションは正常に名前変更されました ADMU5505I: ファイル /var/share/DMConfig_2006-12-06_1.zip をロケーション /opt/WebSphere61/AppServer/profiles/Dmgr01/config に復元しています .............................................................................................. .............................................................................................. .............................................................................................. .............................................................................................. .............................................................................................. .............................................................................................. .............................................................................................. ...........ADMU5506I: 669 個のファイルが正常に復元されました ADMU6001I: アプリケーション準備を開始します ADMU6009I: 処理が完了しました。 # 尚、restoreConfig コマンドの使用における注意点として、以下のような点があります。 • <Profile_root>/config ディレクトリー以外のバックアップファイルの復元も必要です。 • リストアは同一ホスト名/IP アドレスのノードに対してのみ可能です。 既存の構成ディレクトリーが存在している場合、既存のディレクトリーの名前が変更されてから復元が開 始されます。実行例では、<Profile_root>/config ディレクトリーが<Profile_root>/config.old に変更されて から復元が始まっています。 manageprofiles.sh(bat) –backupProfile コマンドで取得したバックアップファイルをリストアするには、 manageprofiles.sh(bat) –restoreProfile コマンドを使用します。manageprofiles.sh(bat) –restoreProfile コ マンドの実行構文は以下のとおりです。 # manageprofiles.bat(sh) -restoreProfile -backupFile [file_name] コマンド実行時には、バックアップファイルのファイル名を必ず指定する必要があります。manageprofiles コマンドのその他のオプションの詳細については、InfoCenter の記載を参照ください。 InfoCenter「manageprofiles コマンド」 - 56 - http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.is eries.doc/info/iseriesnd/ae/rxml_manageprofiles.html 以下に manageprofiles.bat(sh) -restoreProfile コマンドの実行例を示します。 例 1-44 manageprofiles.sh(bat) –backupProfile コマンドの使用例 # cd /opt/WebSphere61/AppServer /opt/WebSphere61/AppServer/bin here61/AppServer/bin # ./manageprofiles.sh -restoreProfile restoreProfile -backupFile /var/share/DMProfile_2006/var/share/DMProfile_2006-1212-06.zip INSTCONFSUCCESS: 正常終了: プロファイルは正常に復元されました。 # 尚、manageprofiles.sh(bat) –backupProfile コマンドの使用における注意点として、以下のような点があり ます。 • リストアは同一ホスト名/IP アドレスのノードに対してのみ可能です。 • リストア時には、リストアするプロファイルは削除されている必要があります。また、そのプロファイ ルのディレクトリも空になっている必要があります。そのプロファイルが存在していた場合は、以下 のようなエラーが出ます。 # cd /opt/WebSphere61/AppServer/bin # ./manageprofiles.sh -restoreProfile -backupFile /var/share/DMProfile_2006/var/share/DMProfile_2006-1212-06.zip ディレクトリーを使用できません。/opt/WebSphere61/AppServer/profiles/Dmgr01 ディレクトリーは存在 し、空ではありません。 INSTCONFFAILED: プロファイルを復元できません。詳しくは、 /opt/WebSphere61/AppServer/logs/manageprofiles/restoreProfile.log を参照してください。 # プロファイルの削除は manageprofiles.sh(bat) –deteteProfile で行うことが可能です。また、すべての定義 済みプロファイルのリストは manageprofiles.sh(bat) –listProfiles で行うことが可能です。以下にコマンドの 実行例を示します。 # cd /opt/WebSphere61/AppServer/bin # ./manageprofiles.sh -listProfiles [Dmgr01, Custom01, Custom02, Custom03] # ./manageprofiles.sh -delete -profileName Dmgr01 INSTCONFSUCCESS: 正常終了: プロファイルはもう存在しません。 # 1-4-4 構成情報の 構成情報のエクスポート・ エクスポート・インポート WAS V6.1 では、wsadmin のコマンドで、ある特定のプロファイルまたはサーバーの構成情報を zip フ ァイル(ファイルの拡張子は.car を推奨)にアーカイブし、エクスポート・インポートする機能があります。ア ーカイブされたファイルには、環境に依存するホスト名やノード名が含まれていませんので、ホスト名の 異なるマシンにインポートすることが可能です。別のマシンに WAS の環境を移行する場合に、ノードや アプリケーション・サーバーの再構築を簡単に実行可能です。 コマンドのその他のオプションの詳細については、InfoCenter の記載を参照ください。 InfoCenter「AdminTask オブジェクトの ConfigurationArchiveOperations グループのコマンド」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base .doc/info/aes/ae/rxml_atconfigarchive.html - 57 - プロファイルのエクスポート・インポートは、シングルノード・シングルサーバー環境のみサポートされて います。よってアプリケーション・サーバープロファイルのみが対象となります。Web サーバーがノードに 含まれているとエクスポートが出来ませんので、必ず管理外にする必要があります。プロファイルのエク スポート時の構成アーカイブに含まれているのは、サーバー構成情報やデプロイされているアプリケー ションなど、プロファイルに含まれる構成情報です。インポート時にはターゲットとして指定した既存プロ ファイルを構成アーカイブファイルが上書きする形になりますが、ターゲットとなるプロファイルの情報の うち、インストールディレクトリ、ホスト名、サーバー名、ポートなどのプロファイル特有の情報は保持され ます。インポート、エクスポート時ともに、アーカイブファイルのパス名のみ指定します。 • exportWasprofile : プロファイルの構成情報をエクスポート 構文 : wsadmin>AdminTask.exportWasprofile(‘[-archive ArchiveFile_Name.car]’) • importWasprofile : プロファイルの構成情報をインポート 構文 : wsadmin>AdminTask.importWasprofile(‘[-archive ArchiveFile_Name.car]’) 例 1-45 アプリケーション・サーバープロファイルの構成情報のエクスポート・インポート # cd /opt/WebSphere61/AppServer/profiles/AppSrv01/bin # ./wsadmin.sh -lang jython WASX7209I: ノード wpi05Node01 のプロセス "server1" に、SOAP コネクターを使って接続しました。プ ロセスのタイプは UnManagedProcess です。 WASX7031I: ヘルプを表示するには、"print Help.help()" と入力してください。 wsadmin>AdminTask.exportWasprofile('[ AdminTask.exportWasprofile('[AdminTask.exportWasprofile('[-archive /var/share/AppSrv01.car]') '' wsadmin> # cd /opt/WebSphere61/AppServer/profiles/AppSrv0 /opt/WebSphere61/AppServer/profiles/AppSrv02 re61/AppServer/profiles/AppSrv02/bin # ./wsadmin.sh -lang jython jython WASX7209I: ノード wpi05Node02 のプロセス "server1" に、SOAP コネクターを使って接続しました。プ ロセスのタイプは UnManagedProcess です。 WASX7031I: ヘルプを表示するには、"print Help.help()" と入力してください。 wsadmin>AdminTask. AdminTask.import AdminTask.importWasprofile('[ importWasprofile('[Wasprofile('[-archive /var/share/AppSrv01.car]') '' wsadmin>AdminConfig.save AdminConfig.save() AdminConfig.save() '' wsadmin> サーバー構成のエクスポートはアプリケーションサーバー・プロファイルとカスタム・プロファイルのどち らも対象となります。サーバーの構成情報のインポートでは、アーカイブファイルに基づいて新しいアプ リケーション・サーバーを作成します。しかし、アプリケーションサーバー・プロファイルはサーバーの新 規作成が機能として提供されていないため、インポートはカスタム・プロファイルを対象としてください。イ ンポート時の-serverName オプションは省略可能で、省略時にはエクスポートしたアプリケーション・サー バーの名前が使用されます。サーバー構成のエクスポート時の構成アーカイブにはデプロイされている アプリケーションや環境に依存するホスト名・ノード名などの情報は含まれていません。 • exportServer : アプリケーション・サーバーの構成情報をエクスポート 構文 : wsadmin>AdminTask.exportServer(‘[-archive ArchiveFile_Name.car -nodeName Node_name -serverName ApplicationServer_name]’) • importServer : アプリケーション・サーバーの構成情報をインポート - 58 - 構文 : wsadmin>AdminTask.importServer(‘[-archive ArchiveFile_Name.car -nodeName Node_name -serverName ApplicationServer_name]’) 1-5 ログ運用 ログ運用 この節では、WAS のログにはどのようなログがあり、その概要とファイルサイズの設定などについて説 明します。WAS のログでは、行われた操作や発生したエラー日時と内容などを記録します。WAS のログ は障害発生時の問題判別・原因分析に使用します。ログの記述内容からの問題判別の詳細は「第 3 部 問題判別」の章を参照ください。 1-5-1 WAS のログの ログの種類 WAS のログは、<WAS_root>/logs ディレクトリーと<Profile_root>/logs ディレクトリーにまとめられていま す。<WAS_root>/logs ディレクトリーには、WAS のインストール時、プロファイル作成時、RefreshPack など の修正プログラム適用時のログが保管されます。<Profile_root>/logs ディレクトリーにはノード単位およ びプロセス単位のログがあり、通常運用時の情報が記録されます。ノード単位およびプロセス単位の各 ログのロケーションの概要をエラー エラー! エラー 参照元が 参照元が見つかりません。 つかりません。に示します。 セル ノード A ・IBM保守ログ(activity.log) ・コマンド系ログ(addNode.logなど) <DM_Profile_ root>/logs デプロイメント・ マネージャー dmgr ・JVMログ(SystemOut.log , SystemErr.log) ・プロセスログ(native_stdoutlog , native_stderr.log) ・コマンド系ログ (startServer.logなど) ノード B FFDC ・FFDCログ (server1_****************.txtなど) ノード・エージェント <Custom_Profile _root>/logs Application Server1 Application Server2 nodeagent server1 server2 ・IBM保守ログ(activity.log) ・コマンド系ログ(addNode.logなど) ・JVMログ(SystemOut.log , SystemErr.log) ・JVMログ(SystemOut.log , ・プロセスログ(native_stdoutlog SystemErr.log) ・JVMログ(SystemOut.log , , native_stderr.log) ・プロセスログ(native_stdoutlog SystemErr.log) ・コマンド系ログ , native_stderr.log) ・プロセスログ(native_stdoutlog (startServer.logなど) ・コマンド系ログ , native_stderr.log) (startServer.logなど) ・コマンド系ログ (startServer.logなど) FFDC ・FFDCログ (server1_****************.txtなど) 図 1-9 WAS のログのロケーション • 以下に各ログの概要を説明します。 JVM ログ(SystemOut.log、SystemErr.log) - 59 - JVM ログはアプリケーションの挙動やプロセスの稼動状況を記載した解析の際に最も参照する 頻度の高いログファイルで、ファイル名は SystemOut.log および SystemErr.log となります。JVM ログはアプリケーション・サーバーだけではなくノード・エージェントやデプロイメント・マネージャー など各プロセス単位で存在し、それぞれのプロセスの名前が付けられたディレクトリー (<Profile_root>/logs/<process_name>)に出力されます。JVM ログには、それぞれのサーバー における System.out.print()の実行結果である標準出力や標準エラー出力が記録されます。 JVM ログはサイズもしくは時間で新規のファイルを自動作成する循環ログです。 SystemOut.log のデフォルト設定 ログファイル名 SystemOut.log 設定変更可 ログ出力先 <Profile_root>/logs/<process_name> 設定変更可 循環設定 ファイルサイズ 1MB で循環 ファイルサイズの変更、時間単 位での循環にも設定変更可 保管世代数 書き込んでいるファイル以外に 1 世代 設定変更可 設定パス [トラブルシューティング]→[ログおよびトレース] →[Process_name]→[JVM ログ] SystemErr.log のデフォルト設定 ログファイル名 SystemErr.log 設定変更可 ログ出力先 <Profile_root>/logs/<process_name> 設定変更可 循環設定 ファイルサイズ 1MB で循環 ファイルサイズの変更、時間単 位での循環にも設定変更可 保管世代数 書き込んでいるファイル以外に 1 世代 設定変更可 設定パス [トラブルシューティング]→[ログおよびトレース] SystemOut と同様 →[Process_name]→[JVM ログ] • プロセスログ(native_stdout.log、native_stderr.log) プ ロ セ ス ・ ロ グ は ネ イ テ ィ ブ ・ コ ー ド や JVM 自 身 の 出 力 が 記 録 さ れ ま す 。 フ ァ イ ル 名 は native_stdout.log および native_stderr.log です。これらプロセスログは JVM ログと同じディレクト リーに出力されます。WAS V5 から SystemOut.log への出力は、プロセスログへは出力されない ようになりました。JVM の冗長ガーベッジ・コレクションを設定した場合、その出力はデフォルトで native_stderr.log に記録されます。プロセス・ログは循環しませんので運用の場合は注意が必要 ですが、JVM ログに比べてファイルの増加率は小さいです。 native_stdout.log のデフォルト設定 ログファイル名 native_stdout.log 設定変更可 ログ出力先 <Profile_root>/logs/<process_name> 設定変更可 循環設定 設定変更不可 保管世代数 -(書き込んでいるファイルのみ) 設定変更不可 設定パス [トラブルシューティング]→[ログおよびトレース] →[Process_name]→[プロセスログ] native_stderr.log のデフォルト設定 ログファイル名 native_stderr.log 設定変更可 ログ出力先 <Profile_root>/logs/<process_name> 設定変更可 循環設定 設定変更不可 保管世代数 -(書き込んでいるファイルのみ) 設定変更不可 設定パス [トラブルシューティング]→[ログおよびトレース] native_stdout.log と同様 →[Process_name]→[プロセスログ] • IBM 保守ログ(activity.log) - 60 - JVM ログに詳細な情報を追加したログです。バイナリー形式で記録されているため、表示するに はログ・アナライザーを使用します。 avtivity.log のデフォルト設定 ログファイル名 activity.log 設定変更可 ログ出力先 <Profile_root>/logs/ 設定変更可 循環設定 ファイルサイズ 2MB で循環 ファイルサイズの設定変更可 保管世代数 -(書き込んでいるファイルのみ) 設定変更不可 設定パス [トラブルシューティング]→[ログおよびトレース] →[Process_name]→[IBM 保守ログ] • FFDC ログ(<process_name>_*******.log) FFDC ログの FFDC とは First Failure Data Capture の略で、全てのシステムエラー情報を発生 時点で自動的に記録するツールです。このツールによって作成された FFDC ログは、サポートセ ンターや開発部門が障害時に見て分析を行うためのものです。ログはプロセス単位のディレクトリ で は な く 、 <Profile_root>/logs/ffdc と い う デ ィ レ ク ト リ に 出 力 さ れ ま す 。 フ ァ イ ル 名 は <process_name>_****.log(例:server1_5c655712_04.11.18.2327.48_0.txt)となります。サー バー起動中に発生した例外情報の統計を管理する<process_name>_exception.log というログ ファイルも/ffdc ディレクトリに作成されます。 FFDC ログのデフォルト設定 ログファイル名 <process_name>_*******.log の複数のファイル 設定変更不可 ログ出力先 <Profile_root>/logs/FFDC 設定変更不可 循環設定 設定変更不可 保管世代数 設定変更不可 設定パス <WAS_root>/properties/ffdc****.properties 基本的には設定変更しない 1-5-2 HTTP トランスポートログの トランスポートログの取得方法 HTTP トランスポート・ログはアプリケーション・サーバーの Web コンテナーの HTTP トランスポート(例 えばポート 9080)に対するアクセスを記録するログで、Web サーバーログと同等のものです。ファイル名 は http_access.log および http_error.log です。これらのログは JVM ログと同様に、それぞれのプロセスの 名前が付けられたディレクトリー(<Profile_root>/logs/<process_name>)に出力されます。ログは管理ポ ート(ポート 9060)に対しても取得することができます。 HTTP トランスポートログはデフォルトでは取得されません。取得する場合は以下の設定を行う必要が あります。 8). HTTP トランスポートのリクエストおよびエラーをロギングするかの定義は、HTTP トランスポー ト・チャネルの設定で行います。管理コンソールで、[サーバー サーバー]→ アプリケーション・ サーバー →[アプリケーション アプリケーション・サーバー] サーバー →[ApplicationServer_name]→ →[コンテナー コンテナー設定 コンテナー設定]→ 設定 →[Web コンテナー・ コンテナー・トランスポート・ トランスポート・チェー ン]→ →[TransportChain_name]→ →[HTTP インバウンド・ [HTTP インバ インバウンド・チャネル]を選択します。[ チャネル ウンド・ [アクセス・ ウンド・チャネル] チャネル]の一般プロパティー最下段の[ アクセス・ロギングおよび ロギングおよびエラーロギング およびエラーロギングを エラーロギングを使 用可能にする エラー! 用可能にする] にする]のチェックボックスを有効にします。(エラー エラー 参照元が 参照元が見つかりません。 つかりません。参照)。 9). 続いて、アクセス・ログとエラー・ログを構成を設定する必要があります。[ [HTTP インバウンド・ インバウンド・ チャネル] 関連項目]→ チャネル]の設定画面の[関連項目 関連項目 →[HTTP エラーおよび エラーおよび NCSA アクセス・ アクセス・ロギング]をクリック ロギング します。[HTTP エラーおよび エラーおよび NCSA アクセス・ アクセス・ロギング]のプロパティー画面が表示されます ロギング (エラー エラー! サーバー始動時 エラー 参照元が 参照元が見つかりません。 つかりません。参照)。[サーバー サーバー始動時に 始動時にサービスを サービスを使用可能にする 使用可能にする]の にする チェックボックスを有効にします。このチェックボックスはデフォルトでは、オフに設定されていま す。[アクセス アクセス・ アクセス・ロギング ロギングを ングを使用可能にする 使用可能にする]、[エラー にする エラー・ エラー・ロギングを ロギングを使用可能にする 使用可能にする]のチェックボッ にする - 61 - クスはともに ON になっていますが、どちらか片方のみを有効にすることもできます。また、ログ ファイルのファイルサイズやフォーマット、ファイル名なども変更することが可能です。 HTTP トランスポート・ログの設定値の詳細は下記の InfoCenter の記載を参照ください。 InfoCenter「HTTP エラーおよび NCSA アクセス・ログ設定」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.nd.doc/info/ae/a e/utrb_httperrlogs.html 図 1-10 HTTP トランスポート・ログ設定(1) - 62 - 図 1-11 HTTP トランスポート・ログ設定(2) 1-5-3 IHS、 、プラグインの プラグインのログの ログの種類 IHS とプラグインのログファイルについて説明します。デフォルトでは、IHS のログは<IHS_root>/logs ディレクトリーに、プラグインのログは<Plugin_root>/logs ディレクトリーに保管されます。 • IHS ログ(access.log、error.log) IHS ログは Web サーバーを IHS とした場合に出力されるログです。ログには 2 種類あり、 access.log はブラウザー・クライアントなどが http/https で IHS にリクエストしてきたものに対し、 IHS のリプライコードなどを記載します。これはヒットカウントの集計などによく使用されるログで す。error.log はリクエストのエラー情報、および IHS 自身のエラー情報を記載します。これらのロ - 63 - グはデフォルトで<IHS_root>/logs に記載されますが、httpd.conf トやロケーション、レベル、ログ退避指定などを変更可能です。 access.log のデフォルト設定 ログファイル名 access.log ログ出力先 <IHS_root>/logs/ 循環設定 - 保管世代数 設定パス <IHS_root>/conf/httpd.conf error.log のデフォルト設定 ログファイル名 error.log ログ出力先 <IHS_root>/logs/ 循環設定 - の編集によりログのフォーマッ 設定変更可 設定変更可 rotatelogs プログラムを使用す ることにより、循環設定可能 設定変更可 設定変更可 rotatelogs プログラムを使用す ることにより、循環設定可能 保管世代数 設定パス <IHS_root>/conf/httpd.conf rotatelogs プログラムの詳細は、下記サイトを参照ください。 Apache ドキュメント「rotatelogs - Piped logging program to rotate Apache logs」 http://httpd.apache.org/docs/2.0/ja/programs/rotatelogs.html • プラグイン・ログ(http_plugin.log) プラグイン・ログは WAS プラグイン・コンポーネントが出力するログで、Web サーバーと WAS 間 の通信に問題があると思われるときに参照して問題の解析を行うためのものです。ファイル名は http_plugin.log です。WAS V6 からはプラグインの導入が別になったため、プラグイン・ログはプ ラグインの導入ディレクトリ下(<Plugin_root>/logs/WebServer_name/)に作成されます。プラグ イン・ログは、プラグインの構成情報を持つ plugin-cfg.xml ファイル内で指定されているので、そ のファイルを編集することで、出力先を変更することができます。 Web サ ー バ ー と し て IHS を 使 用 し て い る 場 合 、 IHS の 構 成 フ ァ イ ル httpd.conf の 中 の WebSpherePluginConfig デ ィ レ ク テ ィ ブ で plugin-cfg.xml フ ァ イ ル の 位 置 が 指 定 さ れ て お り 、 plugin-cfg.xml ファイルでプラグイン・ログファイルの位置が指定されています。 http_plugin-cfg.log のデフォルト設定 ログファイル名 http_plugin.log 設定変更可 ログ出力先 <Plugin_root>/logs/WebServer_name/ 設定変更可 循環設定 保管世代数 設定パス [ サ ー バ ー ] → [Web サ ー バ ー ] → [WebServer_name]→[追加プロパティー]→[プラ グイン・プロパティー]またはプラグイン構成ファ イル(plugin_cfg.xml) 1-6 障害監視 この節では、WAS のプロセスなどを監視することで、信頼性要件が満たされているかを監視する障害 監視について説明します。 - 64 - 1-6-1 java プロセス監視 プロセス監視 WAS のプロセスの状態は、WAS が提供しているコマンド serverStatus.sh(.bat)によって確認することが できます。このコマンドの構文を下記に記します。 serverStatus.sh(.bat) <server_name> | -all [options] コマンドのオプションの詳細は下記の InfoCenter の記載を参照ください。 InfoCenter「serverStatus コマンド」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.nd.doc/info/ae/a e/rxml_serverstatus.html このコマンドをを実行することによってプロセスが実行されているか、停止しているかを確認することがで きます。 例 1-46 serverStatus コマンドの使用例 # ./serverStatus.sh -all ADMU0116I: ツール情報はファイル /opt/WebSphere61/AppServer/profiles/Custom01/logs/serverStatus.log に記録されています ADMU0128I: Custom01 プロファイルを使用してツールを開始しています ADMU0503I: 全てのサーバーのサーバー状況を検索します ADMU0505I: 構成でサーバーが検出されました: ADMU0506I: サーバー名: nodeagent ADMU0506I: サーバー名: Amember11 ADMU0506I: サーバー名: webServer01 ADMU0506I: サーバー名: Bmember11 ADMU0508I: Node Agent "nodeagent" の現在のステータス: STARTED ADMU0508I: Application Server "Amember11" の現在のステータス: STARTED ADMU0508I: IHS server "webServer01" の現在のステータス: RUNNING ADMU0509I: Application Server "Bmember11" に到達できません。 停止されているようです。 # # ./serverStatus.sh Amember11 ADMU0116I: ツール情報はファイル /opt/WebSphere61/AppServer/profiles/Custom01/logs/Amember11/serverStatus.log に記録されています ADMU0128I: Custom01 プロファイルを使用してツールを開始しています - 65 - ADMU0500I: Amember11 のサーバー状況を検索します ADMU0508I: Application Server "Amember11" の現在のステータス: STARTED # WAS は java プロセスで稼動しますので、AIX の ps コマンドで java プロセスを grep することで WAS の 起動を監視できます。実行コマンドの最後にセル名、ノード名、サーバー名が表示されます。 例 1-47 ps コマンドによる java プロセスの稼動確認例 # ps -aef | grep -e PID -e java UID PID PPID C STIME root 29426 1 0 Aug 12 TTY TIME CMD - 24:04 /opt/WebSphere61/AppServer/java/b in/java -Xbootclasspath/p:/opt/WebSphere61/AppServer/java/jre/lib/ext/ibmorb.jar ・・・(途中略) com.ibm.ws.bootstrap.WSLauncher com.ibm.ws.runtime.WsServer /opt/WebSphere61/App Server/profiles/Custom01/config guideCell01 host1Node01 nodeagent root 33206 29426 0 15:38:08 - 1:53 /opt/WebSphere61/AppServer/java/b in/java -Xbootclasspath/p:/opt/WebSphere61/AppServer/java/jre/lib/ext/ibmorb.jar ・・・(途中略) uncher com.ibm.ws.runtime.WsServer /opt/WebSphere61/AppServer/profiles/Custom01/ config guideCell01 host1Node01 Amember11 root 33284 1 1 Aug 10 - 64:46 /opt/WebSphere61/AppServer/java/b in/java -Xbootclasspath/p:/opt/WebSphere61/AppServer/java/jre/lib/ext/ibmorb.jar ・・・(途中略) ootstrap.WSLauncher com.ibm.ws.runtime.WsServer /opt/WebSphere61/AppServer/profi les/Dmgr01/config guideCell01 host1CellManager01 dmgr # wsadmin によるサーバー状態の確認方法は下記の InfoCenter の記載を参照ください。 InfoCenter「スクリプトによるサーバー状態の照会」 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.nd.doc/info/ae/a e/txml_queryserver.html 1-6-2 その他 その他の監視項目 WAS もしくはその上で稼動するエンタープライズ・アプリケーションの正常稼動を確認する監視項目と して以下のような項目があります。また、CPU 使用率などのシステムリソースの使用状況を確認すること も必要です。 • ログの監視 WAS が出力するログは、問題判別用であり、監視すべき特定のメッセージはありませんが、稼働 中のアプリケーション・サーバーの状態をモニターするには System.out ログが使用されます。 SystemOut.log に は 、EventType が 出力さ れ ます の で、F ( 致 命的) また は E( エ ラー) の EventType メッセージに特に注意する必要があります。SystemOut.log の EventType や出力形 式の詳細は下記の InfoCenter の記載を参照ください。 InfoCenter「JVM ログの解釈」 - 66 - http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.nd.doc/info/ae/a e/ctrb_readmsglogs.html • Listen ポートの監視 WAS の Web コンテナーがリクエストを受け付ける HTTP トランスポート・チャネルの TCP ポート が正常に Listen を行っているかを監視することもできます。監視するポート番号を確認するには、 管理コンソールで、[サーバー サーバー]→ アプリケーション・ → サーバー →[アプリケーション アプリケーション・サーバー]→ サーバー →[ApplicationServer_name]→ [コ コンテナー設定 ンテナー設定]→ 設定 →[Web コンテナー・ コンテナー・トランスポート・ トランスポート・チェーン]→ チェーン →を選択します。Web サーバーと WAS 間の通信において、SSL を使用していない場合には「WCInboundDefault」のポート番号 を、SSL 通信を使用している場合には、「WCInboundDefaultSecure」のポート番号を確認しま す。(エラー エラー! エラー 参照元が 参照元が見つかりません。 つかりません。参照)。 図 1-12 Listen ポート番号の確認 AIX の netstat コマンドで Listen ポート番号を grep することで Web コンテナーがリクエストを受け 付けているかを監視できます。 例 1-48 netstat コマンドによる、Listen ポートの確認例 # netstat -ant | grep -e Proto -e 9080 Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp *.9080 *.* LISTEN 0 0 # • アプリケーションの稼動監視 アプリケーションの正常稼動を確認するには、アプリケーションが使用するデータベースなどのリ ソースにアクセスするヘルスチェック用のサーブレットを準備して、そのサーブレットに定期的にア クセスすることによりアプリケーションの正常稼動を確認する場合もあります。 1-7 システム停止 システム停止 この節では、システム・メンテナンスなどを行うため、WAS プロセスつまり、デプロイメント・マネージャ ー、ノード・エージェント、アプリケーション・サーバーのプロセスを停止する手順を説明します。 - 67 - 1-7-1 起動・ 起動・停止順序 デプロイメント・マネージャー、ノード・エージェント、アプリケーション・サーバーを startManager、 startNode、startServer コマンドを使用して起動する場合、起動順序には、次の制限があります。アプリケ ーション・サーバーの起動時には、そのノードのノード・エージェントが起動している必要があります。ノ ード・エージェントが起動していない状況で、アプリケーション・サーバーを起動しようとした場合、下記の エラーが表示されます。 例 1-49 ノード・エージェント停止時にアプリケーション・サーバーを起動した場合のエラー # ./startServer.sh Bmember11 ADMU0116I: ツール情報はファイル /opt/WebSphere61/AppServer/profiles/Custom01/logs/Bmember11/startServer.log に記録されています ADMU0128I: Custom01 プロファイルを使用してツールを開始しています ADMU3100I: サーバーの構成を読み取ります: Bmember11 ADMU3200I: サーバーが起動しました。 開始処理中です。 ADMU3011E: サーバーが起動しましたが、初期化に失敗しました。 /opt/WebSphere61/AppServer/profiles/Custom01/logs/Bmember11 下の startServer.log、SystemOut.log (または、z/OS のジョブ・ログ) およびその他のログ・ファイルに障害情報があると思われます。 # 例 1-50 ノード・エージェント停止時にアプリケーション・サーバーを起動した場合の SystemOut.log [05/08/16 10:33:42:524 JST] 0000000a WsServerImpl E WSVR0009E: 始動中にエラーが発生しました com.ibm.ws.exception.RuntimeError: com.ibm.ws.exception.RuntimeError: com.ibm.ejs.EJSException: Could not register with Location Service Daemon, which could only reside in the NodeAgent. Make sure the NodeAgent for this node is up an running.; nested exception is: org.omg.CORBA.ORBPackage.InvalidName: LocationService:org.omg.CORBA.TRANSIENT: java.net.ConnectException: connect 操作をしようとしましたが、リモート・ホストは拒絶しまし た。:host=host1.ise.ibm.com,port=9101 vmcid: IBM minor code: E02 completed: No コマンドを使用して、起動する場合は、上記以外の起動順序の依存関係はありません。また、 stopManager、stopNode、stopServer コマンドを使用して、プロセスを停止する場合、プロセスの停止順序 に依存関係はありません。ただし、すべてのプロセスの起動・停止を行う場合、管理コンソールなどの管 理ツールを使用した場合の起動・停止順序と合わせて、デプロイメント・マネージャー、ノード・エージェ ント、アプリケーション・サーバーの順に起動し、アプリケーション・サーバー、ノード・エージェント、デプ ロイメント・マネージャーの順に停止するのが一般的です。 管理コンソールや wsadmin の管理ツールを使用してプロセスを起動する場合、デプロイメント・マネー ジャーとノード・エージェントの起動後に、アプリケーション・サーバーを起動し、アプリケーション・サーバ ー、ノード・エージェント、デプロイメント・マネージャーの順に停止する必要があります。尚、デプロイメン ト・マネージャーとノード・エージェントの起動は、管理ツールから行うことはできませんので、コマンドか ら起動を行う必要があります。 - 68 - 1-7-2 計画停止手順 下記のようなサンプル環境で、ログのクリーンナップなどのメンテナンスを行うため、ユーザー・サービ スを継続しつつ、アプリケーション・サーバーを順に停止する運用方法を説明します。 セル ノード ノード Web サーバー1 Plugin ノード ClusterA ClusterB Webコンテナー コンテナー・ コンテナー・クラスター EJBコンテナー コンテナー・ コンテナー・クラスター アプリケーション・サーバー ClusterMemberWeb01 アプリケーション・サーバー ClusterMemberEJB01 負荷分散装置 ノード ノード ノード Web サーバー2 Plugin アプリケーション・サーバー ClusterMember02 アプリケーション・サーバー ClusterMemberEJB02 図 1-13 計画停止概要図 Web コンテナーのアプリケーション・サーバーをメンテナンスする手順の概要は以下のようになります。 10). Web サーバー1 と Web サーバー2 から、ClusterMemberWeb01 へのリクエストの割り振りを 停止 11). ClusterMemberWeb01 を停止 12). ClusterMemberWeb01 のメンテナンス作業 13). ClusterMemberWeb01 の起動 14). Web サーバー1 と Web サーバー2 から、ClusterMemberWeb01 と ClusterMemberWeb02 の両方にリクエストを割り振る最初の状態に戻す EJB コンテナーのアプリケーション・サーバーをメンテナンスする手順の概要は以下のようになります。 15). EJB ク ラ イ ア ン ト で あ る ClusterMemberWeb01 と ClusterMemberWeb02 か ら 、 ClusterMemberEJB01 へのリクエストの割り振りを停止 16). ClusterMemberEJB01 を停止 17). ClusterMemberEJB01 のメンテナンス作業 18). ClusterMemberEJB01 の起動 19). ClusterMemberWeb01 と ClusterMemberWeb02 か ら 、 ClusterMemberEJB01 と ClusterMemberEJB02 の両方にリクエストを割り振る最初の状態に戻す 尚、連続して ClusterMemberWeb02 や ClusterMemberEJB02 のメンテナンス作業が必要な場合は、上記 の手順を繰り返します。また、Web サーバーとアプリケーション・サーバーの構成が 1 対 1 構成の場合 は、複数の Web サーバーにリクエストを割り振る Edge サーバーなどの負荷分散装置で、リクエストの割り 振り制御を行います。 - 69 - 1-7-2-1 Web コンテナー・ コンテナー・クラスター・ クラスター・メンバーへの メンバーへの割 への割り振りの制御 りの制御 Web サーバーから Web コンテナー・クラスター・メンバーへのリクエストの割り振りを変更するには、クラ スター・メンバーの重みを変更します。この変更は、アプリケーション・サーバーや Web サーバーの再起 動の必要なく、動的に変更することが可能です。ただし、プラグイン構成ファイルの再生成と、Web サー バーがプラグイン構成ファイルを定期的に読み込む設定が必要です。デフォルトでは、Web サーバーは プラグイン構成ファイルを 60 秒に 1 回の間隔で再読み込みを行います。 ク ラ ス タ ー ・ メ ン バ ー の 重 み を 変 更 す る に は 、 管 理 コ ン ソ ー ル で [ サ ーバー ] → [ ク ラスター] ラスター → [Cluster_name]→ →[追加 追加プロパティー クラスター・ エラー! 追加プロパティー]→ プロパティー →[クラスター クラスター・メンバー]を選択します。エラー メンバー エラー 参照元が 参照元が見つ かりません。 構成済み かりません。のようにクラスター・メンバーに構成されている重みが[構成済 構成済みウェイト]の欄に表示されま ウェイト す。 構成済みウェイト欄の ClusterMemberWeb01 箇所に 0 を入力し、[更新 更新]ボタンを押下し、マスター構成情 更新 報に保管します。エラー エラー! 構成済み 0に エラー 参照元が 参照元が見つかりません。 つかりません。の画面に戻りますので、「構成済 構成済みウェイト」が ウェイト 変更されたことを確認します。 図 1-14 クラスター・メンバーの構成済みウェイトの変更: 更新ボタンからの変更 図 1-15 クラスター・メンバーの構成済みウェイトの変更: マスター構成の保管 - 70 - 構成済みウェイトは割り振りを停止するクラスター・メンバーのリンクをクリックして出てくるクラスター・メ ンバーのプロパティー画面でも変更が可能です。エラー エラー! エラー 参照元が 参照元が見つかりません。 つかりません。6 の画面が表示さ れますので、リクエストの割り振りを停止する場合には、[ウェイト ウェイト]欄を「0」に変更し、[OK]ボタンを押下 ウェイト し、マスター構成情報に保管します。 図 1-16 クラスター・メンバーの構成済みウェイトの変更: 構成タブからの変更 - 71 - つぎに、この構成情報の変更をプラグイン構成ファイルに反映するために、プラグイン構成ファイルを再 生成します。Web サーバーをセルに統合している場合には、管理コンソールで[サーバー サーバー]→ サーバー →[Web サー バー]を選択します(エラー エラー! バー エラー 参照元が 参照元が見つかりません。 つかりません。参照)。プラグイン構成ファイルを再生成する Web サーバーのチェック・ボックスを ON にして、[プラグイン プラグインの プラグインの生成]ボタンをクリックします。続いて、Web 生成 サーバーのチェックボックスを ON にして、[プラグイン プラグインの サーバー プラグインの伝搬]ボタンをクリックします。尚、Web 伝搬 のプラグイン・プロパティーで「プラグイン構成ファイルの自動生成」、「プラグイン構成ファイルの自動伝 搬」を有効にしている場合も、クラスター・メンバーの重みの変更は自動的にはプラグイン構成ファイル に反映されませんので注意してください。プラグイン構成ファイルに自動的に反映される変更は、アプリ ケーションのインストールや仮想ホストの定義の変更などです。 図 1-17 プラグイン構成ファイルへウェイトの変更を反映 これにより、プラグイン構成ファイルへ変更したクラスター・メンバーの重みが反映されますので、Web サ ーバーが構成ファイルを読み込んだタイミング(デフォルトは 1 分間隔で再読み込み)から、該当するクラ スター・メンバーへの新規割り振りは停止されます。 ただし、この方法では、新規リクエストは、重みが正の値を持つクラスター・メンバーに割り振られます が、すでに、セッション ID を保持しているクライアントの 2 回目以降のリクエストの場合、重みによる割り 振りより、セッション・アフィニティーの機能が優先されますので注意してください。すでにセッション ID を 保持しているクライアントについても、強制的に割り振り先を変更するには、プラグイン構成ファイルの <ServerCluster>タグ内の該当する<Server>タグ部分を削除したプラグイン構成ファイルを手動で準備 し、そのプラグイン構成ファイルを Web サーバーに読み込ませることにより実現できます。この場合、セッ ション・データを異なるクラスター・メンバーで引き継ぐには、セッション・パーシスタンスの設定を構成す る必要があります。尚、セッション・パーシスタンスによる、セッション・データの複製のタイミングには、サ ーブレット・サービスの終了ごとと時間単位で定期的に複製が行われる設定があります。すべてのセッシ ョン情報を、異なるクラスター・メンバーでアクセス可能にするには、サーブレット・サービスの終了ごとの 設定が必要ですが、パフォーマンスとのトレード・オフになりますのでご注意ください。以下に、強制的に 割り振りを停止する場合のプラグイン構成ファイルの修正例を示します。赤枠で囲った部分を削除しま す。 - 72 - 例 1-51 割り振りを強制的に停止する場合のプラグイン構成ファイルの修正例(一部抜粋) <?xml version="1.0" encoding="Shift_JIS"?> ...(途中略) <ServerCluster CloneSeparatorChange="false" IgnoreAffinityRequests="true" LoadBalance="Round Robin" Name="ClusterA" PostBufferSize="64" PostSizeLimit="-1" RemoveSpecialHeaders="true" RetryInterval="60"> <Server CloneID="11v6a3c3l" ConnectTimeout="0" ExtendedHandshake="false" LoadBalanceWeight="0" MaxConnections="-1" Name="walkuereNode02_ClusterMemberWeb01" ServerIOTimeout="0" WaitForContinue="false"> ...(一部略) </Server> <Server CloneID=“11v6a3gdl” ConnectTimeout=“0” ExtendedHandshake=“false” LoadBalanceWeight=“2” MaxConnections=“-1” Name="muenchnerkindlNode01_ClusterMemberWeb02" ServerIOTimeout="0" WaitForContinue="false"> ...(一部略) </Server> <PrimaryServers> <Server Name="walkuereNode02_ClusterMemberWeb01"/> <Server Name="muenchnerkindlNode01_ClusterMemberWeb02"/> </PrimaryServers> </ServerCluster> ...(途中略) <UriGroup Name="default_host_ClusterA_URIs"> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/tomiAppWeb/*"/> </UriGroup> <Route ServerCluster="ClusterA" UriGroup="default_host_ClusterA_URIs" VirtualHostGroup="default_host"/> ...(途中略) 要削除 要削除 尚、割り振り停止時に生成されるプラグイン構成ファイルは毎回同じですので、事前にそのファイルを 保管しておき、割り振り停止を行うときに、管理コンソールで構成済み・ウェイトを変更せずに、プラグイン 構成ファイルのみを置き換えることでも割り振り停止を行うことは可能です。 - 73 - 1-7-2-2 EJB コンテナー・ コンテナー・クラスター・ クラスター・メンバーへの メンバーへの割 への割り振りの制御 りの制御 Web コンテナーなどの EJB クライアントから EJB コンテナー・クラスター・メンバーへのリクエストの割り 振りを変更するには、クラスター・メンバーのランタイムの重みを変更します。この変更は、アプリケーショ ン・サーバーの再起動の必要なく、動的に変更することが可能です。 クラスター・メンバーのランタイムの重みを変更するには、管理コンソールで[サーバー サーバー]→ クラスター] サーバー →[クラスター クラスター →[Cluster_name]→ →[追加 追加プロパティー クラスター・ エラー! 追加プロパティー]→ プロパティー →[クラスター クラスター・メンバー]を選択します。エラー メンバー エラー 参照元が 参照元が見 つかりません。 ランタイム・ つかりません。のようにクラスター・メンバーの重みが[ランタイム ランタイム・ウェイト]の欄に表示されます。ランタイ ウェイト ム・ウェイト欄の ClusterMemberEJB01 箇所に 0 を入力し、[更新 更新]ボタンを押下し、マスター構成情報に保 更新 管します。エラー エラー! エラー 参照元が 参照元が見つかりません。 つかりません。8 の画面に戻りますので、ランタイム・ウェイトが 0 に変更さ れたことを確認します。 図 1-18 クラスター・メンバーのランタイム・ウェイトの変更: 更新ボタンからの変更 図 1-19 クラスター・メンバーの構成済みウェイトの変更: マスター構成の保管 - 74 - ここで、割り振りを停止するクラスター・メンバーのリンクをクリックし、クラスター・メンバーのプロパティー 画面で[ランタイム ランタイム]タブを選択します。エラー エラー! ランタイム エラー 参照元が 参照元が見つかりません。 つかりません。の画面が表示されますので、 リクエストの割り振りを停止する場合には、[ウェイト ウェイト]欄を「0」に変更し、[OK]ボタンを押下します。エラー エラー! ウェイト エラー 参照元が 参照元が見つかりません。 つかりません。の画面に戻りますので、ランタイム・ウェイトが 0 に変更されたことを確認しま す。 図 1-20 クラスター・メンバーの構成済みウェイトの変更: ランタイム・タブからの変更 以上で EJB リクエストの割り振り設定は完了です。EJB コンテナーへのリクエストを停止する場合には、 プラグインの再生成の必要はありません。また、Web コンテナーと EJB コンテナーが同一のアプリケーシ ョン・サーバー上で稼動しているときには、EJB リクエストは Web コンテナーと同一アプリケーション・サー バー上で稼動する EJB コンテナーで必ず処理され、EJB WLM は行われませんので、ウェイト設定によ り、EJB コンテナーのみを停止することはできませんのご注意ください。 - 75 - 1-8 管理プロセス 管理プロセス障害時 プロセス障害時の 障害時の影響 この節では、デプロイメント・マネージャーとノード・エージェントの障害時の影響について説明しま す。 1-8-1 デプロイメント・ デプロイメント・マネージャー障害時 マネージャー障害時の 障害時の影響 デプロイメント・マネージャーは、クライアント・リクエストの処理は行いません。デプロイメント・マネージ ャーは構成情報を管理します。さらに、構成情報は各ノードに複製されていますので、デプロイメント・マ ネージャーがダウンした場合も、各ノードではその影響を受けません。したがって、クライアント・リクエスト を停止させないという意味では、デプロイメント・マネージャーの冗長化は必須ではありません。 ただし、デプロイメント・マネージャーが停止した場合には、以下のような影響があります。 • 構成情報の変更を各ノード・エージェントに通知することができません。 • 管理コンソールを使用することができません。 • wsadmin ツールを使用することができません。 ただし、特定のノード・エージェントまたはアプリケーション・サーバーに接続して、そのノードまた はアプリケーション・サーバーの構成情報を変更することはできますが、デプロイメント・マネージ ャーが起動し、構成情報の同期化が行われた時点で、ローカルの構成変更は、デプロイメント・マ ネージャーが保持するマスター構成情報のデータによって上書きされます。 • デプロイメント・マネージャーを基点とした JMX ルーティングを行うことができません。 上記のような管理作業、たとえばアプリケーションの更新などを常に行えるようにするには、デプロイメ ント・マネージャーの二重化を検討する必要があります。デプロイメント・マネージャーはアプリケーショ ン・サーバーのようにクラスター構成をとることはできませんので、二重化を行うには、HACMP などの外 部のクラスタリングソフトウェアを使用する必要があります。WAS ND のデプロイメント・マネージャーがサ ポートする外部クラスターソフトウェアの詳細は下記のサポートリストを参照ください。 サポート・ページ「Supported Prerequisites」の「High Availability Solutions」の項目 http://www-306.ibm.com/software/webservers/appserv/doc/latest/prereq.html 尚、WAS V5 とは異なり、WAS V6.1 では、デプロイメント・マネージャーは EJB WLM の単一障害点で はありません。EJB WLM 情報の共有は、デプロイメント・マネージャーではなく、HA マネージャーの機 能で行われます。 - 76 - 1-8-2 ノード・ ノード・エージェント障害時 エージェント障害時の 障害時の影響 ノード・エージェントもデプロイメント・マネージャーと同様に、クライアント・リクエストの処理は行いませ ん。しかし、ノード・エージェントが停止していても、正常に稼動する環境もありますが、通常ノード・エー ジェントを停止しておくことは推奨されません。必ずしも冗長化の必要はありませんが、通常起動させて おいてください。この理由として、Location Service Daemon(LSD)は、ノード・エージェントのみで稼動し ているため、少なくとも 1 つのノード・エージェントが稼動していないと、EJB リクエストが正常に行われま せん。 ノード・エージェントが停止した場合には、以下のような影響があります。 • そのノードは構成情報の変更をデプロイメント・マネージャーから受信することができません。 • 管理コンソールや wsadmin でそのノードのパフォーマンス・データやクラスター・メンバーの重み などのランタイム・データを取得・変更できません。 • そのノード・エージェントを経由した JMX ルーティングを行うことができません。 • ノード・エージェントが起動していないと、そのノードでアプリケーション・サーバーを起動すること はできません。ただし、アプリケーション・サーバーの起動後に、ノード・エージェントを停止しても、 そのノードのアプリケーション・サーバーに影響は与えません。 • アプリケーション・サーバー・プロセスはノード・エージェントによって、監視されています。意図せ ずアプリケーション・サーバーがダウンした場合には、ノード・エージェントが自動的にアプリケーシ ョン・サーバーを起動します。ノード・エージェントが停止している場合には、この機能は稼動しま せん。 • すべてのノード・エージェントがダウンしている場合には、LSD にアクセスできない場合、EJB リク エストが正常に行われません。 - 77 -