基本的な高可用性環境向けに、1 次サーバーとバックアップ・サーバーをセットアップして構成します。
IBM HTTP Server および Web サーバー・プラグインのインストールと構成
1 次サーバーおよびバックアップ・サーバーでの Jazz アプリケーションのインストールと構成
Jazz™ アプリケーション (WebSphere® Application Server 上の
IBM Rational® Team Concert、
IBM Rational Quality Manager など) の 2 つのインスタンスをインストールして構成する場合は、
WebSphere Application Server のセットアップを参照してください。
要確認: サーバーは、一度に 1 つずつインストールします。
各サーバーは、その teamserver.properties で同じデータベースを参照します。
2 番目のサーバーのインストールを開始する前に、最初のサーバーがシャットダウンしていて、リポジトリーに接続されていないことを確認してください。
1 次サーバーおよびバックアップ・サーバーでの高可用性の構成
jazz.war アプリケーションは、通常は、単一のアプリケーション・サーバーをターゲットとしてインストールされます。
Web サーバーを導入する場合は、Web サーバー経由のルーティングを許可するように jazz.war アプリケーションを変更する必要があります。
アプリケーションを変更するには、次のようにします。
- WebSphere コンソールで、
「エンタープライズ・アプリケーション」の下にある jazz.war アプリケーションのリンクをクリックします。
- 「モジュールの管理 (Manage Modules)」を選択します。
- jazz.war アプリケーション・モジュールのチェック・ボックスを選択します。
- クラスターおよびサーバーのリストで、Web サーバーとアプリケーション・サーバーの両方を選択して、「適用」をクリックします。
- 「OK」をクリックし、「変更を保存 (Save changes)」をクリックします。
- jazz.war アプリケーションを再始動します。
1 次アプリケーション・サーバー上の Jazz アプリケーションを、jazz.war アプリケーションのセキュリティーをオフにするように再構成します。
- WebSphere Application Server にインストールされた WAR ファイルから、web.xml を変更します。
ヒント: 場合によっては、
web.xml ファイルにアクセスするために WAR ファイルを一時ディレクトリーに解凍する必要があります。
- "CONFIDENTIAL" を 1 つずつ、"NONE" に変更します。
- WebSphere Application Server が稼働していることを確認して、ブラウザーを開き、https://localhost:9043/ibm/console/logon.jsp に移動します。
- 「アプリケーション」->「エンタープライズ・アプリケーション」ページに移動します。
- jazz_war アプリケーションを選択して、「更新 (Update)」をクリックします。
- 「単一ファイルの置換または追加 (Replace or add a single file)」を選択します。
- 「インストール済みアプリケーションのアーカイブ・ファイルで始まるパスを、置換または追加されるファイルに指定する (Specify the path beginning with the installed application archive file to the file to be replaced or added)」フィールドに、「jazz.war¥WEB-INF¥web.xml」と入力します。
- 「参照」をクリックして、手順 1 で変更した web.xml ファイルを選択します。
- 「次へ」をクリックして、アプリケーションが保存されるまで操作を続行します。
- 「アプリケーション」->「エンタープライズ・アプリケーション」ページに戻り、jazz_war アプリケーションを停止後、開始します。
1 次およびバックアップの
Rational Jazz Team Server を、
全文索引で同じ場所を参照するように再構成します。索引を最新に保ち、1 次サーバーとバックアップ・サーバーのどちらからも使用できるようにするには、1 次サーバーとバックアップ・サーバーの両方で teamserver.properties の com.ibm.team.fulltext.indexLocation を更新して、共有ドライブに索引を格納するようにします。
1 次サーバーとバックアップ・サーバーの teamserver.properties ファイルで、以下のプロパティーを変更してください。
バックアップ・サーバーで非同期タスクをオフにする
稼働中の 2 つの
Rational Jazz Team Server 間でデータの競合を避けるためには、バックアップ・サーバーで、非同期 (またはバックグラウンド) タスクをオフにする必要があります。
- バックアップ・サーバーの teamserver.properties ファイルに以下の行を追加します。
com.ibm.team.repository.scheduler.migration.mode.enabled=true
- バックアップ・サーバーの jazz.war アプリケーションを再始動します。
Web サーバーの plugin_cfg.xml ファイルをアイドル待機用に編集する
WebSphere Application Server を、Web サーバー経由でアプリケーション・サーバーに依頼を経路指定するように構成するたびに、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 サーブレットを実行して、依頼を処理しているサーバーの名前を取得します。
- Snoop サーブレットは、HTML ブラウザーで URL https://webserver/snoop を指定して呼び出します。
- 依頼情報に、ローカル・ホストとしてその依頼を処理しているホストが表示されます。ここでは、LoadBalanceWeight =1 のサーバーが表示されます。
- 1 次サーバーとバックアップ・サーバー間で LoadBalanceWeight の送受信をしてみて、Snoop サーブレット依頼を処理するサーバーをメモしておきます。
1 次サーバーでの障害の検出
高可用性を実現するためには、1 次サーバーがいつダウンするかを知っておく必要があります。
これは、この基本的な高可用性ソリューションには特に重要です。このソリューションが、1 次サーバーのバックアップ・サーバーへの自動フェイルオーバーに対応していないためです。
障害の発生したサーバーの検出プロセスは、重要でタイミングが大切なタスクです。
サーバーに障害が発生したことを示す要因は、ネットワークの問題、構成の問題、アプリケーションの過負荷、ユーザー・エラーなど、いくつかあります。
サーバー障害の検出にどのソリューションを選択しようと、できる限り即時にアラートが出るようにする必要があります。