この章では、Sun Cluster HA for iPlanetTM Web Server のインストールと構成手順について説明します。このデータサービスは、以前 Sun Cluster HA for Netscape HTTP と呼んでいたものです。アプリケーションから出力される一部のエラーメッセージで、Netscape という名前が使用されることがありますが、このメッセージは、iPlanet Web Server のことを示しています。
この章の内容は次のとおりです。
Sun Cluster HA for iPlanet Web Server は、フェイルオーバーデータサービスまたはスケーラブルデータサービスとして構成できます。データサービス、リソースグループ、リソース、関連事項については、第 1 章「Sun Cluster データサービスの計画」および『Sun Cluster 3.0 12/01 の概念』を参照してください。
このデータサービスのインストールと構成には、SunPlex Manager を使用できます。詳細は、SunPlex Manager のオンラインヘルプを参照してください。
Sun Cluster 構成で複数のデータサービスを実行している場合は、任意の順序でデータサービスを設定できます (次の場合を除く)。Sun Cluster HA for iPlanet Web Server が Sun Cluster HA for DNS に依存している場合は、最初に DNS を設定する必要があります。詳細は、第 6 章「Sun Cluster HA for Domain Name Service (DNS) のインストールと構成」を参照してください。DNS ソフトウェアは、Solaris オペレーティング環境に含まれています。クラスタが別のサーバーから DNS サービスを取得する場合は、最初に、クラスタが DNS クライアントになるように構成してください。
インストール後は、クラスタ管理コマンドの scswitch(1M) を使用する場合を除き、手作業で iPlanet Web Server を起動したり、停止しないでください。詳細は、マニュアルページを参照してください。iPlanet Web Server は、起動後は Sun Cluster ソフトウェアによって制御されます。
Sun Cluster HA for iPlanet Web Server のインストールと構成を行う前に、構成ワークシートをチェックリストとして使用し、以降の手順を実行してください。
インストールを開始する前に、以下の点を検討します。
フェイルオーバーデータサービス、スケーラブルデータサービスのどちらで Sun Cluster HA for iPlanet Web Server を使用するか。この 2 種類のサービスについては、『Sun Cluster 3.0 12/01 の概念』を参照してください。スケーラブルサービスとして実行する場合は、以下の点を検討します。
どのノードがスケーラブルサービスをホストするのか。ほとんどの場合はノード全体にしますが、ビスをホストするノードを制限することもできます。サービスをホストするノードを制限することもできます。
iPlanet Web Server インスタンスが、スティッキー IP を必要とするかどうか。スティッキー IP は、Load_balancing_policy のリソースプロパティ設定です。クライアント状態がメモリーに格納されるため、同じノードからの戻りトラフィックは、常に同じクラスタノードに行きます。負荷均衡ポリシーは任意のものを選択できます。詳細は、付録 A 「標準プロパティ」 のリソースプロパティの表を参照してください。
Load_balancing_policy が LB_STICKY または LB_STICKY_WILD に設定されているオンラインスケーラブルサービスの場合、Load_balancing_weights を変更するには注意が必要です。サービスがオンラインのときにこれらのプロパティを変更すると、既存のクライアントとの関連がリセットされます。したがって、そのクライアントが以前にクラスタ内の別のクラスタメンバーからサービスを受けていても、異なるノードがそのクライアントの要求を処理します。
同様に、サービスの新しいインスタンスがクラスタで起動された場合は、既存のクライアントとの関連がリセットされることがあります。
Web サーバーのルートをどこに置くか。
Web サーバーは、別の高可用性アプリケーションにデータを提供するかどうか。データを提供する場合は、リソースの一方がもう一方よりも先に起動し停止するように、リソース間の依存性が必要になります。この依存性を設定するリソースプロパティの Resource_dependencies については、付録 A 「標準プロパティ」 を参照してください。
ネットワークアドレスおよびアプリケーションリソースに使用するリソースグループ、およびそれらの間に存在する依存性を決定する。これらの依存性を設定するリソースグループプロパティの RG_dependencie については、付録 A 「標準プロパティ」 を参照してください。
データサービスへのアクセスにクライアントが使用する論理ホスト名 (フェイルオーバーサービスの場合) または共有アドレス (スケーラブルサービスの場合) を指定する。
iPlanet Web Server は INADDR_ANY にバインドするように構成できるため、iPlanet Web Server の複数のインスタンス、または同じノード上の複数のデータサービスを実行する予定の場合は、各インスタンスが一意のネットワークリソースとポート番号にバインドする必要があります。
Confdir_list および Port_list プロパティのエントリを決定する。フェイルオーバーサービスの場合、この 2 つのプロパティに登録できるエントリは、それぞれ 1 つだけです。スケーラブルサービスの場合は、複数のエントリを登録できます。ただし、登録するエントリの数を同じにし、指定した順に相互にマップする必要があります。詳細は、「Sun Cluster HA for iPlanet Web Server を登録して構成する」 を参照してください。
ログファイル、エラーファイル、PID ファイルをローカルファイルシステムのどこに置くかを決定する。
コンテンツをクラスタファイルシステムのどこに置くかを決定する。
表 3-1 に、インストールと構成作業について説明している節を示します
表 3-1 作業マップ: Sun Cluster HA for iPlanet Web Server のインストールと構成
作業 |
参照箇所 |
---|---|
iPlanet Web Server のインストール | |
Sun Cluster HA for iPlanet Web Server パッケージのインストール | |
Sun Cluster HA for iPlanet Web Server の構成 | |
リソース拡張プロパティの構成 | |
障害モニターの情報の表示 |
この節では、setup コマンドを使って次の作業を行う手順を説明します。
iPlanet Web Server をインストールする。
Sun Cluster HA for iPlanet Web Server として動作するように iPlanet Web Server を設定する。
Web サーバーに対する URL マッピングの設定では、いくつかの規則に従う必要があります。たとえば、CGI ディレクトリを設定する場合、可用性を維持するには、マップしたディレクトリをクラスタファイルシステムに配置する必要があります。たとえば、CGI ディレクトリを /global/pathname/cgi-bin にマップします。
CGI プログラムが、RDBMS などのバックエンドサーバーにアクセスするような状況では、そのバックエンドサーバーも Sun Cluster によって制御されていることを確認してください。そのサーバーが、Sun Cluster がサポートする RDBMS の場合には、高可用性 RDBMS パッケージのいずれか 1 つを使用します。サポートされない RDBMS の場合は、API を使用してそのサーバーを Sun Cluster の制御下に置きます。API については、『Sun Cluster 3.0 12/01 データサービス開発ガイド』を参照してください。
この手順を実行するには、構成に関する次の情報が必要になります。
サーバーのルートディレクトリ (アプリケーションバイナリへのパス)。バイナリは、ローカルディスクまたはクラスタファイルシステムにインストールできます。これらの場所にインストールした場合の長所と短所については、「アプリケーションバイナリの格納先の決定」を参照してください。
データサービスへのアクセスにクライアントが使用する論理ホスト名 (フェイルオーバーサービスの場合) または共有アドレス (スケーラブルサービスの場合)。これらのアドレスを構成し、オンラインにしなければなりません。
Sun Cluster HA for iPlanet Web Server サービスと別の HTTP サーバーを実行しており、これらが同じネットワークリソースを使用している場合は、それぞれ異なるポートで待機するように構成してください。異なるポートで待機するように構成しないと、2 つのサーバーの間でポートの衝突が発生します。
クラスタメンバーでスーパーユーザーになります。
CD の iPlanet インストールディレクトリから setup コマンドを実行します。
プロンプトが表示されたら、iPlanet サーバーバイナリをインストールする場所を入力します。
インストール場所には、クラスタファイルシステム上またはローカルディスク上の場所を指定します。ローカルディスクにインストールする場合は、次の手順で指定するネットワークリソース (論理ホスト名または共有アドレス) の潜在的主ノードになるすべてのクラスタノード上で setup コマンドを実行してください。
マシン名の入力が求められたら、iPlanet サーバーが依存する論理ホスト名と適切な DNS ドメイン名を入力します。
完全な論理ホスト名は、network-resource.domainname の形式になります (例: schost-1.sun.com)。
Sun Cluster HA for iPlanet Web Server が正しくフェイルオーバーするには、マシン名の入力を求められたときには、常に、物理ホスト名ではなく、論理ホスト名または共有アドレスリソース名のいずれかを使用する必要があります。
問い合わせが表示されたら、「Run admin server as root」を選択します。
iPlanet インストールスクリプトが管理サーバー用として選択するポート番号を書き留めてください。あとで管理サーバーを使用して iPlanet Web サーバーのインスタンスを構成する時に、このデフォルト値を使用したい場合があるかもしれません。デフォルト値を使用しない場合は、別のポート番号を指定することもできます。
問い合わせが表示されたら、サーバー管理者 ID とパスワードを入力します。
システムのガイドラインに従います。
管理サーバーが起動されることを示すメッセージが表示されたら、構成の準備は完了です。
Web サーバーを構成する場合は、以下の節の 1 つを参照してください。
Web サーバーのセキュアインスタンス (セキュリティ保護されたインスタンス) を構成する場合は、使用中の iPlanet Web Server のバージョンを確認したあとで以下の節の 1 つを参照してください。
「iPlanet Web Server (iPlanet Web Server 5.0) のセキュアインスタンスを設定する」
「iPlanet Web Server (iPlanet Web Server 6.0) のセキュアインスタンスを設定する」
Web サーバーの非セキュア (セキュリティ保護されない) インスタンスを構成するには、次の節を参照してください。
iPlanet Web Server のセキュアインスタンス用にインストールされた証明書をすべてのクラスタノードからインストールする必要があります。以下の作業では、各ノードで管理コンソールを実行します。
使用する iPlanet Web Server のリリースを確認します。
iPlanet Web Server 5.0 を使用する場合は、次の手順へ進んでください。
iPlanet Web Server 6.0 を使用する場合は、「iPlanet Web Server (iPlanet Web Server 6.0) のセキュアインスタンスを設定する」を参照してください。
iPlanet Web Server のセキュアインスタンスをインストールする場合は、このまま続行してください。
iPlanet Web Server のセキュアインスタンスをインストールしない場合は、「iPlanet Web Server を構成する」へ進んでください。
node1 で管理サーバーを実行します。
Web ブラウザから、http://node1.domain:port として管理サーバーに接続します。
http://phys-schost-1.eng.sun.com:8888 など、管理サーバーポートとして指定した任意のポートを指定してください。通常、ポートは 8888 です。
node1 に証明書をインストールします。
node1 の管理サーバーを停止し、node2 から管理サーバーを実行します。
Web ブラウザから、次のように新しい管理サーバーに接続します。http://node2domain:port
(例: http://phys-schost-2.eng.sun.com:8888)
ほかのノードについても、これらの手順を繰り返します。
「iPlanet Web Server を構成する」 へ進んでください。
iPlanet Web Server のセキュアインスタンス用にインストールされた証明書をすべてのクラスタノードからインストールする必要があります。以下の作業では、各ノードで管理コンソールを実行します。
使用する iPlanet Web Server のリリースを確認します。
iPlanet Web Server 6.0 を使用する場合は、次の手順へ進んでください。
iPlanet Web Server 5.0 を使用する場合は、「iPlanet Web Server (iPlanet Web Server 5.0) のセキュアインスタンスを設定する」を参照してください。
iPlanet Web Server のセキュアインスタンスをインストールする場合は、このまま続行してください。
iPlanet Web Server のセキュアインスタンスをインストールしない場合は、「iPlanet Web Server を構成する」へ進んでください。
node1 で管理サーバーを実行します。
Web ブラウザから、http://node1.domain:port として管理サーバーに接続します。
例: http://phys-schost-1.eng.sun.com:8888
インストール時に管理サーバーポートとして指定したポート番号を使用してください。デフォルトのポート番号は 8888 です。
node1 に証明書をインストールします。
このインストールにより、3 つの証明書ファイルが作成されます。その 1 つ secmod.db はすべてのノードに共通するもので、ほかの 2 つは node1 固有のものです。これらのファイルは、iPlanet Web Server ファイルがインストールされているディレクトリの下にある alias サブディレクトリに置かれます。
クラスタファイルシステムに iPlanet Web Server をインストールした場合は、以下の作業を行なってください。ローカルファイルシステムに iPlanet Web Server をインストールした場合は、手順 5 へ進んでください。
手順 5 で証明書をインストールした時に作成した 3 つのファイルの場所とファイル名を書き留めます。
たとえば、/global/iws/servers に iPlanet Web Server をインストールし、証明書のインストール時に IP アドレス IPx を使用した場合、node1 におけるファイルのパスは次のようになります。
/global/iws/servers/alias/secmod.db
/global/iws/servers/alias/https-IPx-node1-cert7.db
/global/iws/servers/alias/https-IPx-node1-key3.db
node1 のノード固有ファイルに対し、ほかのすべてのクラスタノードのシンボリックリンクを作成します。
次の例のファイルパスを使用しているシステムに合わせて読み替えてください。
ln -s /global/iws/servers/alias/https-IPx-node1-cert7.db /global/iws/servers/alias/https-IPx-node2-cert7.db ln -s /global/iws/servers/alias/https-IPx-node1-key3.db /global/iws/servers/alias/https-IPx-node2-key3.db |
iPlanet Web Server をローカルファイルシステムにインストールした場合は、以下の作業を行います。
手順 3 で証明書をインストールした時に node1 に作成した 3 つのファイルの場所とファイル名を書き留めます。
たとえば、/local/iws/servers に iPlanet Web Server をインストールし、証明書のインストール時に IP アドレス IPx を使用した場合、node1 におけるファイルのパスは次のようになります。
/local/iws/servers/alias/secmod.db
/local/iws/servers/alias/https-IPx-node1-cert7.db
/local/iws/servers/alias/https-IPx-node1-key3.db
これらの 3 つの証明書ファイルをクラスタファイルシステム上の位置に移動します。
次の例のファイルパスを使用しているシステムに合わせて読み替えてください。
mv /local/iws/servers/alias/secmod.db /global/secure/secmod.db mv /local/iws/servers/alias/https-IPx-node1-cert7.db /global/secure/https-IPx-node1-cert7.db mv /local/iws/servers/alias/https-IPx-node1-key3.db /global/secure/https-IPx-node1-key3.db |
3 つの証明書ファイルのローカルパスとグローバルパス間にシンボリックリンクを作成します。
シンボリックリンクは、クラスタノードごとに作成してください。
次の例のファイルパスを使用しているシステムに合わせて読み替えてください。
Symbolic links for node1 ln -s /global/secure/secmod.db /local/iws/servers/alias/secmod.db ln -s /global/secure/https-IPx-node1-cert7.db /local/iws/servers/alias/https-IPx-node1-cert7.db ln -s /global/secure/https-IPx-node1-key3.db /local/iws/servers/alias/https-IPx-node1-key3.db Symbolic links for node2 ln -s /global/secure/secmod.db /local/iws/servers/alias/secmod.db ln -s /global/secure/https-IPx-node1-cert7.db /local/iws/servers/alias/https-IPx-node2-cert7.db ln -s /global/secure/https-IPx-node1-key3.db /local/iws/servers/alias/https-IPx-node2-key3.db |
「iPlanet Web Server を構成する」へ進んでください。
この手順では、iPlanet Web Server のインスタンスを構成し、高可用性を実現する方法について説明します。この手順では、Web ブラウザを使用します。
構成ファイルは、ローカルファイルシステムまたはクラスタファイルシステムのいずれかに配置できます。
この Web サーバーの非セキュアインスタンスをインストールする場合は、このまま続行してください。
iPlanet Web Server のセキュアインスタンスをインストールする場合で、iPlanet Web Server 5.0 を使用するときは、「iPlanet Web Server (iPlanet Web Server 5.0) のセキュアインスタンスを設定する」を参照してください。
iPlanet Web Server のセキュアインスタンスをインストールする場合で、iPlanet Web Server 6.0 を使用するときは、「iPlanet Web Server (iPlanet Web Server 6.0) のセキュアインスタンスを設定する」を参照してください。
クラスタが存在するネットワークにアクセスできるマシン上に Netscape ブラウザがインストールされていることを確認してください。
ブラウザは、クラスタノードまたはクラスタの管理ワークステーションにインストールできます。
管理ワークステーションまたはクラスタノードから、Netscape ブラウザを起動します。
クラスタノードのいずれか 1 つで、https-admserv ディレクトリに移動し、iPlanet 管理サーバーを起動します。
cd https-admserv ./start |
iPlanet 管理サーバーの URL を Netscape ブラウザに入力します。
URL は、サーバーのインストール手順 ( 手順 4 ) の iPlanet インストールスクリプトによって確立される物理ホスト名とポート番号で構成されます (例: n1.eng.sun.com:8888)。手順 4 を実行すると、./start コマンドで管理 URL が表示されます。
プロンプトが表示されたら、サーバーのインストール手順 (手順 6) で指定したユーザー ID とパスワードを使用し、iPlanet 管理サーバーインタフェースにログインします。
作成された iPlanet Web Server インスタンスの管理を開始します。
別のインスタンスが必要な場合は、ここで作成します。
管理用グラフィカルインタフェースでは、iPlanet サーバー構成の詳細を含むフォームが提供されます。以下の項目を除き、このフォームをデフォルト値のまま使用できます。
すべてのノードのローカルディスクにディレクトリを作成し、iPlanet Web Server が管理するログ、エラーファイル、PID ファイルを保持できるようにします。
iPlanet が正しく動作するためには、これらのファイルが、クラスタファイルシステムではなく、各クラスタノードに配置されている必要があります。
すべてのクラスタノードと同じローカルディスク上の場所を選択します。ディレクトリを作成する場合は、mkdir -p コマンドを使用します。このディレクトリの所有者は、nobody にします。
次に、このステップを完成する例を示します。
phys-schost-1# mkdir -p /var/pathname/http-instance/logs/ |
ログファイルまたは PID ファイルのサイズが大きくなる可能性がある場合は、これらのファイルがディレクトリを圧迫するため、/var 下のディレクトリに配置しないでください。サイズの大きなファイルを扱うのに十分な空き容量のあるパーティションにディレクトリを作成してください。
magnus.conf ファイルの ErrorLog、PidLog、およびアクセスログエントリに前の手順で作成したディレクトリを反映させ、管理者のインタフェースからこの変更を同期させます。
magnus.conf ファイルは、エラーファイル、アクセスファイル、および PID ファイルの場所を指定します。このファイルを編集し、エラーおよび PID ファイルの場所を 手順 7 で作成したディレクトリに変更してください。magnus.conf ファイルは、iPlanet サーバーインスタンスの config ディレクトリにあります。インスタンスディレクトリがローカルファイルシステムにある場合は、magnus.conf ファイルを各ノードで変更する必要があります。
元のファイルは、次のように設定されているはずです。
ErrorLog /global/data/netscape/https-schost-1/logs/error PidLog /global/data/netscape/https-insecure-schost-1/logs/pid ... Init fn=flex-init access="$accesslog" ... |
元のファイルを次のように変更してください。
ErrorLog /var/pathname/http-instance/logs/error PidLog /var/pathname/http-instance/logs/pid ... Init fn=flex-init access:/var/pathname/http-instance/logs/access" ... |
管理者のインタフェースが変更を検知すると、次の警告メッセージが表示されます。
Warning: Manual edits not loaded Some configuration files have been edited by hand. Use the Apply button on the upper right side of the screen to load the latest configuration files. |
問い合わせが表示されたら、「Apply」をクリックします。
管理者のインタフェースに、次のメッセージが表示されます。
Configuration files have been edited by hand. Use this button to load the latest configuration files. |
「Load Configuration Files」をクリックします。
管理者のインタフェースを使用し、アクセスログファイルの場所を設定します。
管理用グラフィカルインタフェースで、「Preferences」タブをクリックし、サイドバーの「Logging Options」をクリックします。GUI にアクセスログのパラメータを構成するためのフォームが表示されます。
手順 7 で作成したディレクトリに配置するようにログファイルの場所を変更します。
次の例に、ログファイルの変更を示します。
Log File: /var/pathname/http-instance/logs/access |
「Save」をクリックして変更を保存します。
「Save and Apply」をクリックしないでください。iPlanet Web Server が起動します。
Sun Cluster 3.0 Agents 12/01 CD-ROM からまだ Sun Cluster HA for iPlanet Web Server パッケージをインストールしていない場合は、「Sun Cluster HA for iPlanet Web Server パッケージのインストール」へ進んでください。パッケージがインストールされている場合は、「Sun Cluster HA for iPlanet Web Server の登録と構成」へ進みます。
scinstall(1M) ユーティリティーを使って、SUNWschtt (Sun Cluster HA for iPlanet Web Server パッケージ) をクラスタにインストールします。このときに、非対話型の scinstall に CD のすべてのデータサービスパッケージをインストールする -s オプションを指定しないでください。
Sun Cluster のインストール時にこのデータサービスパッケージをすでにインストールしてある場合は、「Sun Cluster HA for iPlanet Web Server の登録と構成」へ進んでください。まだインストールしていない場合は、次の手順に従って SUNWschtt パッケージをインストールします。
この手順を実行するには、Sun Cluster 3.0 Agents 12/01 CD-ROM が必要です。Sun Cluster HA for iPlanet Web Server を実行するすべてのクラスタノードで、この手順を実行してください。
Sun Cluster 3.0 Agents 12/01 CD-ROM を CD-ROM ドライブに挿入します。
オプションは指定せずに、scinstall ユーティリティーを実行します。
scinstall ユーティリティーが対話型モードで起動します。
メニューオプション「Add Support for New Data Service to This Cluster Node」を選択します。
scinstall ユーティリティーにより、ほかの情報を入力するためのプロンプトが表示されます。
Sun Cluster 3.0 Agents 12/01 CD-ROM のパスを指定します。
このユーティリティーでは、この CD は "data services cd" と示されます。
インストールするデータサービスを指定します。
選択したデータサービスが scinstall ユーティリティーによって示され、この選択の確認が求められます。
scinstall ユーティリティーを終了します。
ドライブから CD を取り出します。
「Sun Cluster HA for iPlanet Web Server の登録と構成」を参照して Sun Cluster HA for iPlanet Web Server の登録を行い、このデータサービス用にクラスタを構成してください。
Sun Cluster HA for iPlanet Web Server は、フェイルオーバーデータサービスまたはスケーラブルデータサービスとして構成できます。iPlanet をスケーラブルデータサービスとして構成する場合には、追加の手順を実行する必要があります。この節では、先頭に「スケーラブルサービスのみ」と付けて、まずスケーラブルサービスの場合の追加手順を示しています。フェイルオーバーサービスおよびスケーラブルサービスの個々の例を、その後に示しています。
この手順は、scrgadm(1M) コマンドを使って Sun Cluster HA for iPlanet Web Server の登録と構成を行う方法を述べたものです。
このデータサービスの登録と構成は、他のいくつかの方法でも行うことができます。これらの方法については、「データサービスリソースを管理するためのツール」を参照してください。
この手順の実行には次の情報が必要です。
Sun Cluster HA for iPlanet Web Server のリソースタイプの名前。この名前は、SUNW.iws です。
データサービスをマスターするクラスタノードの名前。フェイルオーバーサービスの場合、同時にデータサービスをマスターできるノードは 1 つだけです。
データサービスへのアクセスにクライアントが使用する論理ホスト名 (フェイルオーバーサービスの場合) または共有アドレス (スケーラブルサービスの場合)。
iPlanet バイナリへのパス。バイナリは、ローカルディスクまたはクラスタファイルシステムにインストールできます。各場所にインストールした場合の長所と短所については、「アプリケーションバイナリの格納先の決定」を参照してください。
iPlanet アプリケーションリソースの Network_resources_used の設定は、iPlanet Web Server によって使用される一連の IP アドレスを決定します。また、リソースの Port_list の設定は、iPlanet Web Server で使用されるポート番号のリストを決定します。障害モニターでは、iPlanet Web Server のデーモンが IP とポートのすべての組み合わせで待機することを想定します。ポート 80 以外の別のポート番号で待機するように iPlanet Web Server の magnus.conf ファイルをカスタマイズしている場合は、magnus.conf ファイルに、IP アドレスとポートの可能なすべての組み合わせが含まれている必要があります。障害モニターは、これらの組み合わせすべてを検証し、iPlanet Web Server が IP アドレスとポートの特定の組み合わせで待機していない場合にモニターの起動に失敗します。iPlanet Web Server が IP アドレスとポートの組み合わせの一部を提供しない場合は、それを行う別のインスタンスに iPlanet Web Server を分割する必要があります。
この手順は、任意のクラスタメンバーで実行します。
クラスタメンバーでスーパーユーザーになります。
Sun Cluster HA for iPlanet Web Server のリソースタイプを登録します。
# scrgadm -a -t SUNW.iws |
データサービスのリソースタイプを追加します。
データサービス用に事前に定義したリソースタイプ名を指定します。
ネットワークリソースおよびアプリケーションリソースを保持するフェイルオーバーリソースグループを作成します。
フェイルオーバーサービスの場合には、このリソースグループはアプリケーションリソースも保持します。
必要に応じて、-h オプションを指定し、データサービスを実行できる一群のノードを選択することもできます。
# scrgadm -a -g resource-group [-h nodelist] |
フェイルオーバーリソースグループの名前を指定します。任意の名前を指定できますが、クラスタ内で一意のリソースグループにする必要があります。
潜在的マスターを識別する物理ノード名または ID をコンマで区切って指定します (任意)。フェイルオーバー時は、この順序で主ノードが決まります。
-h を使用してノードリストの順序を指定します。クラスタ内のすべてのノードが潜在的マスターの場合、-h オプションを使用する必要はありません。
使用しているすべてのネットワークアドレスがネームサービスデータベースに追加されていることを確認します。
Sun Cluster のインストール時に、この確認を行います。詳細は、『Sun Cluster 3.0 12/01 ソフトウェアのインストール』の計画に関する章を参照してください。
ネームサービスの検索が原因で障害が発生するのを防ぐために、サーバーおよびクライアントの /etc/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 で指定されるノードと相互に排他的になります。
各ノード上の NAFO グループをコンマで区切って指定します (省略可能)。リソースグループの nodelist 内のすべてのノードが、netiflist に含まれている必要があります。このオプションを指定しない場合は、scrgadm(1M) コマンドは、nodelist 内の各ノードの hostname リストによって指定されるサブネット上からネットアダプタを見つけようとします。例: -n nafo0@nodename, nafo0@nodename2
スケーラブルサービスのみ: 希望するすべてのクラスタノードで実行するスケーラブルリソースグループを作成します。
Sun Cluster HA for iPlanet 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 iPlanet Web Server をフェイルオーバーデータサービスとして使用する場合は、この手順を実行せずに 手順 8 へ進んでください。
この手順を繰り返し、複数のアプリケーションリソース (セキュアバージョンや非セキュアバージョンなど) を追加できます。
必要に応じて、データサービスの負荷均衡を設定します。負荷均衡を設定するには、標準リソースプロパティの Load_balancing_policy と Load_balancing_weights を使用します。これらのプロパティの詳細については、付録 A 「標準プロパティ」 を参照してください。また、この節で説明している例も参照してください。
# 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)。
スケーラブルサービスに必要なブール値を指定します。
iPlanet 構成ファイルの位置をコンマで区切って指定します。Sun Cluster HA for iPlanet Web Server はこの拡張プロパティを必要とします。
1 対 1 のマッピングは、Confdir_List と Port_List に適用されます。一方のリストに含まれる各値は、指定した順に、もう一方のリストの値と一致する必要があります。
フェイルオーバーサービスのみ: フェイルオーバーリソースグループにアプリケーションリソースを作成します。
この手順は、Sun Cluster HA for iPlanet Web Server をフェイルオーバーデータサービスとして実行する場合だけ実行してください。Sun Cluster HA for iPlanet 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 つだけ登録します。
iPlanet 構成ファイルの場所を指定します。フェイルオーバーサービスのための Confdir_list には、エントリを 1 つだけ登録します。config-directory には、config という名前のディレクトリが含まれている必要があります。Sun Cluster HA for iPlanet Web Server は、この拡張プロパティを必要とします。
必要に応じて、iPlanet データサービスに属する拡張プロパティを追加設定し、プロパティのデフォルト値を上書きできます。拡張プロパティについては、表 3-2 を参照してください。
フェイルオーバーリソースグループをオンラインにします。
# scswitch -Z -g resource-group |
ネットワークリソースと障害モニターを有効に設定し、リソースグループを管理状態に切り替え、オンラインにします。
フェイルオーバーリソースグループの名前を指定します。
スケーラブルサービスのみ:スケーラブルリソースグループをオンラインにします。
# scswitch -Z -g resource-group |
リソースとモニターを有効に設定し、リソースグループを管理状態にし、オンラインにします。
スケーラブルリソースグループの名前を指定します。
次に、スケーラブル iPlanet サービスを登録する方法を示します。
Cluster Information Node names: phys-schost-1, phys-schost-2 Shared address: schost-1 Resource groups: sa-resource-group-1 (共有アドレスの場合), iws-resource-group-1 (スケーラブル iPlanet アプリケーションリソースの場合) Resources: schost-1 (共有アドレス), iplanet-insecure-1 (非セキュア iPlanet アプリケーションリソース), iplanet-secure-1 (セキュア iPlanet アプリケーション リソース) (共有アドレスを含むようにフェイルオーバーリソースグループを追加する) # 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 (iPlanet リソースタイプを登録する) # scrgadm -a -t SUNW.iws (デフォルトの負荷分散を使用して非セキュア iPlanet インスタンスを追加する) # scrgadm -a -j iplanet-insecure-1 -g iws-resource-group-1 -t SUNW.iws ¥ -x Confdir_List=/opt/iplanet/https-iplanet-insecure-1 ¥ -y Scalable=True -y Network_resources_used=schost-1 -y Port_list=80/tcp (スティッキー IP 負荷分散を使用してセキュア iPlanet インスタンスを追加する) # scrgadm -a -j iplanet-secure-1 -g iws-resource-group-1 -t SUNW.iws ¥ -x Confdir_List=/opt/iplanet/https-iplanet-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_weight=40@1,60@2 (フェイルオーバーリソースグループをオンラインにする) # scswitch -Z -g sa-resource-group-1 (スケーラブルリソースグループをオンラインにする) # scswitch -Z -g iws-resource-group-1 |
次に、フェイルオーバー iPlanet サービスを 2 ノードクラスタで登録する例を示します。
Cluster Information Node names: phys-schost-1, phys-schost-2 Logical hostname: schost-1 Resource group: resource-group-1 (すべてのリソースに適用) Resources: schost-1 (論理ホスト名), iplanet-insecure-1 (非セキュア iPlanet アプリケーションリソース), iplanet-secure-1 (セキュア iPlanet アプリケーション リソース) (リソースグループを追加してすべてのリソースを含める) # scrgadm -a -g resource-group-1 (論理ホスト名リソースをリソースグループに追加する) # scrgadm -a -L -g resource-group-1 -l schost-1 (iPlanet リソースタイプを登録する) # scrgadm -a -t SUNW.iws (非セキュア iPlanet アプリケーションリソースインスタンスを追加する # scrgadm -a -j iplanet-insecure-1 -g resource-group-1 -t SUNW.iws ¥ -x Confdir_list=/opt/iplanet/conf -y Scalable=False ¥ -y Network_resources_used=schost-1 -y Port_list=80/tcp¥ (セキュア iPlanet アプリケーションリソースインスタンスを追加する) # scrgadm -a -j iplanet-secure-1 -g resource-group-1 -t SUNW.iws ¥ -x Confdir_List=/opt/iplanet/https-iplanet-secure-1 -y Scalable=False ¥ -y Network_resources_used=schost-1 -y Port_list=443/tcp ¥ (フェイルオーバーリソースグループをオンラインにする) # scswitch -Z -g resource-group-1 |
SUNW.HAStorage リソースタイプを構成するには、「SUNW.HAStorag リソースタイプを構成する」を参照してください。
SUNW.HAStorage リソースタイプは、HA 記憶装置とデータサービス間の動作を同期させます。Sun Cluster HA for iPlanet Web Server はスケーラブルなので、SUNW.HAStorage リソースタイプを設定する必要があります。
詳細は、SUNW.HAStorage(5) のマニュアルページおよび 「リソースグループとディスクデバイスグループの関連性」を参照してください。手順については、「新しいリソース用に SUNW.HAStorage リソースタイプを設定する」を参照してください。
この節では、Sun Cluster HA for iPlanet Web Server の拡張プロパティについて説明します。フェイルオーバーの場合、データサービスは強制的に Confdir_list のサイズを 1 にします。複数の構成ファイル (インスタンス) が必要な場合は、それぞれが Confdir_list エントリを 1 つ持つ複数のフェイルオーバーリソースを作成してください。
通常、拡張プロパティは iPlanet Web Server サーバーリソースを作成する時に、コマンド行から scrgadm -x parameter=value を実行して構成します。拡張プロパティは、第 13 章「データサービスリソースの管理」に示す手順を使ってあとで構成することもできます。Sun Cluster の全プロパティについては、付録 A 「標準プロパティ」 を参照してください。
表 3-2 に、iPlanet サーバーのために設定できる拡張プロパティを示します。iPlanet サーバーリソースの作成に必須の拡張プロパティは Confdir_list プロパティだけです。拡張プロパティによっては、動的に更新できるものもあります。ただし、それ以外の拡張プロパティは、リソースを作成するときにしか更新できません。「調整」の欄は、各プロパティをいつ更新できるかを示しています。
表 3-2 Sun Cluster HA for iPlanet Web Server 拡張プロパティ
名前/データタイプ |
デフォルト |
---|---|
Confdir_ list (文字配列) |
特定の iPlanet Web Server インスタンスの、サーバールートディレクトリへのポインタ。Netscape Directory Server がセキュアモードの場合、パス名に keypass という名前のファイルを含む必要があります。このファイルには、このインスタンスの起動に必要なセキュアキーパスワードが含まれています。
デフォルト: なし 範囲: なし 調整: 作成時 |
Monitor_ retry_ count (整数) |
Monitor_retry_interval プロパティで指定された時間の範囲内に、プロセスモニター機能 (PMF) が障害モニターを再起動する回数。このプロパティは、障害モニターの再起動について制御するのであって、リソースの再起動を制御するわけではありません。リソースの再起動は、システム定義プロパティの Retry_interval および Retry_count によって制御されます。
デフォルト: 4 範囲: 0 - 2、147、483、641 -1 は、再試行の数が無限であることを示す。 調整: 任意の時点 |
Monitor_ retry_ interval (整数) |
障害モニターの失敗がカウントされる期間 (分)。この期間内に、障害モニターの失敗の数が、拡張プロパティ Monitor_retry_count で指定した値を超えた場合、PMF は障害モニターを再起動しません。
デフォルト: 2 範囲: 0 - 2、147、483、641 -1 は、再試行の間隔が無限であることを示す。 調整: 任意の時点 |
Probe_ timeout (整数) |
iPlanet Web Server インスタンスの検証に障害モニターが使用するタイムアウト値 (秒)。
デフォルト: 30 範囲: 0 - 2、147、483、641 調整: 任意の時点 |
Sun Cluster HA for iPlanet Web Server の検証機能は、サーバーに要求を送ることによりそのサーバーの状態を照会します。検証機能が実際にサーバーを照会する前に、ネットワークリソースがこの Web サーバーリソース用に構成されていることの確認が行われます。ネットワークリソースが構成されていない場合は、エラーメッセージ (No network resources found for resource.) が記録され、検証はエラーとなり終了します。
検証機能は、次の 2 つの iWS 構成を扱える必要があります。
セキュアインスタンス
非セキュアインスタンス
検証機能は、Probe_timeout リソースプロパティで設定されたタイムアウト値を使用し、iWS を正常に検証するための試行時間を制限します。このリソースプロパティについては、付録 A 「標準プロパティ」 を参照してください。
iPlanet Web Server リソースで設定されている Network_resources_used リソースプロパティは、Web サーバーが使用する IP アドレスセットを決定します。Port_list リソースプロパティの設定は、iWS で使用されるポート番号のリストを決定します。障害モニターは、Web サーバーが IP アドレスとポートのすべての組み合わせに対して待機することを想定しています。ポート 80 以外の別のポート番号で待機するように Web サーバー構成をカスタマイズしている場合は、構成ファイル (magnus.conf) が IP アドレスとポートのすべての組み合わせを含んでいることを確認してください。障害モニターは、このようなすべての組み合わせを検証しようとし、IP アドレスとポートの特定の組み合わせで Web サーバーが待機していない場合には、検証に失敗します。
検証機能は、次のことを行います。
検証機能は、指定した IP アドレスとポートの組み合わせを使用し、Web サーバーに接続します。正しく接続できない場合は、検証機能は致命的な異常が発生したと判断します。その後、検証機能はこの異常を記録し、適切な処理を行います。
検証機能が正しく接続した場合は、Web サーバーがセキュアモードで実行されているかどうかを調べます。セキュアモードで実行されている場合は、検証機能は Web サーバーとの接続を解除し、サーバーの状態が正常であると判断します。セキュア iPlanet Web Server に対しては、これ以上の検査は行われません。
ただし、Web サーバーが非セキュアモードで実行されている場合は、検証機能は HTTP 1.0 HEAD 要求を Web サーバーに送信し、応答を待ちます。ネットワークトラフィックスの混雑、過剰なシステム負荷、不適切な構成など、さまざまな理由によって要求が正しく処理できないことがあります。
不適切な構成は、検証される IP アドレスとポートのすべての組み合わせに対し、Web サーバーが待機するように構成されていない場合に生じます。Web サーバーは、このリソースに指定した各 IP アドレスに対し、それぞれポートを提供する必要があります。
また、リソースの作成時に、Network_resources_used および Port_list リソースプロパティを正しく設定しないと、不適切な構成が生じます。
Probe_timeout リソースの制限時間内に照会に対する応答を受信しない場合は、検証機能は Sun Cluster HA for iPlanet 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 |
異常履歴に基づいて、データサービスのローカルでの再起動、またはデータサービスのフェイルオーバーのいずれかを実行します。詳細は、「データサービスの状態の検査」を参照してください。