この章では、Sun Cluster HA for Sun Java System Web Server のインストールと構成の手順について説明します。 このデータサービスは、以前の Sun Cluster HA for Netscape TM HTTP または Sun Cluster HA for iPlanet Web Server の後継版です。 アプリケーションエラーの文書に「Netscape」という語が含まれてた場合は、「Sun Java System Web Server」と読みかえてください。 Sun Cluster Agents CD-ROM でも、アプリケーション名が「iPlanet Web Server」のままになっていることがあります。
この章では、次の手順について説明します。
Sun Cluster HA for Sun Java System Web Server は、フェイルオーバーデータサービスまたはスケーラブルデータサービスとして構成できます。 データサービス、リソースグループ、リソース、およびその他の関連トピックの一般情報については、 『 Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「Sun Cluster データサービスの計画」および『Sun Cluster の概念 (Solaris OS 版)』を参照してください。
SunPlex Manager を使用して、このデータサービスのインストールと構成を実行できます。 詳細は SunPlex Manager のオンラインヘルプを参照してください。
Sun Cluster 構成で複数のデータサービスを実行している場合は、任意の順序でデータサービスを設定できます。ただし、 Sun Cluster HA for Sun Java System Web Server が Sun Cluster HA for DNS に依存している場合は、最初に DNS を設定する必要があります。 詳細については、『Sun Cluster Data Service for Domain Name Service (DNS) ガイド (Solaris OS 版)』を参照してください。 Solaris オペレーティングシステムには、DNS ソフトウェアが組み込まれています。 クラスタが別のサーバーから DNS サービスを取得する場合は、最初に、クラスタが DNS クライアントになるように構成してください。
インストール後は、クラスタ管理コマンドの scswitch(1M) を使用する場合を除き、手作業で Sun Java System Web Server を起動したり停止したりしないでください。 詳細は、マニュアルページを参照してください。 Sun Java System Web Server は、起動後は Sun Cluster ソフトウェアによって制御されます。
フェイルオーバーデータサービス、スケーラブルデータサービスのどちらで Sun Cluster HA for Sun Java System Web Server を使用するか。 この 2 種類のサービスについては、『Sun Cluster の概念 (Solaris OS 版)』を参照してください。 スケーラブルサービスとして実行する場合は、以下の点を検討します。
どのノードがスケーラブルサービスをホストするのか。 ほとんどの場合は全ノードにしますが、サービスをホストするノードを制限することもできます。 サービスをホストするノードを制限することもできます。
Sun Java System Web Server インスタンスにスティッキー IP は必要か。 スティッキー IP は、Load_balancing_policy のリソースプロパティ設定です。クライアント状態がメモリーに格納されるため、同じノードからの戻りトラフィックは、常に同じクラスタノードに送られます。 複数の負荷分散ポリシーの中から選択できます。『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「標準プロパティ」に記載されているリソースプロパティの表を参照してください。
Load_balancing_policy が LB_STICKY または LB_STICKY_WILD に設定されているオンラインスケーラブルサービスの場合、Load_balancing_weights を変更するには注意が必要です。 サービスがオンラインのときにこれらのプロパティを変更すると、クライアントとの既存の親和性がリセットされます。したがって、そのクライアントが以前にクラスタ内の別のクラスタメンバーからサービスを受けていても、異なるノードがそのクライアントの要求を処理します。
同様に、サービスの新しいインスタンスがクラスタで起動された場合は、クライアントとの既存の親和性がリセットされることがあります。
Web サーバーのルートをどこに置くか。
Web サーバーは、別の高可用性アプリケーションにデータを提供するかどうか。 データを提供する場合は、リソースの一方がもう一方よりも先に起動または停止するように、リソース間の依存性が必要になります。 これらの依存性を設定するリソースプロパティ、Resource_dependencies の詳細については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「標準プロパティ」を参照してください。
ネットワークアドレスおよびアプリケーションリソースに使用するリソースグループ、およびそれらの間に存在する依存性を決定する。 これらの依存性を設定するリソースプロパティ、RG_dependencies の詳細については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「標準プロパティ」を参照してください。
データサービスへのアクセスにクライアントが使用する論理ホスト名 (フェイルオーバーサービスの場合) または共有アドレス (スケーラブルサービスの場合) を指定する。
Sun Java System Web Server は INADDR_ANY にバインドするように構成できるため、Sun Java System Web Server の複数のインスタンス、または同じノード上の複数のデータサービスを実行する予定の場合は、各インスタンスを一意のネットワークリソースとポート番号にバインドする必要があります。
Confdir_list および Port_list プロパティのエントリを決定する。 フェイルオーバーサービスの場合、この 2 つのプロパティに登録できるエントリは、それぞれ 1 つだけです。 スケーラブルサービスの場合は、複数のエントリを登録できます。 ただし、登録するエントリの数を同じにし、指定した順に相互にマップする必要があります。 詳細は、Sun Cluster HA for Sun Java System Web Server の登録と構成を参照してください。
Monitor_uri_list 拡張プロパティを使用するかどうかを決定する。 この拡張プロパティを使用して、任意の URI リストを監視できます。 Web を介してアクセス可能なその他のデータサービスを構成する場合は、任意の URI を監視するように設定します。 Monitor_Uri_List 拡張プロパティは、Sun Java System Web Server のセキュアインスタンスではサポートされません。 このプロパティを使用するには、リリース 3.1 10/03 Sun Cluster HA for Sun Java System Web Server をインストールする必要があります。 以前の Sun Cluster HA for Sun Java System Web Server からアップグレードする場合、新しいプロパティを使用するには、リソースタイプのアップグレードを行う必要があります。 手順については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「リソースタイプの更新」を参照してください。 拡張プロパティのオプション設定と Monitor_Uri_List の使用例については、Sun Cluster HA for Sun Java System Web Server 拡張プロパティの構成 を参照してください。
ログファイル、エラーファイル、PID ファイルをローカルファイルシステムのどこに置くかを決定する。
コンテンツをクラスタファイルシステムのどこに置くかを決定する。
以下の表は、インストールおよび構成のタスクを解説するセクションの一覧です。
表 1–1 Task Map: Sun Cluster HA for Sun Java System Web Server のインストールと構成
作業 |
参照先 |
---|---|
Sun Java System Web Server のインストール | |
Sun Cluster HA for Sun Java System Web Server パッケージのインストール | |
Sun Cluster HA for Sun Java System Web Server を登録し、データサービス用のクラスタを構成する方法については、Sun Cluster HA for Sun Java System Web Server の登録と構成 を参照 | |
リソース拡張プロパティの構成 | |
障害モニターの情報の表示 |
Sun Java System Web Server のインストール
Sun Java System Web Server を有効にし、Sun Cluster HA for Sun Java System Web Server として実行
Web サーバーに対する URL マッピングの設定では、いくつかの規則に従う必要があります。 たとえば、CGI ディレクトリを設定する場合、可用性を維持するには、マップしたディレクトリをクラスタファイルシステムに配置する必要があります。 たとえば、CGI ディレクトリを /global/pathname /cgi-bin にマップします。
CGI プログラムが、RDBMS などのバックエンドサーバーにアクセスする場合は、バックエンドサーバーも Sun Cluster によって制御されていることを確認してください。 バックエンドサーバーが Sun Cluster ソフトウェアによってサポートされる RDBMS の場合は、高可用性 RDBMS パッケージを使用してください。 バックエンドサーバーは、API を使用して Sun Cluster の制御下に置くこともできます。API については、『Sun Cluster Data Services Developer's Guide for Solaris OS』を参照してください。
この手順を実行するには、お使いの構成に関する以下の情報が必要です。
サーバーのルートディレクトリ (アプリケーションバイナリへのパス)。 バイナリは、ローカルディスクまたはクラスタファイルシステムにインストールできます。 それぞれの場所の利点および欠点に関しては、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「Sun Cluster データサービスの構成ガイドライン」を参照してください。
データサービスへのアクセスにクライアントが使用する論理ホスト名 (フェイルオーバーサービスの場合) または共有アドレス (スケーラブルサービスの場合)。 これらのアドレスを構成し、オンラインにしなければなりません。
Sun Cluster HA for Sun Java System Web Server サービスと別の HTTP サーバーを実行しており、これらが同じネットワークリソースを使用している場合は、それぞれ異なるポートで待機するように構成してください。 異なるポートで待機するように構成しないと、2 つのサーバーの間でポートの競合が発生します。
クラスタメンバー上でスーパーユーザーになります。
インストールを開始します。
Sun Java System Web Server を Solaris 8 にインストールする場合は、CD のインストールディレクトリから Sun Java System Web Server に setup コマンドを実行します。
Solaris 9 とパッケージされた Sun Java System Web Server をインストールする場合は、インストール CD の手順に従います。
Solaris 9 とパッケージされた Sun Java System Web Server をインストールする場合は、システムの再起動時に Web サーバーの自動開始を有効にしないでください。
プロンプトが表示されたら、Sun Java System Web Server バイナリをインストールする場所を入力します。
インストール場所には、クラスタファイルシステム上またはローカルディスク上の場所を指定します。 ローカルディスク上にインストールする場合は、次の手順で指定するネットワークリソース (論理ホスト名または共有アドレス) の主ノードとなる可能性があるすべてのクラスタノードに Web サーバーインストールします。
マシン名の入力プロンプトに対して、Sun Java System Web Server が依存する論理ホスト名と適切な DNS ドメイン名を入力します。
完全な論理ホスト名は、 network-resource.domainname の形式になります (例: schost-1.sun.com )。
Sun Cluster HA for Sun Java System Web Server のフェイルオーバーを正常に実行するには、マシン名の入力時に、物理ホスト名ではなく、論理ホスト名または共有アドレスリソース名のどちらかを指定します。
問い合わせが表示されたら、「Run admin server as root」を選択します。
Sun Java System インストールスクリプトが管理サーバー用として選択したポート番号を書き留めてください。 管理サーバーを使用して Sun Java System Web Server のインスタンスを構成するときに、このデフォルト値を使用できます。 デフォルト値を使用しない場合は、別のポート番号を指定できます。
問い合わせが表示されたら、サーバー管理者 ID とパスワードを入力します。
システムのガイドラインに従います。
管理サーバーが起動されることを示すメッセージが表示されたら、構成の準備は完了です。
この手順では、Sun Java System Web サーバーのインスタンスの可用性を高める構成方法について解説します。 この手順では、Web ブラウザを使用します。
この手順を実行するには、次の情報を確認しておく必要があります。
開始する前に、クラスタが存在するネットワークにアクセスできるマシン上にブラウザをインストールしていることを確認します。 ブラウザは、クラスタノードにもクラスタの管理ワークステーションにもインストールできます。
Sun Cluster HA for Sun Java System Web Server は、Sun Java System Proxy Server をサポートします。 Sun ONE Proxy Server 製品の詳細については、http://docs.sun.com/db/prod/s1.webproxys を参照してください。 Sun ONE Proxy Server のインストールと構成については、 http://docs.sun.com/db/coll/S1_ipwebproxysrvr36 を参照してください。
構成ファイルは、ローカルファイルシステムにもクラスタファイルシステムにも格納できます。
インスタンスの安全を保証するためのあらゆる証明書は、すべてのクラスタノードからインストールされる必要があります。 このインストールでは、各ノード上で管理コンソールを実行します。 したがって、クラスタにノード n1、n2、n3、および n4 が存在する場合、インストール手順は次のようになります。
ノード n1 上で管理サーバーを実行します。
Web ブラウザから http://n1. domain として管理サーバーに接続します。port (例:http://n1.eng.sun.com:8888 または、管理サーバーポートとして指定したポート)。 通常、このポートは 8888 です。
証明書をインストールします。
ノード n1 上で管理サーバーを停止して、ノード n2 から管理サーバーを実行します。
Web ブラウザから、新規管理サーバーに http://n2 .domain :port として接続します (例: http://n2.eng.sun.com:8888)。
ノード n3 と n4 に対しても上記手順を繰り返します。
上記の事項を考慮した後で、次の手順を行います。
Sun Java System Web Server をスケーラブルデータサービスとして構成する場合は、すべてのノードのローカルディスクに、ログ、エラーファイル、PID ファイルを格納するディレクトリを作成し、Sun Java System Web Server で管理するように設定します。
スケーラブル構成を正常に稼動するには、これらのファイルをクラスタファイルシステムではなく、クラスタの各ノードに配置する必要があります。 共有の記憶装置は、Sun Java System Web Server をフェイルオーバーデータサービスとして構成する場合以外は使用しません。
クラスタ内のすべてのノードにおいて、ローカルディスクの同じ場所を選択します。 mkdir -p コマンドを使用してディレクトリを作成します。 このディレクトリの所有者は nobodyにします。
次の例に、この手順を行う方法を示します。
phys-schost-1# mkdir -p /var/pathname/http-instance/logs/ |
エラーログや PID ファイルが大きくなると予想される場合、/var ディレクトリの容量は小さいので、このディレクトリに格納してはいけません。 その代わりに、大きなファイルを格納できるだけの十分な容量を持つパーティションに新しいディレクトリを作成します。
管理ワークステーションまたはクラスタノードから Netscape ブラウザを起動します。
1 つのクラスタノード上で、ディレクトリ https-admserv に移動し、次のように Sun Java System 管理サーバーを起動します。
# cd https-admserv # ./start |
Netscape ブラウザで Sun Java System 管理サーバーの URL を入力します。
URL は、サーバーのインストール手順 (手順 4) の Sun Java System インストールスクリプトによって確立される物理ホスト名とポート番号で構成されます (例: n1.eng.sun.com:8888 )。 手順 2 を実行すると、./start コマンドで管理 URL が表示されます。
プロンプトが表示されたら、サーバーのインストール手順 (手順 6) で指定したユーザー ID とパスワードを入力し、Sun Java System 管理サーバーインタフェースにログインします。
次の作業を行うには、可能な限り管理サーバーを使用し、そうでない場合だけ手動で変更するようにします。
このインスタンスの起動に使用するセキュアキーパスワードを含むファイルを作成してサーバーのルートディレクトリに置きます。 このファイルには、keypass という名前を付けます。
このファイルには、キーデータベースのパスワードが含まれています。適切なアクセス権を付与して、ファイルを保護する必要があります。
最初に Sun Cluster をインストールするときに、Sun Cluster HA for Sun Java System Web Server パッケージをインストールしなかった場合は、この手順でパッケージをインストールしてください。 Sun Cluster HA for Sun Java System Web Server パッケージをインストールする各クラスタノードで、この手順を実行します。
複数のデータサービスを同時にインストールする場合は、『Sun Cluster ソフトウェアのインストールガイド (Solaris OS 版)』の「ソフトウェアのインストール」に記載されている手順を実行してください。
Sun Java Enterprise System Common Installer プログラムは、コマンド行インタフェース (CLI) またはグラフィカルユーザーインタフェース (GUI) で実行できます。 作業の内容と順序は、CLI でも GUI でも同様です。
この手順を完了するには、Sun Java Enterprise System Common Installer CD-ROM が必要です。
Sun Cluster HA for Sun Java System Web Server パッケージをインストールするクラスタノードで、スーパーユーザーになります。
(省略可能) GUI を使用して Sun Java Enterprise System Common Installer プログラムを実行する場合は、DISPLAY
環境変数を設定しておく必要があります。
Sun Java Enterprise System Common Installer CD-ROM を CD-ROM ドライブにロードします。
ボリューム管理デーモン vold(1M) が実行されていて、CD-ROM デバイスを管理するように構成されている場合、CD-ROM は /cdrom ディレクトリに自動的にマウントされます。
CD-ROM の Sun Java Enterprise System Common Installer ディレクトリに変更します。
Sun Java Enterprise System Common Installer はこのディレクトリに常駐しています。
# cd /cdrom/Solaris_sparc |
Sun Java Enterprise System Common Installer プログラムを起動します。
# ./installer |
プロンプトが表示されると、ライセンス契約と適切な言語サポートを受諾します。
英語はデフォルトでサポートされています。
「Availability Services & Sun Cluster 3.1」サブコンポーネントで「Sun Cluster Agents for Sun Java System」を選択し、次に進みます。
この選択には、Sun Cluster HA for Sun Java System Web Server など、Sun Java System アプリケーションの Sun Cluster データサービスがすべて含まれます。
プロンプトが表示されると、インストールの種類を選択します。
最小構成をインストールするには、「Custom」を選択します。 必要な構成情報が要求されます。
データサービスパッケージのみをインストールし、構成は行なわない場合は、「Minimal」を選択します。
(任意) 製品を登録し、製品の最新情報を受け取りたくない場合は、「Product Registration」ボックスのチェックをはずします。
表示される手順に従って、ノードに Sun Cluster HA for Sun Java System Web Server パッケージをインストールします。
Sun Java Enterprise System Common Installer プログラムがインストールの進捗を表示します。 インストールが終了すると、プログラムはインストールの概要とインストールログを表示します。
Sun Java Enterprise System Common Installer プログラムを終了します。
インストーラプログラムを終了する前に、Sun Cluster HA for Sun Java System Web Server が問題なくインストールされているか必ず確認してください。 以下のコマンドを実行し、パッケージがインストールされているか確認します。
# pkginfo -l SUNWschtt |
Sun Java Enterprise System Common Installer CD-ROM を CD-ROM ドライブからアンロードします。
Sun Cluster HA for Sun Java System Web Server は、フェイルオーバーデータサービスまたはスケーラブルデータサービスとして構成できます。 Sun Cluster HA for Sun Java System Web Server をスケーラブルデータサービスとして構成する場合には、追加の手順を実行する必要があります。 ここでは、文頭に「スケーラブルサービスのみ」と明記しスケーラブルサービスの場合の追加手順を先に説明します。 フェイルオーバーサービスとスケーラブルサービスの個々の例は、その後ご説明します。
この節では、Sun Cluster HA for Sun Java System Web Server の登録と構成の方法について解説します。
scrgadm (1M) コマンドを使用した Sun Cluster HA for Sun Java System Web Server の登録方法と構成方法について説明します。
データサービスはここで説明するオプション以外のオプションを使用して登録と構成を行えます。 これらのオプションに関する詳細については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「データサービスリソースを管理するためのツール」を参照してください。
この手順を実行するには、次の情報を確認しておく必要があります。
Sun Cluster HA for Sun Java System Web Server のリソースタイプの名前。 この名前は、SUNW.iws です。
データサービスをマスターするクラスタノードの名前。 フェイルオーバーサービスの場合、同時にデータサービスをマスターできるノードは 1 つだけです。
データサービスへのアクセスにクライアントが使用する論理ホスト名 (フェイルオーバーサービスの場合) または共有アドレス (スケーラブルサービスの場合)。
Sun Java System バイナリプログラムのパス。 バイナリプログラムは、ローカルディスクまたはクラスタファイルシステムにインストールできます。 各インストール先の長所と短所については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「Sun Cluster データサービスの構成ガイドライン」を参照してください。
Sun Java System Web Server で使用される一連の IP アドレスは、Sun Java System アプリケーションリソースの Network_resources_used の設定によって決まります。 また、Sun Java System Web Server で使用されるポート番号は、リソースの Port_list の設定によって決まります。 障害モニターは、Sun Java System Web Server のデーモンが IP とポートのすべての組み合わせで待機しているとみなします。 ポート 80 以外のポート番号で待機するように Sun Java System Web Server の magnus.conf ファイルをカスタマイズしている場合は、magnus.conf ファイルに、IP アドレスとポートのすべての組み合わせを指定しておく必要があります。 障害モニターは、これらの組み合わせのすべてを検証し、Sun Java System Web Server が IP アドレスとポートの特定の組み合わせで待機していない場合はモニターを起動できません。 Sun Java System Web Server が IP アドレスとポートのすべての組み合わせに対応できない場合は、複数のインスタンスに分割する必要があります。
この手順は、すべてのクラスタメンバー上で実行します。
クラスタメンバー上でスーパーユーザーになります。
Sun Cluster HA for Sun Java System Web Server のリソースタイプを登録します。
# scrgadm -a -t SUNW.iws |
データサービスのリソースタイプを追加します。
当該データサービス用にあらかじめ定義されているリソースタイプを指定します。
ネットワークとアプリケーションのリソースを格納するためのフェイルオーバーリソースグループを作成します。
フェイルオーバーサービスの場合には、このリソースグループはアプリケーションリソースも保持します。
-h オプションを必要に応じて指定し、データサービスを実行できるノードグループを選択できます。
# scrgadm -a -g resource-group [-h nodelist] |
フェイルオーバーリソースグループの名前を指定します。 どのような名前でもかまいませんが、クラスタ内のリソースグループごとに一意である必要があります。
マスターを識別する物理ノード名または ID をコンマで区切って指定します (任意)。 フェイルオーバー時、ノードはこのリスト内の順番に従ってプライマリとして判別されます。
-h は、ノードリストの順序を指定するために使用します。 クラスタ内のすべてのノードが潜在マスターの場合、-h オプションを使用する必要はありません。
使用しているすべてのネットワークアドレスがネームサービスデータベースに追加されていることを確認します。
Sun Cluster のインストール時に、この確認を行なっておく必要があります。 詳細については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』の計画に関する章を参照してください。
ネームサービスの検索が原因で障害が発生するのを防ぐために、サーバーとクライアントの /etc/inet/hosts ファイルに、すべての論理ホスト名と共有アドレスが登録されていることを確認してください。 サーバーの /etc/nsswitch.conf のネームサービスマッピングは、NIS または NIS+ にアクセスする前に、最初にローカルファイルを検査するように構成してください。
ネットワークリソース (論理ホスト名または共有アドレス) をフェイルオーバーリソースグループに追加します。
# scrgadm -a {-S | -L} -g resource-group \ -l network-resource,… [-j resource] \ [-X auxnodelist=node, …] [-n netiflist] |
共有アドレスリソースには -S を、論理ホスト名リソースには -L を使用します。
フェイルオーバーリソースグループの名前を指定します。
追加するネットワークリソースをコンマで区切って指定します。 -j オプションを使用してリソース名を指定できます。 リソース名を指定しないと、ネットワークリソースの名前は、コンマで区切ったリストの最初の名前になります。
リソースの名前を指定します (省略可能)。 リソース名を指定しない場合、ネットワークリソース名は、デフォルトで -l オプションで最初に指定した名前になります。
共有アドレスをホストできるクラスタノード (ただし、フェイルオーバー時に主ノードとして使用されない) を識別する物理ノード ID をコンマで区切って指定します (オプション)。 このオプションを指定した場合は、これらのノードは、リソースグループの nodelist で指定されるノードと相互に排他的になります。
リソースグループの名前を指定します。 どのような名前でもかまいませんが、クラスタ内のリソースグループごとに一意である必要があります。
潜在マスターを識別する物理ノード名または ID をコンマで区切ったリストで指定します (省略可能)。 フェイルオーバー時、ノードはこのリスト内の順番に従ってプライマリとして判別されます。
各ノード上の IP ネットワークマルチパス グループをコンマで区切って指定します (省略可能)。 netiflist の各要素は、netif@node の形式で指定する必要があります。 netif は IP ネットワークマルチパス グループ名 (sc_ipmp0 など) として指定できます。 ノードは、sc_ipmp0@1、sc_ipmp@phys-schost-1 などのノード名またはノード IDで特定できます。
Sun Cluster では、現在、netif にアダプタ名を使用することはできません。
スケーラブルサービスのみ : 希望するすべてのクラスタノードで実行するスケーラブルリソースグループを作成します。
Sun Cluster HA for Sun Java System Web Server をフェイルオーバーデータサービスとして実行する場合は、この手順を省略して手順 8 に進んでください。
データサービスアプリケーションリソースを保持するリソースグループを作成します。 主ノードの最大数と希望数、およびこのリソースグループと 手順 3 で作成したフェイルオーバーリソースグループとの間の依存性について指定する必要があります。 この依存性によって、フェイルオーバー時に、Resource Group Manager (RGM) は、ネットワークリソースに依存する任意のデータサービスが開始される前に、そのネットワークリソースを開始できます。
# scrgadm -a -g resource-group \ -y Maximum_primaries=m -y Desired_primaries=n \ -y RG_dependencies=resource-group |
このリソースグループに許可するアクティブ主ノードの最大数を指定します。 このプロパティに値を指定しない場合は、デフォルトの 1 になります。
このリソースグループに許可するアクティブ主ノードの希望数を指定します。 このプロパティに値を指定しない場合は、デフォルトの 1 になります。
作成されたリソースグループが依存する共有アドレスリソースを含むリソースグループを指定します。
スケーラブルサービスのみ : スケーラブルリソースグループにアプリケーションリソースを作成します。
Sun Cluster HA for Sun Java System Web Server をフェイルオーバーデータサービスとして実行する場合は、この手順を省略して 手順 8 に進んでください。
この手順を繰り返し、複数のアプリケーションリソース (セキュアバージョンや非セキュアバージョンなど) を追加できます。
必要に応じて、データサービスの負荷均衡を設定します。 負荷均衡を設定するには、標準リソースプロパティの Load_balancing_policy と Load_balancing_weights を使用します。 これらのプロパティの解説につては、『 Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「標準プロパティ」を参照してください。 また、この節で説明している例も参照してください。
# scrgadm -a -j resource -g resource-group \ -t resource-type -y Network_resources_used=network-resource, … \ -y Port_list=port-number/protocol, … -y Scalable=True \ -x Confdir_list=config-directory, … |
追加するリソースの名前を指定します。
リソースが配置されるスケーラブルリソースグループの名前を指定します。
追加するリソースのタイプを指定します。
データサービスが使用する共有アドレスを指定するネットワークリソース名をコンマで区切って指定します。
使用するポート番号とプロトコルの対をコンマで区切って指定します (例 : 80/tcp, 81/tcp)。
スケーラブルサービスに必要なブール値を指定します。
Sun Java System 構成ファイルの位置をコンマで区切って指定します。 これは、Sun Cluster HA for Sun Java System Web Server の必須拡張プロパティです。
1 対 1 のマッピングは、Confdir_List と Port_List に適用されます。一方のリストに含まれる各値は、指定した順に、もう一方のリストの値と対応する必要があります。
フェイルオーバーサービスのみ : フェイルオーバーリソースグループにアプリケーションリソースを作成します。
この手順は、Sun Cluster HA for Sun Java System Web Server をフェイルオーバーデータサービスとして実行する場合だけ行なってください。 Sun Cluster HA for Sun Java System Web Server をスケーラブルサービスとして実行する場合は、前述の 手順 6 および 手順 7 を実行し、手順 10 へ進んでください。
この手順を繰り返し、複数のアプリケーションリソース (セキュアバージョンや非セキュアバージョンなど) を追加できます。
# scrgadm -a -j resource -g resource-group \ -t resource-type -y Network_resources_used=logical-hostname-list \ -y Port_list=port-number/protocol \ -x Confdir_list=config-directory |
追加するリソースの名前を指定します。
リソースが配置されるフェイルオーバーリソースグループの名前を指定します。
追加するリソースのタイプを指定します。
データサービスが使用する論理ホストを識別するネットワークリソースをコンマで区切って指定します。
使用するポート番号とプロトコルを指定します (例:80/tcp)。 Port_list と Confdir_list 間の 1 対 1 のマッピング規則により、フェイルオーバーサービスのための Port_list には、エントリを 1 つだけ登録します。
Sun Java System 構成ファイルの格納場所を指定します。 フェイルオーバーサービス用の Confdir_list には、エントリを 1 つだけ登録します。 config-directory には、config という文字が含まれているディレクトリを指定する必要があります。 これは、Sun Cluster HA for Sun Java System Web Server の必須拡張プロパティです。
必要に応じて、Sun Cluster HA for Sun Java System Web Server に属する拡張プロパティを追加設定することで、プロパティのデフォルト値を上書きできます。 これらのプロパティについては、表 1–2 を参照してください。
フェイルオーバーリソースグループをオンラインにします。
# scswitch -Z -g resource-group |
ネットワークリソースと障害モニターを有効にし、リソースグループを管理状態 ( MANAGED) に切り替え、オンラインにします。
フェイルオーバーリソースグループの名前を指定します。
スケーラブルサービスのみ : スケーラブルリソースグループをオンラインにします。
# scswitch -Z -g resource-group |
リソースとモニターを有効に設定し、リソースグループを MANAGED 状態にし、オンラインにします。
スケーラブルリソースグループの名前を指定します。
次に、スケーラブル Sun Cluster HA for Sun Java System Web Server の登録方法を示します。
Clister Information Node names: phys-schost-1, phys-schost-2 Shared address: schost-1 Resource groups: sa-resource-group-1 (共有アドレス), iws-resource-group-1 (スケーラブルアプリケーションリソース) Resources: schost-1 (共有アドレス), Sun-app-insecure-1 (非セキュア アプリケーションリソース), Sun-app-secure-1 (セキュアアプリケーションリソース) (共有アドレスを含むようにフェイルオーバーリソースグループを追加する) # scrgadm -a -g sa-resource-group-1 (フェイルオーバーリソースグループに共有アドレスリソースを追加する) # scrgadm -a -S -g sa-resource-group-1 -l schost-1 (スケーラブルリソースグループを追加する) # scrgadm -a -g iws-resource-group-1 -y Maximum_primaries=2 \ -y Desired_primaries=2 -y RG_dependencies=sa-resource-group-1 (Sun Cluster HA for Sun Java System Web Server リソースタイプを登録する) # scrgadm -a -t SUNW.iws (デフォルトの負荷分散を使用して非セキュアアプリケーションインスタンスを追加する) # scrgadm -a -j Sun-app-insecure-1 -g iws-resource-group-1 -t SUNW.iws \ -x Confdir_List=/opt/SunONE/https-Sun-app-insecure-1 \ -y Scalable=True -y Network_resources_used=schost-1 -y Port_list=80/tcp (スティッキー IP 負荷分散を使用してセキュアアプリケーションインスタンスを追加する) # scrgadm -a -j Sun-app-secure-1 -g iws-resource-group-1 -t SUNW.iws \ -x Confdir_List=/opt/SunONE/https-Sun-app-secure-1 \ -y Scalable=True -y Network_resources_used=schost-1 \ -y Port_list=443/tcp -y Load_balancing_policy=LB_STICKY \ -y Load_balancing_weights=40@1,60@2 (フェイルオーバーリソースグループをオンラインにする) # scswitch -Z -g sa-resource-group-1 (スケーラブルリソースグループをオンラインにする) # scswitch -Z -g iws-resource-group-1 |
次に、フェイルオーバー Sun Cluster HA for Sun Java System Web Server サービスを 2 ノードクラスタで登録する例を示します。
Cluster Information Node names: phys-schost-1, phys-schost-2 Logical hostname: schost-1 Resource group: resource-group-1 (すべてのリソース) Resources: schost-1 (論理ホスト名), Sun-app-insecure-1 (非セキュアアプリケーション アプリケーションリソース), Sun-app-secure-1 (セキュアアプリケーションリソース) (すべてのリソースを含むようにリソースグループを追加する) # scrgadm -a -g resource-group-1 (論理ホスト名リソースをリソースグループに追加する) # scrgadm -a -L -g resource-group-1 -l schost-1 (Sun Cluster HA for Sun Java System Web Server リソースタイプを登録する) # scrgadm -a -t SUNW.iws (非セキュアアプリケーションリソースインスタンスを追加する) # scrgadm -a -j Sun-app-insecure-1 -g resource-group-1 -t SUNW.iws \ -x Confdir_list=/opt/SunONE/conf -y Scalable=False \ -y Network_resources_used=schost-1 -y Port_list=80/tcp\ (セキュアアプリケーションリソースインスタンスを追加する) # scrgadm -a -j Sun-app-secure-1 -g resource-group-1 -t SUNW.iws \ -x Confdir_List=/opt/SunONE/https-Sun-app-secure-1 -y Scalable=False \ -y Network_resources_used=schost-1 -y Port_list=443/tcp \ (フェイルオーバーリソースグループをオンラインにする) # scswitch -Z -g resource-group-1 |
Sun Cluster 3.0 5/02 では、SUNW.HAStoragePlus リソースタイプが 取り入れられています。この新しいリソースタイプは SUNW.HAStorage と同じ機能を果たし、HA ストレージおよびデータサービス間でアクションを同期化します。
SUNW.HAStoragePlus には、ローカルファイルシステムを高可用性にする追加機能があります。
背景情報については、SUNW.HAStoragePlus(5) のマニュアルページと『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「リソースグループとディスク装置グループの関係」を参照してください。 新しいリソースの設定手順については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「リソースグループとディスクデバイスグループ間での起動の同期」を参照してください。 (Sun Cluster 3.0 5/02 より前のバージョンを使用している場合は、SUNW.HAStoragePlus ではなく、SUNW.HAStorage を設定する必要があります。 新しいリソースの設定手順については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「リソースグループとディスクデバイスグループ間での起動の同期」を参照してください。)
この節では、Sun Cluster HA for Sun Java System Web Server の拡張プロパティについて解説します。 フェイルオーバーの場合、データサービスは強制的に Confdir_list のサイズを 1 にします。 複数の構成ファイル (インスタンス) が必要な場合は、それぞれが Confdir_list エントリを 1 つ持つ複数のフェイルオーバーリソースを作成してください。
通常、拡張プロパティは、Sun Java System Web Server リソースを作成するときに、コマンド行から scrgadm -x parameter=value を実行して構成します。 Sun Cluster のすべてのプロパティの詳細については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「標準プロパティ」を参照してください。
Sun Java System Web サーバーに構成する拡張プロパティの詳細については、表 1–2 を参照してください。 Sun Java System Web Server リソースの作成時に必要な拡張プロパティは、Confdir_list プロパティだけです。 拡張プロパティの中には動的に変更できるものがあります。 それ以外の拡張プロパティは、リソースを作成するときにしか更新できません。 そのプロパティをいつ変更できるかについては、説明欄の「調整 : 」を参照してください。
表 1–2 Sun Cluster HA for Sun Java System Web Server 拡張プロパティ
Web サーバーの障害モニターで、Web サーバーが提供するアプリケーション (URI) の任意リストを検証する場合は、 Monitor_Uri_List 拡張プロパティを設定する必要があります。 この拡張プロパティによって、拡張された検証機能が提供されます。また、使用している Web サーバーのほかにサービスを階層状にする場合に、このプロパティは有用です。 Monitor_uri_list 拡張プロパティは、セキュア Sun Java System Web Server インスタンスではサポートされません。 Monitor_Uri_List 拡張プロパティを設定しない場合、障害モニターは通常の検証を行います。 詳細については、Sun Cluster HA for Sun Java System Web Server 障害モニター を参照してください。 次の例は、Sun Java System Web Server インスタンスを構成に追加する場合の Monitor_Uri_List 拡張プロパティの設定方法を示しています。
(デフォルトの負荷分散を使う非セキュア Sun Java System Web Server インスタンスを追加します。) example# scrgadm -a -j web-not-secure-1 -g resource-group-1 -t SUNW.iws \ -x Confdir_List=/opt/SunONE/https-Sun-app-insecure-1 \ -y Scalable=True -y Network_resources_used=schost-1 -y Port_list=8000/tcp -x Monitor_Uri_list=http://schost-1:8000/servlet/monitor |
(非セキュア Sun Java System Web Server アプリケーションリソースインスタンスを追加します。) example# scrgadm -a -j web-not-secure-1 -g resource-group-1 -t SUNW.iws \ -x Confdir_list=/opt/SunONE/conf -y Scalable=False \ -y Network_resources_used=schost-1 -y Port_list=80/tcp \ -x Monitor_Uri_list=http://schost-1:80/servlet/monitor |
Sun Cluster HA for Sun Java System Web Server の検証では、サーバーの状態を調べてサーバーが正常かどうかを判定します。 検証機能が実際にサーバーを照会する前に、ネットワークリソースがこの Web サーバーリソース用に構成されていることの確認が行われます。 ネットワークリソースが構成されていない場合は、エラーメッセージ (No network resources found for resource.) が記録され、検証はエラー終了します。
検証機能では、次の 2 つの Sun Java System Web Server 構成に対応する必要があります。
セキュアインスタンス
非セキュアインスタンス
検証機能では、Probe_timeout リソースプロパティに設定するタイムアウト値を使用して、Sun Java System Web Server を正常に検証するための試行時間を制限します。 このリソースプロパティの詳細については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「標準プロパティ」を参照してください。
Sun Java System Web Server リソースの Network_resources_used resource-property 設定は、Web サーバーが使用する一連の IP アドレスを決定します。 Sun Java System Web Server で使用されるポート番号は、Port_list リソースプロパティの設定によって決まります。 障害モニターは、Web サーバーが IP アドレスとポートのすべての組み合わせに対して待機しているとみなします。 ポート 80 以外のポート番号で待機するように Web サーバー構成をカスタマイズしている場合は、構成ファイル (magnus.conf) に IP アドレスとポートのすべての組み合わせが指定されていることを確認してください。 障害モニターは、すべての組み合わせを検証し、IP アドレスとポートの特定の組み合わせで Web サーバーが待機していない場合、検証は失敗します。
検証機能は、次のことを行います。
検証機能は、指定した IP アドレスとポートの組み合わせを使用し、Web サーバーに接続します。 正しく接続できない場合は、検証機能は致命的な異常が発生したと判断します。 その後、検証機能はこの異常を記録し、適切な処理を行います。
検証機能が正しく接続した場合は、Web サーバーがセキュアモードで実行されているかどうかを調べます。 セキュアモードで実行されている場合は、検証機能は Web サーバーとの接続を解除し、サーバーの状態が正常であると判断します。 セキュア Sun Java System Web Server については、これ以上のチェックは行われません。
ただし、Web サーバーが非セキュアモードで実行されている場合は、検証機能は HTTP 1.0 HEAD 要求を Web サーバーに送信し、応答を待ちます。 ネットワークトラフィックの混雑、過剰なシステム負荷、不適切な構成など、さまざまな理由によって要求が正しく処理できないことがあります。
不適切な構成は、検証される IP アドレスとポートのすべての組み合わせに対し、Web サーバーが待機するように構成されていない場合に生じます。 Web サーバーは、このリソースに指定した各 IP アドレスに対し、それぞれポートを提供する必要があります。
また、リソースの作成時に、Network_resources_used および Port_list リソースプロパティを正しく設定しないと、不適切な構成が生じます。
Probe_timeout リソースプロパティの制限時間内に照会に対する応答を受信しない場合、検証機能は Sun Cluster HA for Sun Java System Web Server で異常が発生したと判断します。 この異常は、検証の履歴に記録されます。
検証異常は、致命的な異常または部分的な異常になります。 致命的な異常とみなされる検証異常は、以下のとおりです。
サーバーへの接続に失敗した場合。次のエラーメッセージが表示されます。%s はホスト名、%d はポート番号です。
Failed to connect to %s port %d |
サーバーに接続しようとしてタイムアウト (Probe_timeout リソースプロパティのタイムアウト値を超過) した場合。
検証文字列をサーバーに送信することに失敗した場合。次のエラーメッセージが表示されます。最初の %s はホスト名、%d はポート番号です。 最後の %s はエラーの詳細です。
Failed to communicate with server %s port %d: %s |
モニターは、Retry_interval リソースプロパティで指定した期間内で、以下に示す 2 つの部分的な異常を累積し、1 つの致命的な異常としてカウントします。
部分的な異常とみなされる検証の障害は次のとおりです。
検証機能による照会に対し、サーバーからの応答を読み取ろうとしてタイムアウト (Probe_timeout リソースプロパティのタイムアウト値を超過) した場合。
その他の理由によってサーバーからデータを読み取ることに失敗した場合。次のエラーメッセージが表示されます。最初の %s はホスト名、%d はポート番号です。 最後の %s はエラーの詳細です。
Failed to communicate with server %s port %d: %s |
検証機能は Sun Java System Web Server サーバーに接続し、 Monitor_Uri_List の各 URI に HTTP 要求を送信することで、HTTP 1.1 GET チェックを実行します。 HTTP サーバーのリターンコードが 500 (Internal Server Error) となるか接続に失敗した場合、検証は対応処置を実行します。
HTTP 要求の結果は、失敗か成功のいずれかです。 すべての要求に対して、Sun Java System Web Server サーバーから応答があった場合、検証機能は復帰して次の検証とスリープのサイクルを続けます。
大量のネットワークトラフィック、大きなシステム負荷、不正な構成は、HTTP GET 検証の失敗の原因になります。 Monitor_Uri_List プロパティを正しく構成しないと、Monitor_Uri_List の URI が不正なポートまたはホスト名を含むため失敗の原因になります。 たとえば、Web サーバーのインスタンスが論理ホストの schost-1 で待機しており、URI は http://schost-2/servlet/monitor として指定されている場合、検証機能は /servlet/monitor を要求するために schost-2 に問い合わせようとします。
異常履歴に基づいて、データサービスのローカルでの再起動、またはデータサービスのフェイルオーバーのいずれかを実行します。 このアクションの詳細については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「Sun Cluster データサービス障害モニター」を参照してください。
次の条件に当てはまる場合は、SUNW.iws リソースタイプをアップグレードしてください。
旧バージョンの Sun Cluster HA for Sun Java System Web Server データサービスからアップグレードする
このデータサービスの新機能を使用する必要がある
リソースタイプをアップグレードする一般的な手順については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「リソースタイプのアップグレード」を参照してください。 このあと、 SUNW.iws リソースタイプのアップグレードを完了するために必要な情報を示します。
リソースタイプのバージョンと Sun Cluster データサービスのリリース間の関係を以下の表に示します。 Sun Cluster データサービスのリリースは、リソースタイプが導入されたバージョンを表します。
リソースタイプのバージョン |
Sun Cluster データサービスのリリース |
---|---|
1 |
1.0 |
3.1 |
3.1 5/03 |
4 |
3.1 10/03 |
登録されているリソースタイプのバージョンを調べるには、次のどちらかのコマンドを使用します。
scrgadm -p
scrgadm -pv
このリソースタイプに対応するリソースタイプ登録 (RTR) ファイルは /opt/SUNWschtt/etc/SUNW.iws です。
SUNW.iws リソースタイプの各インスタンスを編集するために必要な情報は、次のとおりです。
移行はいつでも実行できます。
Sun Cluster HA for Sun Java System Web Server データサービスの新機能を使用する場合は、Type_version プロパティに設定する必要がある値は 4 です。
配備済みのアプリケーションを監視する必要がある場合は、Monitor_Uri_List の拡張プロパティを 1 つの URI または URI のリストに対して設定し、検証するアプリケーションの場所を指定します。
次の例に、SUNW.iws リソースタイプのインスタンスを変更するコマンドの例を示します。
# scrgadm -c -j webserver-rs -y Type_version=4 \ -x Monitor_Uri_List=http://schost-1/test.html |
このコマンドは、以下のようにして webserver-rs という SUNW.iws リソース を変更します。
このリソースの Type_version プロパティには 4 が設定されます。
障害モニターの検証機能は、URI http://schost-1/test.html を監視します。