1 次サーバーおよびバックアップ・サーバーを基本的な高可用性環境用にセットアップおよび構成します。
IBM HTTP Server および
Web サーバー・プラグインのインストールおよび構成
1 次サーバーおよびバックアップ・サーバーでの Jazz アプリケーションのインストールおよび構成
WebSphere Application Server 上で
IBM® Rational® Team Concert または
IBM Rational Quality Manager の Jazz アプリケーションの 2 つのインスタンスをインストールして構成する場合は、
WebSphere® Application Server のセットアップを参照してください。
要確認: サーバーは、一度に 1 つずつインストールしてください。それぞれのサーバーは、teamserver.properties 内の同じデータベースを参照します。2 番目のインストールを開始する前に、最初のサーバーがシャットダウンされていること、およびリポジトリーに接続されていないことを確認してください。
1 次サーバーおよびバックアップ・サーバーの高可用性の構成
通常、jazz.war アプリケーションは、単一のアプリケーション・サーバーをターゲットとしてインストールされます。
Web サーバーの導入に伴い、Web サーバーを介したルーティングを許可するよう jazz.war アプリケーションを変更する必要があります。
このアプリケーションを変更するには、以下のようにします。
- WebSphere コンソールで、
「エンタープライズ・アプリケーション」の下にある jazz.war アプリケーション・リンクをクリックします。
- 「モジュールの管理」を選択します。
- jazz.war アプリケーション・モジュールのチェック・ボックスを選択します。
- クラスターおよびサーバーのリストで、Web サーバーとアプリケーション・サーバーの両方を選択して、「適用」をクリックします。
- 「OK」をクリックしてから「変更を保存します」をクリックします。
- jazz.war アプリケーションを再始動します。
以下のようにして、1 次アプリケーション・サーバー上で Jazz アプリケーションを再構成し、jazz.war アプリケーションのセキュリティーをオフにします。
- WebSphere Application Server にインストールされた WAR ファイルの web.xml を変更します。
ヒント: web.xml ファイルを取得するために、WAR ファイルを一時ディレクトリーに解凍することの必要な場合があります。
- 「CONFIDENTIAL」となっている出現箇所をそれぞれ「NONE」に変更します。
- WebSphere Application Server が稼働していることを確認し、ブラウザーを開いて https://localhost:9043/ibm/console/logon.jsp に移動します。
- 「アプリケーション」→「エンタープライズ・アプリケーション」ページに移動します。
- jazz_war アプリケーションを選択して「更新」をクリックします。
- 「1 つのファイルを置換または追加する」を選択します。
- 「置換または追加されるファイルへの、インストール済みアプリケーション・アーカイブ・ファイルで始まるパスを指定します」フィールドに、jazz.war¥WEB-INF¥web.xml と入力します。
- 「参照」をクリックして、ステップ 1 で変更した web.xml ファイルを選択します。
- 「次へ」をクリックし、アプリケーションが保存されるまで指示に従います。
- 「アプリケーション」->「エンタープライズ・アプリケーション」ページに戻り、jazz_war アプリケーションを停止してから開始します。
Rational Jazz™ Team Serverの 1 次サーバーとバックアップ・サーバーの両方を再構成して、フルテキスト索引の同じ場所を参照するようにします。索引を最新の状態に保ち、1 次サーバーおよびバックアップ・サーバーの両方で索引を使用できるようにするには、1 次サーバーとバックアップ・サーバーの両方で teamserver.properties の com.ibm.team.fulltext.indexLocation を更新し、索引を共有ドライブに格納します。1 次サーバーおよびバックアップ・サーバーで、teamserver.properties ファイルの以下のプロパティーを変更します。
バックアップ・サーバーでの非同期タスクのオフへの切り替え
稼働中の 2 つの
Rational Jazz Team Serverを実行する 2 つのサーバー間でのデータ競合が発生しないようにするには、バックアップ・サーバーで非同期 (バックグラウンド) タスクをオフにする必要があります。
- バックアップ・サーバーの teamserver.properties ファイルに、以下の行を追加します。
com.ibm.team.repository.scheduler.migration.mode.enabled=true
- バックアップ・サーバーで jazz.war アプリケーションを再始動します。
Web サーバー plugin_cfg.xml ファイルのアイドル・スタンバイ用の編集
依頼が Web サーバーを介してアプリケーション・サーバーにルーティングされるように WebSphere Application Server を構成するたびに、Web サーバー plugin.xml は、そのアプリケーション・サーバーの接続情報を使用して更新されます。この時点で、plugin-cfg.xml ファイルは部分的に構成されています。構成を完了するには、Web サーバーで、plugin-cfg.xml の以下のセクションを置換して編集します。
この plugin-cfg.xml ファイルは、Web サーバーの plugin¥config¥webserver1 フォルダーにあります (webserver1 は IBM HTTP Server および Web サーバー・プラグインのインストールおよび構成に関する以前のセクションで Web サーバーに割り当てた名前)。
<ServerCluster CloneSeparatorChange="false" GetDWLMTable="false" IgnoreAffinityRequests="true" LoadBalance="Round Robin" Name="RTC_basicHA_Cluster" RetryInterval="60" PostBufferSize="64" PostSizeLimit="-1" RemoveSpecialHeaders="true">
<Server LoadBalanceWeight="1" ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1" Name="PrimaryNode01_server1" ServerIOTimeout="0" WaitForContinue="false">
<Transport Hostname="primary.hostname.company.com" Port="9080" Protocol="http"/>
</Server>
<Server LoadBalanceWeight="0" ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1" Name="BackupNode01_server1" ServerIOTimeout="0" WaitForContinue="false">
<Transport Hostname="backup.hostname.company.com" Port="9080" Protocol="http"/>
</Server>
</ServerCluster>
<UriGroup Name="default_host_RTC_basicHA_Cluster_URIs">
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/jazz/*"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/snoop/*"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/hello"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/hitcount"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsp"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsv"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsw"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/j_security_check"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ibm_security_logout"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/servlet/*"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ivt/*"/>
</UriGroup>
<Route ServerCluster="RTC_basicHA_Cluster" UriGroup="default_host_RTC_basicHA_Cluster_URIs" VirtualHostGroup="default_host"/>
手動フェイルオーバー機能に関するサーバー・セットアップの検証
WebSphere Application Server の手動フェイルオーバー機能を検証するには、Web サーバーの plugin-cfg.xml ファイルを編集して、PrimaryNode01 _server1 に LoadBalanceWeight ="0"、BackupNode01_server1 に LoadBalanceWeight ="1" を指定します。plugin-cfg.xml ファイルを保存します。
重要: 「本当の」クラスター化とロード・バランシングはまだサポートされていないため、1 次サーバーとバックアップ・サーバーの両方で LoadBalanceWeight をゼロ以外の値にすることはできません。
- 1 次サーバーとバックアップ・サーバーの両方をオンラインにして、WebSphere サンプル Snoop サーブレットを実行し、依頼を処理しているサーバーの名前を取得します。
- URL https://webserver/snoop を使用して、HTML ブラウザーから Snoop サーブレットを起動します。
- 依頼情報には、ローカル・ホストとして依頼に対するサービスを提供しているホスト (この場合は LoadBalanceWeight =1 のサーバー) が表示されます。
- 1 次サーバーとバックアップ・サーバーの間で LoadBalanceWeight を交換してみて、どちらのサーバーが Snoop サーブレット依頼を処理しているかを確認します。
1 次サーバー上での障害の検出
高可用性を実現するには、1 次サーバーが停止したときにそれを認識する必要があります。この基本的な高可用性ソリューションでは、1 次サーバーからバックアップ・サーバーへの自動フェイルオーバーが行われないため、これは特に重要です。
障害が発生したサーバーの検出プロセスは、重要で適時に実行する必要があるタスクです。サーバーで障害が発生したことは、複数の要因によって示されます。例えば、ネットワークの問題、構成の問題、アプリケーションの過負荷、ユーザーのエラーなどです。サーバー障害を検出するためにどのソリューションを選択するにしても、アラートが可能な限り瞬時に出されるようにする必要があります。