サーバー・プロセスが異常終了した場合に、オペレーティング・システムによってモニターされ、自動的に再始動される、サーバー・プロセスがいくつかあります。
始める前に
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
Linux または サポートされている UNIX オペレーティング・システム上でこの機能をセットアップするには、inittab ファイルを編集するためのルート権限が必要です。
![[Windows]](../images/windows.gif)
Microsoft Windows オペレーティング・システムでこの機能をセットアップするには、ユーザーが管理者グループに属しており、以下の拡張ユーザー権限を備えている必要があります。
- オペレーティング・システムの一部として機能
- サービスとしてログオンする
ユーザーの ID が管理者グループに含まれている場合には、
インストール・ウィザードにより、ユーザー権限が認可されます。
Microsoft Windows オペレーティング・システムで
実行している場合、インストール・ウィザードには、
拡張ユーザー権限は有効になっているが、
次回 Windows マシンにログオンするまで有効とは表示されない旨を示すメッセージが
表示されます。
![[Windows]](../images/windows.gif)
また、
Windows オペレーティング・システムでサイレント・インストールを行う場合、
拡張ユーザー権限を手動で追加することができます。
例えば、Windows オペレーティング・システムでユーザー権限を管理者グループ・ユーザー ID に与えるには、
次の手順を実行します。
- コントロール パネルで「Administrative Tools」をクリックします。
- 「ローカル セキュリティ ポリシー」をクリックします。
- 「ローカル ポリシー」をクリックします。
- 「User Rights Assignments」をクリックします。
- 「オペレーティング・システムの一部として機能」を右クリックします。
- 「セキュリティー」をクリックします。
- 「追加」をクリックします。
- ユーザー ID をクリックします。
- 「追加」をクリックします。
- 「OK」をクリックします。
- 「OK」をクリックします。
- 「サービスとしてログオン」を右クリックします。
- 「セキュリティー」をクリックします。
- 「追加」をクリックします。
- 「OK」をクリックします。
- 「OK」をクリックします。
- ご使用のマシンをリブートし、設定を有効にします。
詳しくは、Windows ヘルプ・システムを参照してください。
このタスクについて
サーバーを自動的に再始動するというこの機能は、さまざまな環境で使用されます。
例えば、
server1 管理対象ノード・プロセスを再始動することができます。
以下は、再始動が考慮され得るプロセスのリストです。
- server1 管理対象ノード・プロセス
- スタンドアロン・アプリケーション・サーバー上での server1 プロセス
- デプロイメント・マネージャー・ノード上の dmgr プロセス
- 任意の管理対象ノード上の nodeagent サーバー・プロセス
- IBM® HTTP
Server プロセス
- IBM HTTP Administration プロセス
![[Windows]](../images/windows.gif)
Windows オペレーティング・システムで、インストール・ウィザードを使用して、
インストール中に Windows サービスを作成することができます。
各 Windows サービスは、スタンドアロン製品インスタンスなどの単一のプロセスを制御します。
複数のスタンドアロン・アプリケーション・サーバー・プロセスには、複数の Windows サービスが必要です。これは、ユーザーが定義できます。このウィザードでは、以下のサーバーのサービスを作成できます。
- (自動ではなく) 手動で開始されるサービスとして定義される、server1 管理対象ノード・プロセス
- 手動で開始されるサービスとして定義される、server1 スタンドアロン・アプリケーション・サーバー・プロセス
- 自動的に開始されるサービスとして定義される、IBM HTTP Server プロセス
および IBM HTTP Administration プロセス (IBM HTTP Server フィーチャーを
インストールするよう選択した場合)
- 手動で開始されるサービスとして定義される、デプロイメント・マネージャー・ノード 上の dmgr プロセス
インストール・ウィザードは、ノード・エージェント用のサービスを作成する方法は提供しません。これは、インストール後に、アプリケーション・サーバー・ノードをデプロイメント・マネージャー・セル
に追加する場合に、デプロイメント・マネージャーが各ノード・エージェントのインスタンスを作成するためです。このため、
失敗したノード・エージェント・サーバー・プロセスを自動的に始動する機能を手動で作成する必要があります。
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
Linux またはサポートされた UNIX のオペレーティング・システムでは、前述のすべてのプロセスを自動的に始動するシェル・スクリプトをユーザー自身が作成する必要があります。
各 UNIX のシェル・スクリプトは、スタンドアロン製品インスタンスなどの単一のプロセスを制御します。
複数のスタンドアロン・アプリケーション・サーバー・プロセスには、複数の UNIX スクリプトが必要です。これは、ユーザーが定義できます。
![[Windows]](../images/windows.gif)
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
WebSphere® Application Server Network Deployment 環境では、addNode または startNode コマンドは、単一のモニターされていないノード・エージェント (nodeagent プロセス) のみを始動し、そのノード上に定義するプロセスをすべて始動するわけではありません。ノード・エージェントは稼働中に、Windows プラットフォームの場合
も Linux および UNIX ベースのプラットフォームの場合も、そのノード上のアプリケーション・サーバー・プロセスをモニターおよび再始動します。各アプリケーション・サーバー・プロセスには、ノード・エージェントがプロセスをモニターおよび再始動する際に使用する MonitoringPolicy 構成の設定値があります。
デプロイメント・マネージャー dmgr サーバーおよびシステムに定義されるノード・エージェントに、モニター対象プロセスを手動でセットアップすることをお勧めします。
モニター対象プロセスをセットアップするには、以下のようにします。
手順
プロファイル管理ツールを使用して、Windows サービスが製品に関連するプロセスを自動的にモニターおよび再始動するようにセットアップします。
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
製品をインストール後に、すべての関連するサーバー・プロセスを自動的にモニターおよび再始動するようにシェル・スクリプトをセットアップします。
サポートされる構成: このタスクを実行するには、2 つのサブステップのセットがあります。
最初のサブステップのセットは、Red Hat Enterprise Linux Version 6 オペレーティング・システムには適用されません。このオペレーティング・システムについて詳しくは、2 番目のサブステップのセットを参照してください。
sptcfg
- rc.was サンプル・シェル・スクリプト
を見つけます。これは
、app_server_root/bin
ディレクトリーにあります。
- オペレーティング・システムがモニターおよび再始動するプロセスごとに、
新規のシェル・スクリプトを作成します。
- 各シェル・スクリプトを、そのヘッダーのコメントに従って編集します。ヘッダーのコメントには、
製品プロセスを識別するための指示が記述されています。
- オペレーティング・システムの inittab ファイルを編集して、
作成したシェル・スクリプトごとにエントリーを追加します。
rc.was ファイルのヘッダーにあるコメントには、
このスクリプトを inittab 表に追加するためのサンプルの inittab エントリー行が含まれています。
各 inittab エントリーにより、オペレーティング・システムは、
システムが初期化されるたびに指定したシェル・スクリプトを呼び出します。
各シェル・スクリプトが実行されると、指定したサーバー・プロセスのモニターおよび始動が行われます。
例えば、あるプロセスに対して次の inittab エントリーを作成した場合、
システムが初期化されるたびに rc.was シェル・スクリプトが実行され、
ラン・レベル 2、3、5 で動作しているマシンでシステムが初期化されている間にプロセスが停止すると
シェル・スクリプトが再実行されます。
was:235:respawn:/usr/WebSphere/AppServer/bin/rc.was >/dev/console 2>&1
次の inittab エントリーを作成した場合は、ラン・レベル 2、3、5 で動作している
マシンを初期化したときに、rc.was シェル・スクリプトが 1 度だけ実行されます。
was:235:once:/usr/WebSphere/AppServer/bin/rc.was >/dev/console 2>&1
以下に指定できるラン・レベルのリストを示します。通常、ラン・レベルのデフォルトは 3 または 5 です。
- 0-停止
- 1-シングル・ユーザー・モード
- 2-NFS なしのマルチユーザー・モード (ネットワークがなければ 3 と同じ)
- 3-フル・マルチユーザー・モード
- 4-未使用
- 5-X11
- 6-リブート
ご使用のマシンがどのラン・レベルでブートしているか不明な場合は、inittab ファイルにある以下の行を確認してください。
id:x:initdefault
この x が、マシンがブートされたラン・レベルです。
例えば、ご使用のマシンが
ラン・レベル 5 でブートしている場合、
ラン・レベル 5 で起動するように宣言されたすべてのプロセスが開始されます。
トラブルの回避 (Avoid trouble): inittab ファイルから実行されるものはすべて、root ユーザーの配下で実行されます。
したがって、マシンが始動するときに非 root ユーザー ID の配下でサーバーがプロセスを自動的に始動するようにする必要がある場合は、次行を inittab ファイルにも追加する必要があります。
su user -c values
ここで、values は、作成した rc スクリプトを呼び出すために使用されるファイル・パスおよび引数です。user は、非 root ユーザーとして実行するように製品を構成した非 root ユーザーです。
gotcha
各シェル・スクリプトは、
WebSphere Application Server Network Deployment 環境で、以下のプロセスをモニターおよび再始動します。
- 管理対象ノード上のサーバー・プロセス
- 管理対象ノード上のノード・エージェント・プロセス
- スタンドアロンの Application Server プロセス
- デプロイメント・マネージャー・プロセス
サポートされる構成: 以下のサブステップ・セットは、Red Hat Enterprise Linux バージョン 6 オペレーティング・システムに適用されます。
sptcfg
- プロセスのモニターと再始動を行うために as1.conf ファイルを作成し、それを /etc/init ディレクトリーに配置します。 次のコードは、as1.conf ファイルの内容の例です。
# upstart service for my application server profile
description "my application server"
start on runlevel [235]
stop on runlevel [!235]
expect fork
respawn
exec /opt/IBM/WebSphere/AppServer/bin/rc.as1
- サーバーを再始動するための rc.as1 ファイルを作成し、それを WebSphere Application Server の install_root/bin ディレクトリーに置きます。 次のコードは、rc.as1 ファイルの内容の例です。
#!/bin/sh
cd /opt/IBM/WebSphere/AppServer/profiles/profile_name/bin
./startServer.sh server_name
profile_name は、アプリケーション・サーバー・プロファイルの名前を表します。server_name は、ご使用のサーバーの名前です。これらの値をご使用の環境に合うように変更します。
製品をインストールした後に、app_server_root¥bin ディレクトリーにある WASService.exe コマンドを使用して、server1 プロセスの別のインストール・インスタンスまたは構成インスタンス向けの Windows サービスを手動で定義できます。
製品のインストール後、WASService.exe コマンドを使用して、nodeagent サーバー・プロセスを Windows サービスとして手動で定義します。 同じコマンドを使用して、server1 プロセスまたは dmgr プロセスのどちらかの、別のインストール・インスタンスまたは別の構成インスタンス向けの Windows サービスを手動で定義することができます。
管理コンソールで、とクリックします。 管理コンソールを開始します。トポロジー・ツリーで「サーバー」を展開し、「アプリケーション・サーバー」をクリックします。
自動的に始動させるアプリケーション・サーバーの名前をクリックします。
「プロセス定義」をクリックします。「モニター・ポリシー」をクリックします。「ノード再始動状態」を「実行中」に変更します。
「適用」をクリックします。
構成を保存します。
自動的に再始動させるアプリケーション・サーバーを選択し、次に「サーバー・インフラストラクチャー」の下で、をクリックします。
「自動再始動」を選択します。
- をクリックしてからをクリックして、変更内容をマスター構成に直接保存します。
タスクの結果
![[Windows]](../images/windows.gif)
Windows オペレーティング・システムでは、以下のことが可能です。
- net start および net stop コマンドを使用して、
Windows システム上の IBM HTTP Server サービスを制御します。
これらのコマンドの詳細については、
Windows のヘルプ・ファイルを参照してください。「スタート」メニューからこれらのコマンドにアクセスするには、「スタート」>「プログラム」>「IBM HTTP Server」をクリックします。
- 「サーバーの始動」および「サーバーの停止」コマンドを使用して、製品プロセスを制御します。
「スタート」メニューからこれらのコマンドにアクセスするには、「スタート」>「プログラム」>「IBM WebSphere」>「Application Server」をクリックします。
- 「Manager の開始」および「Manager を停止」コマンドを使用して
、WebSphere Application Server Network Deployment dmgr プロセスを制御することができます。
「スタート」メニューからこれらのコマンドにアクセスするには、「スタート」>「プログラム」>「IBM WebSphere」>「Application Server」>「Deployment Manager」をクリックします。
startServer コマンド、startNode コマンド、または startManager コマンドで開始されるプロセスは、プロセスをどのように構成されたかにかかわらず、モニター対象プロセスとしては実行されません。
例えば、server1 プロセスをモニター対象プロセスとして構成することができます。
ただし、startServer コマンドを使用して server1 プロセスを開始した場合、
オペレーティング・システムはもともと server1 プロセスをモニター対象プロセスとして開始していないため、
オペレーティング・システムはこのプロセスのモニターまたは再始動は行いません。
次のタスク
プロセスがセットアップされると、オペレーティング・システムは、各サーバー・プロセスをモニターし、そのプロセスが停止した場合は、再始動することができます。
「アプリケーション・サーバー・プロセスの定義」の管理コンソール・ページに戻り、続行します。