この節では、Sun Cluster HA for Apache Tomcat のインストールと構成の計画に必要な情報を示します。
Sun Cluster には、データサービスの水平型スケーラビリティーという概念があり、これをスケーラブルサービスといいます。この概念には、IP ベースの負荷均衡アルゴリズムが統合されています。このため、ハードウェアのロードバランサーを使用しなくても水平方向のスケーラビリティーが得られます。このスケーラブルサービスの詳細は、『Sun Cluster の概念 (Solaris OS 版)』を参照してください。
スケーラブル構成で Sun Cluster HA for Apache Tomcat を使用する前に、クラスタとクライアントのインフラストラクチャーを注意深く検討する必要があります。
クライアントがプロキシを使用してアプリケーションに使用する場合は、セッションコンテキストの間、使用されるプロキシが同じかどうかを判別します。これはイントラネットにも当てはまります。
セッションコンテキストの間にプロキシが変更される場合、負荷均衡の観点から言うと、発信元 IP アドレスが変化することを意味します。この場合、ハードウェアであろうとソフトウェアであろうと、IP ベースのあらゆる負荷均衡機能が悪影響を受けます。
特に、クライアントがインターネットを介してサーバーにアクセスする場合、セッションコンテキストにおいて同一のソース IP アドレスが維持されることは保証されません。
Sun Cluster HA for Apache Tomcat には、水平方向のスケーラビリティーを得る手段として 2 つの構成方法が用意されています。
2 つの構成の相違は、ノードのアクセス方法にあります。
クライアントが共有アドレスを使用してスケーラブル構成にアクセスする場合、Sun Cluster が負荷均衡機能を実行します。
クライアントが各ノードの物理アドレスを使用してマルチマスター構成にアクセスする場合、クラスタの外部で負荷均衡機能を実行する必要があります。
スケーラブルデータサービスの詳細は、『Sun Cluster の概念 (Solaris OS 版)』を参照してください。
これらの構成オプションについては、「スケーラブル構成としての Sun Cluster HA for Apache Tomcat」と「マルチマスター構成としての Sun Cluster HA for Apache Tomcat」で説明しています。
セッションコンテキストの間、発信元 IP アドレスが変わらないことが保証される場合は、スケーラブル構成で Sun Cluster HA for Apache Tomcat を使用できます。この保証は、たとえばイントラネットで実現されます。
セッションコンテキストの間に発信元 IP アドレスが変わる可能性があり、スケーラブル構成が必要な場合は、セッションの複製を指定して Apache Tomcat を構成する必要があります。このような構成は、広域ファイルシステムまたはデータベースを使用したアプリケーションによって行えます。
この方法では、パフォーマンスの低下が発生します。
発信元 IP アドレスが変化する状況でのスケーラブル構成には、Tomcat のインバウンドメモリーセッション複製機能を使用すると、パフォーマンスが向上します。
Apache Tomcat 4.x のセッション複製は、http://www.theserverside.com/resources/article.jsp?l=Tomcatの説明に従って行えます。
Apache Tomcat 5.x の、組み込み機能としてのインバウンドメモリーセッション複製は、機能リストにあります。
Apache Tomcat 3.x の場合、インバウンドメモリーセッション複製は設定できません。
上記以外の状況では、Sun Cluster HA for Apache Tomcat をマルチマスター構成で使用できます。外部の負荷均衡機能が必要です。通常の構成では、スケーラブル Apache Web サーバーをロードバランサーとして使用し、Apache Web サーバーの各インスタンスの背後に、Apache Tomcat インスタンスの物理ホスト名を 1 つ構成します。また、セッションコンテキストを処理するハードウェアロードバランサを使用することもできます。
スケーラブル構成とマルチマスター構成の違いは、クライアントがクラスタノードにアクセスする方法だけです。スケーラブル構成では、クライアントは共有アドレスにアクセスします。マルチマスター構成では、クライアントは物理ホスト名にアクセスします。
この節では、Sun Cluster HA for Apache Tomcat だけに適用されるソフトウェアとハードウェア上の構成制限の一覧を示します。
すべてのデータサービスに該当する制限については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』を参照してください。
Sun Cluster HA for Apache Tomcat によるスケーラブル構成は、セッション複製または信頼性のあるソース IP アドレスを達成できる場合だけ採用してください。これ以外の状況でこの構成を採用すると、アプリケーションの動作に予期しない結果が生じることがあります。
セッション複製がまったく使用されない場合に、信頼できるソース IP アドレスを使用するスケーラブル構成で Sun Cluster HA for Apache Tomcat を導入する場合は、リソースパラメータ Load_balancing_policy を LB_STICKY に必ず設定する必要があります。設定しないと、アプリケーションの動作が予測不能になります。それ以外のスケーラブル構成では、Sticky Load_balancing_policy はキャッシュのヒット率向上に有効です。
これらの制限事項を守らないと、データサービスの構成がサポートされない場合があります。
これらの要件が適用されるのは、Sun Cluster HA for Apache Tomcat だけです。Sun Cluster HA for Apache Tomcat のインストールと構成を進めるには、あらかじめ次の要件を満たす必要があります。
次の要件を満たさないと、データサービスの構成がサポートされない場合があります。
Apache Tomcat をスケーラブルリソースグループにインストールする場合は、Tomcat Home ディレクトリとその動的なデータをローカル記憶装置上に作成してください。
これが必要なのは、Apache Tomcat がディレクトリ構造を使用して構成、ログ、配備されたアプリケーションなどを保存するためです。
ローカルストレージの容量が不十分な場合は、共有ストレージ上の広域ファイルシステムを使用できます。
この場合、Tomcat アプリケーションの配備は Apache Tomcat をホスティングするノードごとに行う必要があります。
Apache Tomcat をマルチマスター構成としてインストールする場合は、外部的なロードバランサーが必要です。
Apache Tomcat をフェイルオーバーリソースグループにインストールする場合は、Tomcat Home ディレクトリを共有記憶装置上に作成してください。Tomcat Home ディレクトリは、HAStoragePlus リソースと共に広域ファイルシステム (GFS) に置くことも、フェイルオーバーファイルシステム (FFS) に置くこともできます。望ましいのは FFS 上への配置です。
これが必要なのは、Apache Tomcat がディレクトリ構造を使用して、構成、ログ、配備されたアプリケーションなどを保存するためです。バイナリをローカルで保存し、データの動的部分を共有ストレージに保存することはお勧めできません。
広域ファイルシステムをマウントする場合は /global という接頭辞を指定し、フェイルオーバーファイルシステムをマウントする場合は /local という接頭辞を指定するのが最適です。
Sun Cluster HA for Apache Tomcat データサービスは、1 つ以上の Apache Tomcat インスタンスを保護するように構成できます。各インスタンスは、1 つの Apache Tomcat リソースによって対応される必要があります。Apache Tomcat リソースとほかの必須リソース間の依存性を、表 3、表 4、表 5 に示します。
表 3 フェイルオーバー構成時の依存性
構成要素 |
説明 |
---|---|
記憶装置リソース |
このリソースは、SUNW.HAStoragePlus または SUNW.HAStorage リソースタイプのどちらかです。 |
Apache Tomcat (必須) |
-> SUNW.HAStoragePlus リソースまたは SUNW.HAStorage リソース 記憶装置リソースには、Apache Tomcat ファイルシステムのマウントポイントを管理し、マウントされるまで Apache Tomcat が起動しないようにする役割があります。 |
論理ホスト (必須) |
Apache Tomcat は一般的なデータサービスをベースとしているため、このコンポーネントはリソースグループの論理ホストに暗黙に依存します。したがって、論理ホストが存在する必要がありますが、明示的な依存は不要です。 |
各 Apache Tomcat とそのパラメータファイル pfile がルートファイルシステムに保存されているかぎり、スケーラブル構成の特殊な要件のために記憶装置またはアドレスに依存する必要はありません。この条件が満たされない場合は、表 4 の内容に従ってください。
表 4 スケーラブル構成時の依存性
構成要素 |
説明 |
---|---|
記憶装置リソース |
このリソースは、SUNW.HAStorage または SUNW.HAStoragePlus リソースタイプのどちらかです。 |
Apache Tomcat (必須) |
-> 記憶装置リソース 記憶装置リソースには、Apache Tomcat ファイルシステムのマウントポイントを管理し、マウントされるまで Apache Tomcat が起動しないようにする役割があります。 |
共有アドレス (必須) |
共有アドレスリソースは、スケーラブルリソースグループが依存する個別のリソースグループ内に置かれます。 |
マルチマスター構成は、スケーラブル構成のような複数のノードで稼働しますが、共有アドレスは使用しません。各 Apache Tomcat とそのパラメータファイル pfile がルートファイルシステムに保存されているかぎり、マルチマスター構成の特殊な要件のために記憶装置またはアドレスに依存する必要はありません。この条件が満たされない場合は、表 5 の内容に従ってください。
表 5 マルチマスター構成時の依存性
構成要素 |
説明 |
---|---|
記憶装置リソース |
このリソースは、SUNW.HAStorage または SUNW.HAStoragePlus リソースタイプのどちらかです。 |
Apache Tomcat (必須) |
-> 記憶装置リソース 記憶装置リソースには、Apache Tomcat ファイルシステムのマウントポイントを管理し、マウントされるまで Apache Tomcat が起動しないようにする役割があります。 |
共有アドレス (必須) |
共有アドレスリソースは、スケーラブルリソースグループが依存する個別のリソースグループ内に置かれます。 |
Apache Tomcat の詳細は、Web ページ http://jakarta.apache.org を参照してください。
Apache Tomcat コンポーネントの構成ファイルと登録ファイルは、ディレクトリ /opt/SUNWsctomcat/util に置かれています。これらのファイルによって、Sun Cluster に Apache Tomcat コンポーネントを登録できます。
これらのファイル内では、該当する依存関係がすでに適用されています。
# cd /opt/SUNWsctomcat # # ls -l util total 4 -rwx--x--- 1 root other 709 Apr 29 11:57 sctomcat_config -rwx--x--- 1 root other 561 Apr 29 11:58 sctomcat_register # more util/*g :::::::::::::: util/sctomcat_config :::::::::::::: # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # This file will be sourced in by sctomcat_register and the parameters # listed below will be used. # # These parameters can be customized in (key=value) form # # RS - name of the resource for the application # RG - name of the resource group containing RS # PORT - name of the port number # LH - name of the LogicalHostname SC resource # SCALABLE - true or false for a scalable or failover resource # NETWORK - false or true, false for multiple master configurations without # shared address, in this case SCALABLE will be ignored # # PFILE - absolute pathname to the parameter file for the Tomcat resource # HAS_RS - name of the HAStoragePlus SC resource # (it can be a , separated list for the dependencies) # (日本語) # このファイルは、sctomcat_register によってソースに取り込まれます。 # パラメータは以下のものが使用されます。 # # これらのパラメータは、(key=value) の形式を使用してカスタマイズできます。 # # RS - アプリケーションのリソースの名前 # RG - RS を含むリソースグループの名前 # PORT - ポート番号の名前 # LH - LogicalHostname SC リソースの名前 # SCALABLE - スケーラブルリソースかフェイルオーバーリソースかを true または false で指定 # NETWORK - 共有するアドレスを持たないマルチマスター構成の場合は false を指定。 # その場合、SCALABLE は無視される # # PFILE - Tomcat リソースのパラメータファイルの絶対パス名 # HAS_RS - HAStoragePlus SC リソースの名前 # (依存関係にもとづいて個別のリストにもできる) RS= RG= PORT=8080 LH= SCALABLE=false NETWORK=true PFILE= HAS_RS= |