...

1 システム システム運用

by user

on
Category: Documents
841

views

Report

Comments

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 -
Fly UP