サーバー・プロセスが異常終了した場合に、オペレーティング・システムによってモニターされ、自動的に再始動される、サーバー・プロセスがいくつかあります。
事前処理
![[Linux]](../images/nglinux.svg)
![[AIX]](../images/ngaix.svg)
![[HP-UX]](../images/nghpux.svg)
Linux® またはサポートされる UNIX オペレーティング・システムでこの機能をセットアップするには、inittab ファイルを編集するための root 権限が必要です。
![[Windows]](../images/ngwin.svg)
Microsoft Windows オペレーティング・システムでこの機能をセットアップするには、管理者グループに属しており、以下の拡張ユーザー権限を持っている必要があります。
- オペレーティング・システムの一部として機能
- サービスとしてログオンする
ユーザーの ID が管理者グループに含まれている場合には、
インストール・ウィザードにより、ユーザー権限が認可されます。
Microsoft Windows オペレーティング・システムで
実行している場合、インストール・ウィザードには、
拡張ユーザー権限は有効になっているが、
次回 Windows マシンにログオンするまで有効とは表示されない旨を示すメッセージが
表示されます。
![[Windows]](../images/ngwin.svg)
また、
Windows オペレーティング・システムでサイレント・インストールを行う場合、
拡張ユーザー権限を手動で追加することができます。 例えば、Windows オペレーティング・システムでユーザー権限を管理者グループ・ユーザー ID に与えるには、
次の手順を実行します。
- コントロール パネルで「Administrative Tools」をクリックします。
- 「ローカル セキュリティ ポリシー」をクリックします。
- 「ローカル・ポリシー」をクリックします。
- 「User Rights Assignments」をクリックします。
- 「オペレーティング・システムの一部として機能」を右クリックします。
- 「セキュリティー」をクリックします。
- 追加 をクリックします。
- ユーザー ID をクリックします。
- 追加 をクリックします。
- 「OK」をクリックします。
- 「OK」をクリックします。
- 「サービスとしてログオン」を右クリックします。
- 「セキュリティー」をクリックします。
- 追加 をクリックします。
- 「OK」をクリックします。
- 「OK」をクリックします。
- ご使用のマシンをリブートし、設定を有効にします。
詳しくは、Windows ヘルプ・システムを参照してください。
このタスクの概要
この機能を使用して、基本サーバーを自動的に再始動することができます。 例えば、server1 プロセスを再始動することができます。
![[Linux]](../images/nglinux.svg)
![[AIX]](../images/ngaix.svg)
![[HP-UX]](../images/nghpux.svg)
Linux またはサポートされる UNIX オペレーティング・システムでは、前述のプロセスを自動的に開始するシェル・スクリプトを手動で作成する必要があります。 各 UNIX のシェル・スクリプトは、スタンドアロン製品インスタンスなどの単一のプロセスを制御します。 複数のスタンドアロン・アプリケーション・サーバー・プロセスには、複数の UNIX スクリプトが必要です。これは、ユーザーが定義できます。
インストール時に、基本製品を Windows サービスとしてインストールしない場合は、後でインストールすることができます。 オペレーティング・システムは、これにより、各サーバー・プロセスをモニターし、そのプロセスが停止した場合は、再始動することができます。
手順
インストール・ウィザードを使用して 、製品に関連するプロセスを自動的にモニターして再始動するように Windows サービスをセットアップします。
![[Linux]](../images/nglinux.svg)
![[AIX]](../images/ngaix.svg)
![[HP-UX]](../images/nghpux.svg)
製品をインストールした後、関連するサーバー・プロセスを自動的にモニターして再始動するようにシェル・スクリプトをセットアップします。
サポートされる構成: このタスクを実行するには、2 つのサブステップ・セットがあります。 最初のサブステップのセットは、Red Hat Enterprise Linux Version 6 オペレーティング・システムには適用されません。 このオペレーティング・システムについて詳しくは、2 番目のサブステップのセットを参照してください。
- app_server_root/bin ディレクトリーにある rc.was シェル・スクリプトの例を見つけます。
- オペレーティング・システムがモニターおよび再始動するプロセスごとに、
新規のシェル・スクリプトを作成します。
- 各シェル・スクリプトを、そのヘッダーのコメントに従って編集します。ヘッダーのコメントには、
製品プロセスを識別するための指示が記述されています。
- オペレーティング・システムの 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 で起動するように宣言されたすべてのプロセスが開始されます。
トラブルの回避: inittab ファイルから実行されたものはすべて、root ユーザーの下で実行されます。 したがって、マシンが始動するときに非 root ユーザー ID の配下でサーバーがプロセスを自動的に始動するようにする必要がある場合は、次行を inittab ファイルにも追加する必要があります。
su user -c values
ここで、values は、作成した rc スクリプトを呼び出すために使用されるファイル・パスおよび引数です。user は、非 root ユーザーとして実行するように製品を構成した非 root ユーザーです。
サポートされる構成: 以下の一連のサブステップは、 Red Hat Enterprise Linux バージョン 6 オペレーティング・システムに適用されます。
- プロセスをモニターして再始動し、 /etc/init ディレクトリーに配置するための as1.conf ファイルを作成します。
次のコードは、
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 サービスを手動で定義することができます。
管理コンソールで、 をクリックします。管理コンソールを開始します。 トポロジー・ツリーで「サーバー」を展開し、「アプリケーション・サーバー」をクリックします。 自動的に始動させるアプリケーション・サーバーの名前をクリックします。 「プロセス定義」をクリックします。 「モニター・ポリシー」をクリックします。 「ノード再始動状態」を「実行中」に変更します。 「適用」をクリックします。 構成を保存します。
自動的に再始動するアプリケーション・サーバーを選択し、「サーバー・インフラストラクチャー」の下で をクリックします。
「自動再始動」を選択します。
- をクリックしてから、 をクリックして、変更をマスター構成に直接保存します。
結果
![[Windows]](../images/ngwin.svg)
Windows オペレーティング・システムでは、以下のことが可能です。
- net start および net stop コマンドを使用して、
Windows システム上の IBM HTTP Server サービスを制御します。 これらのコマンドの詳細については、
Windows のヘルプ・ファイルを参照してください。 「スタート」メニューからこれらのコマンドにアクセスするには、「スタート」>「プログラム」>「IBM HTTP Server」をクリックします。
- 「サーバーの始動」および「サーバーの停止」コマンドを使用して、製品プロセスを制御します。 「スタート」メニューからこれらのコマンドにアクセスするには、「スタート」>「プログラム」>「IBM WebSphere」>「Application Server」をクリックします。
startServer コマンドで始動されるプロセスは、
プロセスをどのように構成されたかにかかわらず、モニター対象プロセスとしては稼働しません。
例えば、server1 プロセスをモニター対象プロセスとして構成することができます。 ただし、startServer コマンドを使用して server1 プロセスを開始した場合、
オペレーティング・システムはもともと server1 プロセスをモニター対象プロセスとして開始していないため、
オペレーティング・システムはこのプロセスのモニターまたは再始動は行いません。
次の作業
プロセスがセットアップされると、オペレーティング・システムは、各サーバー・プロセスをモニターし、そのプロセスが停止した場合は、再始動することができます。「アプリケーション・サーバー・プロセスの定義」の管理コンソール・ページに戻り、続行します。