この章では、Sun Cluster HA for Sun Java System Application Server (8.1 より前のバージョン) をインストールして構成する手順について説明します。
Sun Cluster HA for Sun Java System Application Server サポートバージョン 8.1 のインストールと構成の詳細は、第 1 章「Sun Cluster HA for Sun Java System Application Server のインストールと構成 (サポートバージョン 8.1)」を参照してください。
この章の内容は次のとおりです。
「Sun Cluster HA for Sun Java System Application Server のインストールと構成作業の概要」
「Sun Cluster HA for Sun Java System Application Server のインストールと構成の計画」
「Sun Cluster HA for Sun Java System Application Server パッケージのインストール」
「Sun Cluster HA for Sun Java System Application Server の登録と構成 (8.1 より前のバージョン)」
「Sun Cluster HA for Sun Java System Application Server の障害モニターの調整」
「Sun Cluster HA for Sun Java System Application Server のインストールと構成の確認」
この節では、Sun Java System Application Server の高可用性を Sun Cluster HA for Sun Java System Application Server によってどう実現するかについて説明します。Sun Cluster HA for Sun Java System Application Server のインストールと構成の新しい情報については、『 Sun Cluster Data Service Release Notes for Solaris OS』を参照してください。
Sun Java System Application Server は、アプリケーションサービスと Web サービスの広範囲な配備に適した、高性能 Java 2 Enterprise Edition (J2EE™) 1.3 準拠プラットフォームを提供します。このプラットフォームは、企業ユーザーのニーズを満たし、Sun Cluster ソフトウェアの制御下で実行できるように設計されています。
Sun Java System Message Queue は、Sun Java System Application Server インストールと共にパッケージ化されています。Sun Java System Message Queue を構成して高可用性を実現するには、『Sun Cluster Data Service for Sun Java System Message Queue ガイド (Solaris OS 版)』 を参照してください。
リッチクライアントは、Sun Java System Application Server に直接接続できます。Web クライアントは、フロントエンドの Web サーバーを通じて Sun Java System Application Server に接続できます。Sun Java System Application Server は、パススループラグインインストールを Sun Java System Web Server に提供します。
アーキテクチャーが依存するプログラムの存在は、Sun Cluster HA for Sun Java System Application Server を実装するための前提条件ではありません。データベース、Web サーバーといったアーキテクチャーが依存するプログラムは、高可用性対応として構成すべきですが、別のクラスタで実行することは可能です。
データサービス、リソースグループ、リソースなどの関連トピックについては、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の第 1 章「Sun Cluster データサービスの計画」と『Sun Cluster の概要 (Solaris OS 版)』を参照してください。
Sun Cluster HA for Sun Java System Application Server (8.1 より前のバージョン) は、次のどちらかの方式で構成できます。
ある一時点で 1 ノード上でマスターされる、フェイルオーバーデータサービスとして Sun Cluster HA for Sun Java System Application Server を構成します。手順については、「フェイルオーバーデータサービスとして Sun Cluster HA for Sun Java System Application Server を登録して構成する」を参照してください。
同時に複数のノード上でマスターされるサービスとして、Sun Cluster HA for Sun Java System Application Server を構成します。手順については、「複数のノードでマスターされるデータサービスとしての Sun Cluster HA for Sun Java System Application Server を登録して構成する」を参照してください。
Sun Cluster HA for Sun Java System Application Server は、ある一時点では 1 ノードのみによってマスターされるフェイルオーバーアプリケーションサーバーを構成するために必要な拡張プロパティーを備えた、データサービスです。ドメインの管理サーバーをフェイルオーバーリソースとして、可用性を高めることもできます。Web クライアントは Sun Java System Application Server に直接接続できます。
クラスタ環境では、Sun Java System Application Server のコマンド行または GUI 管理ツールの使用に制限があります。アプリケーションインスタンスや管理サーバーをリソースグループとして構成する前に、「構成に関する制限事項」を参照し、クラスタにおける asadmin または Sun Java System Application Server Administrative Interface の使い方を確認してください。リソースとリソースグループの構成の詳細は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「Sun Cluster データサービス構成のガイドライン」を参照してください。
ここで説明する標準構成を使用して、Sun Cluster HA for Sun Java System Application Server のインストールと構成の計画を行なってください。Sun Cluster HA for Sun Java System Application Server は、他の構成もサポートする場合があります。ただし、Enterprise Services の担当者に連絡し、他の構成に関する情報を得る必要があります。
次の図に、2 ノードクラスタで動作する Sun Java System Application Server の標準フェイルオーバー構成を示します。Sun Cluster HA for Sun Java System Application Server をフェイルオーバーデータサービスとして構成するための追加情報については、「構成に関する制限事項」を参照してください。
同時に複数のノード上でマスターされるように、Sun Cluster HA for Sun Java System Application Server を設定することもできます。マルチマスター構成では、フロントエンドの Web 層を使用してアプリケーションサーバーに要求を振り分けることによって、スケーラビリティーが得られます。アプリケーションサーバーが提供するパススループラグインをフロントエンドの Web 層とともに使用して、稼働している Sun Java System Application Server インスタンスの 1 つに要求を転送する必要があります。
論理ホスト名で待ち受けるクラスタ上で動作するように、高可用性 Sun Java System Web Server を構成します。Web 層がアプリケーションサーバーと同じクラスタで動作する場合は、クラスタのプライベート IP アドレスに要求が渡されるように、プラグインを構成する必要があります。Sun Java System Web Server インスタンスが別のクラスタで動作するように構成することもできます。Web 層が別個のクラスタで動作している場合は、Sun Java System Application Server リソースを実行できるクラスタメンバーの物理ホスト名に要求が渡されるように、プラグインを構成します。物理ホスト名の一例は phys-schost-1 です。
複数のノードでマスターされる Sun Cluster HA for Sun Java System Application Server 構成の場合、プライベートインタコネクトを使用して、Sun Java System Web Server と Sun Java System Application Server 間でトラフィックを転送できます。
同時に複数のノードでマスターされるデータサービスとして Sun Cluster HA for Sun Java System Application Server を構成する場合、Sun Java System Web Server をインストールして構成する必要があります。すべてのクラスタノードで同じ Sun Java System Web Server 構成を使用する必要があります。
Sun Java System Application Server の複数のインスタンス間では、負荷を分散できます。負荷を分散できるようにするには、Sun Java System Application Server のプラグインを Sun Java System Web Server 構成に読み込みます。Sun Java System Application Server のフロントエンドとして使用する場合、フェイルオーバーリソースまたはスケーラブルリソースとして Sun Java System Web Server を構成できます。
Sun Java System Application Server インスタンスは、HTTP リスナーが Sun Java System Application Server のデフォルトであるすべてのインタフェース (0.0.0.0) で待ち受けることができるように、構成されます。
複数のノードでマスターされるデータサービスの場合、 IIOP リスナーの可用性は高くなりません。
次の図に、同時に 2 ノードでリソースをマスターする Sun Java System Application Server の構成を示します。
次の表に、Sun Cluster HA for Sun Java System Application Server をインストールして構成する作業の概要を示します。指定された順番どおりに、各作業を行ってください。
表 2–1 作業マップ: Sun Cluster HA for Sun Java System Application Server のインストールと構成
タスク |
参照先 |
---|---|
Sun Cluster HA for Sun Java System Application Server のインストールと構成の計画 |
「Sun Cluster HA for Sun Java System Application Server のインストールと構成の計画」 |
Sun Java System Application Server のインストールと構成 | |
(省略可能) Sun Java System Application Server をHADB とともに使用 | |
フロントエンドの Sun Java System Web Server のインストールと構成 | |
Sun Cluster HA for Sun Java System Application Server パッケージのインストール |
「Sun Cluster HA for Sun Java System Application Server パッケージのインストール」 |
Sun Cluster HA for Sun Java System Application Server の登録と構成 |
「Sun Cluster HA for Sun Java System Application Server の登録と構成 (8.1 より前のバージョン)」 |
(省略可能) SUNW.HAStoragePlusリソースタイプの構成 | |
(省略可能) Sun Cluster HA for Sun Java System Application Server 障害モニターの調整 |
「Sun Cluster HA for Sun Java System Application Server の障害モニターの調整」 |
Sun Cluster HA for Sun Java System Application Server のインストールと構成の確認 |
「Sun Cluster HA for Sun Java System Application Server のインストールと構成の確認」 |
Sun Cluster 構成で複数のデータサービスを実行している場合は、任意の順序でデータサービスを設定できます。ただし、Sun Cluster HA for Sun Java System Application Server が Sun Cluster HA for DNS に依存する場合は、DNS を最初に設定する必要があります。詳細は、『Sun Cluster Data Service for DNS ガイド (Solaris OS 版)』を参照してください。DNS ソフトウェアは、Solaris オペレーティング環境に含まれています。クラスタが別のサーバーから DNS サービスを取得する場合は、最初に、クラスタが DNS クライアントになるように構成してください。
この節では、Sun Cluster HA for Sun Java System Application Server のインストールと構成を計画する上で必要となる情報を示します。
静的ファイルとデータは、各クラスタノードのローカルファイルシステム上に格納します。動的データはクラスタファイルシステム上に配置する必要があります。この配置により、どのクラスタノードからでもデータを表示または更新できます。Sun Java System Application Server のバイナリと構成ファイルは、可用性を高くし、すべてのノードで動作しているアプリケーションサーバーインスタンスからアクセスできるようにする必要があります。
アプリケーションインスタンスの動作中は、Sun Java System Application Server のコマンド行または GUI 管理ツールで Sun Java System Application Server インスタンスの起動または停止を行わないでください。アプリケーションインスタンスの動作中にこれらの管理ツールを使用するのは、構成が次の条件を満たしている場合に限定してください。
ある一時点で 1 ノードによってマスターされる、フェイルオーバーデータサービスとして Sun Java System Application Server が構成されている。
管理サーバーを含めて、ドメインの全アプリケーションサーバーインスタンスが 1 つのリソースグループとして構成されている。
複数のノードでマスターされるサービスとして Sun Java System Application Server を使用する場合は、適切なネットワークリソースを待ち受ける HTTP リスナーとIIOP リスナーを設定する必要があります。このように設定しなければならないのは、Sun Java System Application Server の動作がデフォルトで、ノード上のすべての IP アドレスに結びつくからです。
Solstice DiskSuiteTM / Solaris Volume Manager を使用する場合は、UNIX ファイルシステム (UFS) のロギングまたは raw ミラー化メタデバイスを使用するように、Sun Java System Application Server ソフトウェアを構成します。raw ミラー化メタデバイスの設定方法については、Solstice DiskSuite/Solaris Volume Manager のマニュアルを参照してください。
Sun Java System Application Server のインストールを開始する前に、ネームサービスにホスト名を設定する必要があります。ノード間でフェイルオーバー可能なネットワークリソース (IPアドレス) を指定する必要があります。
Sun Java System Application Server のインストール時にクラスタファイルシステムにインストールされて配置されたファイルやディレクトリを削除したり、配置を変更したりしてはなりません。たとえば、Sun Java System Application Server ソフトウェアとともにインストールされたバイナリの位置を変更してはなりません。
バイナリはローカルディスクにインストールする必要があります。
データサービスにアクセスし、論理ホスト名をオンラインにする目的で、クライアントに使用させるネットワークリソースを構成する必要があります。
同じネットワークリソースを使用する別のアプリケーションサーバーとともに Sun Java System Application Server を実行する場合は、それぞれ異なるポートで待ち受けるようにサーバーを構成します。異なるポートにリスナーを構成することによって、2 つのサーバー間でポートの衝突を回避できます。
ここで示す質問に基づいて、Sun Cluster HA for Sun Java System Application Server のインストールと構成の計画を行なってください。
Sun Cluster HA for Sun Java System Application Server をフェイルオーバーデータサービスとして使用しますか、それとも同時に複数のノードでマスターされるサービスとして使用しますか。
ネットワークアドレスとアプリケーションリソースにどのリソースグループを使用しますか、またそれらの間にはどのような依存関係がありますか。
データサービスへのアクセスに、クライアントが使用する論理ホスト名は何ですか。
システム構成ファイルはどこに置きますか。
この節では、Sun Java System Application Server のインストールについて説明します。ここに挙げている情報は、Sun Cluster HA for Sun Java System Application Server に関するものだけです。パッチ要件をはじめとする、インストール手順の詳細はSun Java System Application Server のマニュアルを参照してください。
Sun Java System Application Server をフェイルオーバーサービスとして構成する場合は、Sun Java System Application Server のインストールと構成を行う前にネットワークリソースを設定する必要があります。フェイルオーバーサービスは、クラスタ内で稼働するために、インストールと構成のあとでこれらのネットワークリソースを使用します。
この手順を実行するには、構成に関する次の情報が必要になります。
データサービスをマスターできるクラスタノードの名前。
Sun Java System Application Server へのアクセス時にクライアントが使用するネットワークリソースの構成で使用したホスト名。通常、このホスト名はクラスタをインストールするときに設定します。ネットワークリソースについては、『Sun Cluster の概念 (Solaris OS 版)』を参照してください。
この手順は、すべてのクラスタメンバー上で実行します。
クラスタメンバー上でスーパーユーザーになります。
使用しているすべてのネットワークアドレスがネームサービスデータベースに追加されていることを確認します。
Sun Cluster のインストール時に、この確認を行なっておく必要があります。『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』の計画に関する章を参照してください。
ネームサービスの検索を成功させるには、すべてのクラスタノード上の /etc/inet/hosts ファイルに、すべての論理ホスト名を含める必要があります。サーバーの /etc/nsswitch.conf のネームサービスマッピングは、NIS、NIS+、DNS にアクセスする前に、ローカルファイルを検査するように構成してください。
ネットワークリソースとアプリケーションリソースを格納するためのフェイルオーバーリソースグループを作成します。
# scrgadm -a -g resource-group [-h nodelist] |
リソースグループの名前を指定します。任意の名前を指定できます。
潜在マスターを識別するための物理ノード名をコンマで区切って指定します (省略可能)。フェイルオーバー時、ノードはこのリスト内の順番に従ってプライマリとして判別されます。
ノードリストの順番を指定するには、-h オプションを使用します。クラスタのすべてのノードがマスターになり得るのであれば、-h オプションを指定する必要はありません。
リソースグループへネットワークリソースを追加します。
次のコマンドを使用して、リソースグループに論理ホスト名を追加します。
# scrgadm -a -L -g resource-group -l hostname, …[-n netiflist] |
ネットワークリソースを追加することを示します。
リソースグループの名前を指定します。
ネットワークリソースをコンマで区切って指定します。
各ノード上の IP ネットワークマルチパス グループをコンマで区切って指定します (省略可能)。
netiflist の各要素は、netif@node の形式にする必要があります。netif は、IP ネットワークマルチパス グループ名 (sc_ipmp0 など) として指定できます。ノードは、sc_ipmp0@1、sc_ipmp@phys-schost-1 などのノード名またはノード IDで特定できます。現在 Sun Cluster では、netif にアダプタ名は使用できません。
リソースグループをオンラインにします。
# scswitch -Z -g resource-group |
リソースグループを MANAGED 状態にして、オンラインにします。
リソースグループの名前を指定します。
クラスタメンバー上でスーパーユーザーになります。
Solaris 8 上に Sun Java System Application Server をインストールするかどうかを決定します。
インストールしない場合は、手順 4 に進んでください。
インストールする場合は次の手順を行います。
すべてのクラスタノードで、Sun Java System Application Server のインストールディレクトリから setup コマンドを実行します。
setup コマンドプロンプトに、Sun Java System Application Server インスタンスのデフォルトの場所を指定します。
デフォルトのディレクトリを使用することによって、ローカルファイルシステムにサーバー構成ディレクトリ /var/opt/SUNWappserver7 を設定します。Sun Cluster に管理させるサーバーインスタンスを作成する場合は、広域ファイルシステムまたは HAStoragePlus ファイルシステムへのパスを指定します。Sun Java System Application Server インスタンスの潜在マスターが Sun Java System Application Server インスタンスの構成ファイルにアクセスできるようにする必要があります。
Sun Cluster は、setup コマンドによって作成されたドメインを使用できません。
Sun Java System Application Server を Solaris 8 にインストールする場合や、Solaris 9 でパッケージ化されていない Sun Java System Application Server Enterprise Edition をインストールする場合は、手順 5 に進みます。
Solaris 9 パッケージの Sun Java System Application Server をインストールする場合は、次の手順を行います。
(任意) すべてのノードで、デフォルトの構成ディレクトリから広域ファイルシステム上のサーバー構成ディレクトリへのリンクを作成します。
手順 8 で Sun Java System Application Server ドメインを作成するときに、サーバー構成ディレクトリへのリンクを作成することも、または広域ファイルシステム上の場所までのフルパスを指定することもできます。
Solaris 9 にパッケージとして含まれている Sun Java System Application Server へのリンクを作成するには、次のコマンドを実行します。
# ln -s /global/appserver /var/appserver |
パッケージ解除された Sun Java System Application Server へのリンクを作成するには、次のコマンドを実行します。
# ln -s /global/appserver /var/opt/SUNWappserver7 |
Solaris 8 上に Sun Java System Application Server をインストールする場合は、手順 8 に進みます。
Solaris 9 パッケージの Sun Java System Application Server をインストールする場合は、すべてのノードで次の手順を行います。
Sun Java System Application Server 実行制御スクリプトを一覧表示します。
# ls -1 /etc/rc?.d/*appserv /etc/rc0.d/K05appserv /etc/rc1.d/K05appserv /etc/rc2.d/K05appserv /etc/rc3.d/S84appserv /etc/rcS.d/K05appserv |
Sun Java System Application Server 実行制御スクリプトの名前を変更します。
実行制御スクリプトの名前を変更すると、SUNWasr パッケージ (またはバンドルされていない Sun Java System Application Server をインストールした場合は SUNWasro パッケージ) の一部としてインストールされた START および STOP 実行制御スクリプトが無効になります。データサービスの構成後、Sun Cluster HA for Sun Java System Application Server は Sun Java System Application Server インスタンスの開始および停止を行うので、この手順が必要となります。
# mv /etc/rc0.d/K05appserv /etc/rc0.d/k05appserv # mv /etc/rc1.d/K05appserv /etc/rc1.d/k05appserv # mv /etc/rc2.d/K05appserv /etc/rc2.d/k05appserv # mv /etc/rc3.d/S85appserv /etc/rc3.d/s85appserv # mv /etc/rcS.d/K05appserv /etc/rcS.d/k05appserv |
上の例では、実行制御スクリプト名の先頭文字を大文字から小文字に変更しています。しかし、スクリプト名は、ユーザーの通常の管理規則に従って変更することができます。
すべての Sun Java System Application Server 実行制御スクリプトについて、名前が変更されていることを確認してください。
# ls -1 /etc/rc?.d/*appserv /etc/rc0.d/k05appserv /etc/rc1.d/k05appserv /etc/rc2.d/k05appserv /etc/rc3.d/s85appserv /etc/rcS.d/k05appserv |
広域ファイルシステム上で、構成情報を指定してドメインを作成します。
# asadmin create-domain --path /global/appserver/domains \ --adminport=4848 --adminuser admin --adminpassword password scdomain |
ドメイン管理サーバーを起動します。
# /global/appserver/domains/scdomain/admin-server/bin/startserv |
新しいアプリケーションサーバーインスタンスを作成し、管理サーバーを使用することによって可用性を高めます。
各ノードのローカルディスク上で、Sun Java System Application Server インスタンスに使用させるログディレクトリを作成します。
Sun Java System Application Server インスタンスを正しく動作させるには、クラスタファイルシステムではなく、クラスタの各ノードにログディレクトリを配置する必要があります。クラスタ内のすべてのノードにおいて、ローカルディスクの同じ場所を選択します。
schost-1# mkdir -p /var/pathname/domain/instance/logs/ |
ログファイルが大きくなると予想される場合は、ディレクトリが含まれるファイルシステムに、ファイルを扱えるだけのスペースを与える必要があります。
Sun Java System Application Server インスタンス PidLog の場所を変更し、手順 11 で作成したディレクトリが反映されるようにします。この場所を変更するには、サーバー構成ディレクトリ内の init.conf ファイルを編集します。
stopserv ファイル内の PID_FILE の場所を、手順 12 で設定した PidLog の値に合わせて変更します。
Log File、Log Root、および Transaction Log Location パラメータの場所を、手順 11 で作成したディレクトリに合わせて変更します。これらのパラメータを変更する場合は、Sun Java System Application Server の管理インタフェースを使用します。構成の手順については、Sun Java System Application Server のマニュアルを参照してください。
accesslog パラメータの場所を、手順 11 で作成したディレクトリに合わせて変更します。このパラメータを変更する場合は、asadmin ユーティリティーを使用します。このための手順については、Sun Java System Application Server のマニュアルを参照してください。
アプリケーションサーバーに使用させる論理ホスト名を構成してオンラインにしておく必要があります。
アプリケーションサーバーがフェイルオーバーサービスとして構成されている場合は、論理 IP アドレスで HTTP リスナーの IP アドレス、論理ホスト名でサーバー名を構成します。アプリケーションサーバーが複数のノードでマスターされるサービスとして構成されている場合は、 手順 19 に進んでください。
この手順は、論理ホストの主ノードで実行する必要があります。
アプリケーションサーバーが複数のノードでマスターされるサービスとして構成されている場合は、HTTP リスナーの IP アドレスを 0.0.0.0 に、Return Server Name を localhost に構成します。
HTTP リスナーから正しいサーバー名が戻るかどうかを確認します。
正しいサーバー名は通常、クライアントがアプリケーションサーバー上のリソースにアクセスするときに使用するホスト名です。
フェイルオーバーサービスとしてアプリケーションサーバーが構成されている場合は、Sun Cluster HA for Sun Java System Application Server インスタンスの論理 IP アドレスを指定して IIOP リスナーを構成します。アプリケーションサーバーが複数のノードでマスターされるサービスとして構成されている場合は、 手順 21 に進んでください。
管理サーバーの可用性を高める場合は、HTTP リスナーだけを構成し、IIOP リスナーは与えません。
JMS の下のサービスで Start Enable を選択解除することによって、Message Queue サーバーの Sun Java System Application Server 起動を無効にします。
startserv コマンドを発行してアプリケーションサーバーを起動します。
# /global/appserver/domains/scdomain/server1/bin/startserv |
サーバーが起動しない場合は、問題を解消します。詳細は、Sun Java System Application Server のマニュアルを参照してください。
stopserv コマンドを発行してアプリケーションサーバーを停止します。
# /global/appserver/domains/scdomain/server1/bin/stopserv |
サーバーを停止してから、インストールと構成の次のプロセスに進む必要があります。
Sun Java System Application Server の Enterprise Edition をクラスタ内で有効になっている HADB と共に使用するには、Sun Java System Application Server EE (HADB) 向け Sun Cluster データサービスをインストールして、構成します。手順については、『Sun Cluster Data Service for Sun Java System Application Server EE (HADB) ガイド (Solaris OS 版)』を参照してください。
Sun Java System Web Server プラグインは、Sun Java System Application Server でパススルー負荷均衡メカニズムとして使用できます。ここでは、Sun Cluster HA for Sun Java System Application Server に関する構成情報だけを挙げます。これらの構成作業を行うためには、Sun Java System Web Server プラグインがインストールされていなければなりません。パッチ要件をはじめとする、インストール手順の詳細はSun Java System Application Server のマニュアルを参照してください。
フェイルオーバーデータサービスとして Sun Cluster HA for Sun Java System Application Server を構成している場合、フロントエンドの Sun Java System Web Server はインストールしてもしなくてもかまいません。
Sun Java System Web Server プラグインを構成するには、loadbalancer.xml ファイルでリスナーを構成します。
Sun Cluster HA for Sun Java System Application Server をフェイルオーバーデータサービスとして構成する場合は、loadbalancer.xml ファイルで Sun Java System Application Server 論理ホスト名をリスナーとして指定します。
<instance name="server1" enabled=true disable-timeout-in-minutes="60" listeners="http://foo-lh:80/ " /> |
複数のノードでマスターされるデータサービスとして Sun Cluster HA for Sun Java System Application Server を構成していて、かつ、Web サーバーがアプリケーションサーバーと同じクラスタ上で動作している場合は、loadbalancer.xml ファイルでクラスタのプライベート IP アドレスをリスナーとして指定します。
<instance name="server1" enabled=true disable-timeout-in-minutes="60" listeners="http://172.16.193.1:80/ http://172.16.194.5:80/ " /> |
プラグインの構成では、ノードトランスポートアダプタ IP アドレスを使用する必要があります。これらの IP アドレスを求めるには、1 次 Sun Cluster ノードから scconf -p | less コマンドを実行します。この構成では clusternode1-priv などと同等のホスト名は無効であるため、使用しないでください。
複数のノードでマスターされるデータサービスとして Sun Cluster HA for Sun Java System Application Server を構成する場合と、Web サーバーがアプリケーションサーバーと同じクラスタで動作しない場合は、loadbalancer.xml ファイルで物理ホスト名をリスナーとして指定します。
<instance name="server1" enabled=true disable-timeout-in-minutes="60" listeners=http://hosta:80/ http://hostb:80/ " /> |
前の例では、Sun Java System Application Server インスタンスがクラスタノード hosta と hostb のポート 80 上で構成されていることを想定しています。
Sun Cluster の初回のインストールで Sun Cluster HA for Sun Java System Application Server パッケージをインストールしなかった場合は、ここで説明する作業を行なってパッケージをインストールしてください。この手順は、Sun Cluster HA for Sun Java System Application Server パッケージをインストールするクラスタノードごとに行なってください。
複数のデータサービスを同時にインストールする場合は、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』の「ソフトウェアのインストール」に示された手順を実行してください。
Solaris 10 を使用している場合は、これらのパッケージを大域ゾーンにだけインストールしてください。パッケージをインストールしたあとで作成されたローカルゾーンにそれらのパッケージが転送されないようにないようにするには、scinstall ユーティリティーを使用してパッケージをインストールしてください。Sun JavaTM Enterprise System インストーラ プログラムは使用しないでください。
Sun JavaTM Enterprise System インストーラプログラムは、コマンド行インタフェース (CLI) またはグラフィカルユーザーインタフェース (GUI) と共に使用できます。CLI と GUI での作業の内容と手順はほとんど同じです。
この手順を完了するには、Sun JavaTM Enterprise System インストーラ CD-ROM が必要です。
Sun Cluster HA for Sun Java System Application Server パッケージをインストールするクラスタノードで、スーパーユーザーになります。
(省略可能) GUI を使用して Sun JavaTM Enterprise System インストーラプログラムを実行する場合は、DISPLAY 環境変数を設定しておく必要があります。
Sun JavaTM Enterprise System インストーラ CD-ROM を CD-ROM ドライブにロードします。
Volume Management デーモン vold(1M) が稼働していて、CD-ROM デバイスを管理するように構成されている場合は、このデーモンが自動的に CD-ROM を /cdrom ディレクトリにマウントします。
CD-ROM の Sun JavaTM Enterprise System インストーラディレクトリに移動します。
# cd /cdrom/Solaris_sparc |
Sun JavaTM Enterprise System インストーラプログラムを開始します。
# ./installer |
プロンプトが表示されたなら、ライセンス契約に同意し、必要な言語サポートを選択します。
デフォルトの言語サポートは英語です。
「Availability Services & Sun Cluster 3.1 Subcomponents」で Sun Java System for Sun Cluster Agents を選択し、次に進みます。
この選択では、Sun Cluster HA for Sun Java System Application Server も含め、Sun Java System アプリケーションで使用できる Sun Cluster データサービスをすべて選びます。
構成をいつ行うかを確認するプロンプトが表示されたら、「後で設定」を選択します。
インストールのあとで構成を行う場合は、「後で設定」を指定します。
(任意) 製品を登録して製品アップデートを受け取らない場合は、「インストール中に登録ウィンドウを開きます」ボックスのチェックを外します。
表示される手順に従って、ノードに Sun Cluster HA for Sun Java System Application Server パッケージをインストールします。
Sun JavaTM Enterprise System インストーラプログラムは、インストールの状況を表示します。インストールが完了すると、プログラムはインストールのサマリーとインストールログを表示します。
Sun JavaTM Enterprise System インストーラプログラムを終了します。
インストーラプログラムを終了する前に、Sun Cluster HA for Sun Java System Application Server が正常にインストールされていることを確認します。次のコマンドを実行して、パッケージの存在をチェックします。
# pkginfo -l SUNWscs1as |
Sun JavaTM Enterprise System インストーラ CD-ROM を CD-ROM ドライブからアンロードします。
ここでは、scrgadm コマンドを使用して Sun Cluster HA for Sun Java System Application Server を登録し、構成する手順について説明します。ここでは、付録 A 「Sun Cluster HA for Sun Java System Application Server の拡張プロパティー (サポートバージョン 8.1)」に記載されている拡張プロパティーの設定方法について説明します。
Sun Cluster HA for Sun Java System Application Server (8.1 より前のバージョン) では、データサービスを次の方法で構成できます。
データサービスをフェイルオーバーデータサービスとして構成する
データサービスを、複数のノードで同時にマスターされるサービスとして構成する
データサービスの登録と構成に関連した一般的な情報は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「データサービスリソースを管理するためのツール」を参照してください。
この手順を実行するには、構成に関する次の情報が必要になります。
Sun Cluster HA for Sun Java System Application Server データサービスのリソースタイプ名。Sun Cluster HA for Sun Java System Application Server (8.1 より前のバージョン) ではリソースタイプは SUNW.s1as です。
データサービスをマスターできるクラスタノードの名前。
Sun Cluster HA for Sun Java System Application Server をフェイルオーバーデータサービスとして構成する場合、クライアントが Sun Cluster HA for Sun Java System Application Server にアクセスするために使用するネットワークリソースを把握しておく必要があります。通常、クラスタをインストールするときにこのネットワークリソースを設定します。
HTTP リスナー、IIOP リスナーを含む、Sun Java System Application Server が待ち受けるポート。
Sun Java System Application Server インスタンスに対応するサーバー構成データへのパス。
以下の各項ではリソースの登録と構成について説明します。これらの説明は、設定が必要な Sun Cluster HA for Sun Java System Application Server の拡張プロパティーに限られています。Sun Cluster HA for Sun Java System Application Server のすべての拡張プロパティーは、付録 A 「Sun Cluster HA for Sun Java System Application Server の拡張プロパティー (サポートバージョン 8.1)」に記載されています。拡張プロパティーの中には動的に変更できるものがあります。ただし、それ以外の拡張プロパティーは、リソースを作成するか無効にするときにしか更新できません。「調整可能」の欄には、そのプロパティーをいつ変更できるかが示されています。
リソースの拡張プロパティーを設定するには、リソースを作成または変更する scrgadm(1M) コマンドに次のオプションを含めます。
-x property=value |
設定する拡張プロパティーを指定します。
設定する拡張プロパティーの値を指定します。
リソースの作成後は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の第 2 章「データサービスリソースの管理」に示されている手順でリソースを構成できます。
次の手順で、Sun Cluster HA for Sun Java System Application Server のフェイルオーバー構成を完成させます。この手順で、ドメイン管理サーバーをフェイルオーバーリソースとして構成することもできます。
この手順は、「ネットワークリソースを構成して起動する (フェイルオーバー構成の場合)」でフェイルオーバーリソースグループを作成してこのリソースグループに論理ホスト名を追加し、このリソースグループをオンラインにしたあとで行なってください。
クラスタメンバー上でスーパーユーザーになります。
データサービスのリソースタイプを登録します。
# scrgadm -a -t SUNW.s1as |
データサービスのリソースタイプを追加します。
事前に定義したリソースタイプ名を指定します。
ネットワークリソース用に作成したフェイルオーバーリソースグループに、Sun Java System Application Server リソースインスタンスを追加します。
# scrgadm -a -j resource -g resource-group \ -t SUNW.s1as \ y Network_resources_used=network-resources \ y Port_list=port/tcp,port/tcp \ x Confdir_list=install-directory/domains/domain/server \ x Monitor_Uri_List=http://logical-hostname[:port][/path] |
Sun Java System Application Server アプリケーションリソース名を指定します。
リソースグループを指定します。
追加するリソースの種類を指定します。
resource-group にネットワークリソースのリストをコンマで区切って指定します。
使用するポート番号とプロトコルをコンマで区切って指定します (例:80/tcp)。Monitor_Uri_List を設定する場合は、Port_list の設定は任意選択となります。
Sun Java System Application Server 構成ディレクトリのパスを指定します。Confdir_list 拡張プロパティーは必須です。エントリを 1 つだけ指定する必要があります。
Sun Cluster HA for Sun Java System Application Server が要求を行う URL をコンマで区切って指定します。Port_list プロパティーを設定しない場合は、Monitor_Uri_List 拡張プロパティーを設定する必要があります。
リソースグループとアプリケーションサーバーリソースがオンラインになっていることを確認します。
# scstat -g # ps -ef |
クラスタ情報
Node names: phys-schost-1、phys-schost-2
論理ホスト名: schost-1
リソースグループ: appsrv-rg (全リソース)
リソース: schost-1 (論理ホスト名)、 appsrv-rs (Sun Java System Application Server アプリケーションリソース)
フェイルオーバーリソースグループを作成するには、次のコマンドを実行します。
# scrgadm -a -g appsrv-rg -h phys-schost-1,phys-schost-2 |
リソースグループに論理ホスト名リソースを追加するには、次のコマンドを実行します。
# scrgadm -a -L -g appsrv-rg -l schost-1 |
SUNW.s1as リソースタイプを登録するには、次のコマンドを実行します。
# scrgadm -a -t SUNW.s1as |
Sun Java System Application Server リソースを作成してこのリソースをリソースグループに追加するには、次のコマンドを実行します。
# scrgadm -a -j appsrv-rs -g appsrv-rg \ -t SUNW.s1as \ -y Network_resources_used=schost-1 \ -y Port_list=80/tcp,3700/tcp \ -x Confdir_list=/global/appsrv/domains/scdomain/server1 \ -x Monitor_Uri_List=http://schost-1:80/servlet/monitor |
アプリケーションリソースグループをオンラインにするには、次のコマンドを実行します。
# scswitch -Z -g appsrv-rg |
上の例で作成したフェイルオーバーリソースグループの一部として、admin-server を構成する例を示します。
クラスタ情報
論理ホスト名: schost-1
リソースグループ: appsrv-rg (全リソース)
リソース: schost-1 (論理ホスト名)、admin-rs
Sun Java System Application Server リソースを作成してこのリソースをリソースグループに追加するには、次のコマンドを実行します。
# scrgadm -a -j admin-rs -g appsrv-rg \ -t SUNW.s1as \ -y Network_resources_used=schost-1 \ -y Port_list=4848/tcp \ -x Confdir_list=/global/appsrv/domains/scdomain/admin-server \ -x Monitor_Uri_List=http://schost-1:484 |
この手順は、Sun Cluster HA for Sun Java System Application Server の初期インストール時にデータサービスパッケージがインストールされていることを想定しています。初期インストールの一環として Sun Java System Application Server パッケージをインストールしなかった場合は、「Sun Cluster HA for Sun Java System Application Server パッケージのインストール」に移動してデータサービスパッケージをインストールしてください。
同時に複数のノードでマスターされるサービスとして Sun Cluster HA for Sun Java System Application Server を登録して構成する前に、次の要件を検討してください。
Sun Java System Web Server のプラグインをインストールして構成しておく必要があります。「Sun Java System Web Server プラグインの構成」を参照してください。
Monitor_URI_List 拡張プロパティーのエントリを少なくとも 1 つは指定する必要があります。監視すべきアプリケーションが配備されていない場合は、http://localhost/ のような、単純な URI (Uniform Resource Identifier) を使用してください。
この手順に関連する概念については、「マルチマスター構成の概要」を参照してください。
Sun Java System Application Server インスタンスの起動または停止に、Sun Java System Application Server のコマンド行または GUI 管理ツールを使用しないでください。複数のノードでマスターされるサービスとして構成されているアプリケーションサーバーインスタンスについては、Sun Java System Application Server 管理サーバーは、正しい状態を表示しない可能性があります。
アプリケーションサーバーを格納するクラスタノードの 1 つでスーパーユーザーになります。
Sun Java System Application Server のスケーラブルリソースグループを追加します。
# scrgadm -a -g resource-group \ -y Maximum_primaries=value \ -y Desired_primaries=value [-h nodelist] |
Sun Java System Application Server のリソースタイプを登録します。
# scrgadm -a -t SUNW.s1as |
リソースグループに Sun Java System Application Server リソースインスタンスを追加します。
# scrgadm -a -j resource -g resource-group -t SUNW.s1as \ -x Confdir_list=install-directory/domains/domain/server \ -x Monitor_Uri_List=http://localhost[:port][/path] |
Sun Java System Application Server アプリケーションリソース名を指定します。
追加するリソースの種類を指定します。
Sun Java System Application Server 構成ディレクトリのパスを指定します。Confdir_list 拡張プロパティーは必須です。エントリを 1 つだけ指定する必要があります。
Sun Cluster HA for Sun Java System Application Server が要求を行う URI を指定します。 Monitor_Uri_List 拡張プロパティーは必須です。
スケーラブルリソースグループをオンラインにします。
# scswitch -Z -g resource-group |
リソースグループをオンラインにします。
オンラインにするアプリケーションリソースグループの名前を指定します。
同時に複数のノード上でマスターされるサービスとして、Sun Cluster HA for Sun Java System Application Server を登録する例を示します。
クラスタ情報
Node names: phys-schost-1、phys-schost-2
リソースグループ: appsrv-rg (全リソース)
スケーラブルリソースグループを作成するには、次のコマンドを実行します。
# scrgadm -a -g appserv-rg \ -y Maximum_primaries=2 \ -y Desired_primaries=2 \ -h phys-schost-1,phys-schost-2 |
SUNW.s1as リソースタイプを登録するには、次のコマンドを実行します。
# scrgadm -a -t SUNW.s1as |
Sun Java System Application Server リソースを作成してこのリソースをリソースグループに追加するには、次のコマンドを実行します。
# scrgadm -a -j appsrv-rs -g appsrv-rg -t SUNW.s1as \ -x Confdir_list=/global/appserver/domains/scdomain/server1 \ -x Monitor_Uri_List=http://localhost:8000/servlet/monitor |
アプリケーションリソースグループをオンラインにするには、次のコマンドを実行します。
# scswitch -Z -g appsrv-rg |
SUNW.HAStoragePlus リソースタイプは、SUNW.HAStorage と同じ機能を実行し、HA ストレージとデータサービス間のアクションを同期化します。
SUNW.HAStoragePlus には、ローカルファイルシステムを高可用性にする追加機能があります。Sun Cluster HA for Sun Java System Application Server の場合、SUNW.HAStoragePlus リソースタイプは構成してもしなくてもかまいません。
関連情報については、SUNW.HAStoragePlus(5) のマニュアルページと『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「リソースグループとディスクデバイスグループ間での起動の同期」を参照してください。
Sun Cluster HA for Sun Java System Application Server (8.1 より前のバージョン) の障害モニターは、リソースタイプが SUNW.s1as であるリソースに含まれます。
リソースタイプのシステムプロパティーおよび拡張プロパティーが、障害モニターの動作を制御します。事前に設定された障害モニターの動作は、これらのプロパティーのデフォルト値に基づいています。現在の動作は、ほとんどの Sun Cluster システムに適しているはずです。したがって、障害モニターを調整するのは、事前に設定されたこの動作を変更したい場合だけに留めるべきです。
これらの障害モニターを調整するには、次のタスクが必要です。
障害モニターの検証間隔を設定する。
障害モニターの検証タイムアウトを設定する。
継続的な障害とみなす基準を定義する。
リソースのフェイルオーバー動作を指定する。
これらの作業は、「Sun Cluster HA for Sun Java System Application Server の登録と構成 (8.1 より前のバージョン)」に示されている方法で Sun Cluster HA for Sun Java System Application Server の登録と構成を行なった場合に実施してください。
これらの作業の詳細は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「Sun Cluster データベース用に障害モニターを調整する」を参照してください。
この節では、次の内容について説明します。
障害モニターの検証機能
検証エラーに関連する条件、メッセージ、および回復アクション
正常に完了した検証に関連する条件およびメッセージ
Sun Cluster HA for Sun Java System Application Server 障害モニターは、Sun Java System Application Server サーバーの健全性を照会する要求をサーバーに送信します。検証機能は、次の作業を行います。
障害モニターは、Probe_timeout リソースプロパティーに設定されているタイムアウト値に従って Sun Java System Application Server インスタンスの検証を行います。
検証機能は、リソースグループのネットワークリソース構成と Port_list 設定で定義されている IP アドレスとポートのペアに接続します。リソースに Port_list も指定されている場合、この手順は省略されます。正常に接続できた場合、検証機能は切り離されます。接続に失敗した場合は、障害が記録されます。
大量のネットワークトラフィック、高システム負荷、構成の誤りは、問い合わせが失敗する原因になることがあります。Sun Java System Application Server サーバーが検証対象のすべての IP アドレスとポートの組み合わせで待機するように構成されていないと、構成ミスになります。Sun Java System Application Server サーバーは、このリソースに指定したすべての IP アドレスのすべてのポートに対応するように構成します。
検証機能は、Sun Java System Application Server サーバーに接続し、Monitor_Uri_List 内の各 URI に HTTP 要求を送信して応答を受け取ることによって HTTP 1.1 GET チェックを行います。
各 HTTP 要求の結果は、成功または失敗です。すべての要求に対して、Sun Java System Application Server サーバーから応答があった場合、検証機能は復帰して次の検証とスリープのサイクルを続けます。
大量のネットワークトラフィック、大きなシステム負荷、不正な構成は、HTTP GET 検証の失敗の原因になります。Monitor_Uri_List の URI に不正なポートまたはホスト名が含まれていた場合、Monitor_Uri_List プロパティーの不正な構成が失敗の原因となります。たとえば、アプリケーションサーバーインスタンスが論理ホスト schost-1 で待機していて、URI が http://schost-2/servlet/monitor と指定されていると、検証機能は schost-2 に接続して /servlet/monitor を要求しようとします。
Probe_timeout に指定された制限時間内に応答がない場合、検証機能は履歴ログに失敗を記録します。検証機能はこの状況を Sun Java System Application Server データサービスに属す障害とみなします。Sun Java System Application Server の検証障害は、完全障害の場合もあれば、部分障害の場合もあります。
Probe_timeout 内に検証機能が応答を受け取らなかった場合、HTTP 応答コードを調べます。応答コードが 500 (Internal Server Error) だった場合、検証は完全障害とみなされます。それ以外の応答コードはすべて無視されます。
完全検証障害は、次のとおりです。
サーバーとの接続に失敗すると、次のエラーメッセージが出されます。%s はホスト名、%d はポート番号を表します。
Failed to connect to the host <%s> and port <%d>. Receiving a response code of 500 Internal Server Error HTTP GET Response Code for probe of %s is 500. Failover will be in progress |
サーバーに検証文字列を正常に送信できなかった場合は、次のエラーメッセージが出されます。最初の %s はホスト名、%d はポート番号、2 番めの %s はエラーの詳細を表します。
Write to server failed: server %s port %d: %s. |
モニターは、完全障害と等しくなるまで、すなわち、Retry_interval リソースプロパティーで設定された値になるまで、発生した部分障害を累積します。
部分検証障害は、次のとおりです。
Probe_timeout で設定された時間が経過するまでに、切断できなかった場合は、次のエラーメッセージが出されます。%d はポート番号を示し、%s はリソース名を示します。
Failed to disconnect from port %d of resource %s. |
Probe_timeout の時間内ですべての検証手順を完了できないと、部分障害になります。
次のエラーメッセージは、ほかの理由でサーバーからのデータ読み取りに失敗した時に受け取ったものです。最初の %s はホスト名、%d はポート番号、2 番めの %s はエラーの詳細を表します。
Failed to communicate with server %s port %d: %s |
異常履歴に基づいて、データサービスのローカルでの再起動、またはデータサービスのフェイルオーバーのいずれかを実行します。
ここでは、Sun Cluster HA for Sun Java System Application Server が正しくインストールされているかどうかを確認する手順について説明します。
インストール後は、クラスタ管理コマンドの scswitch(1M) だけを使用して、手動で Sun Java System Application Server の起動と停止を行います。起動した Sun Java System Application Server は、Sun Cluster ソフトウェアの制御下で動作します。
Sun Cluster ソフトウェアの制御下で Sun Java System Application Server を起動します。
# scswitch -Z -g resource-group |
Web ブラウザを使用して Sun Java System Application Server に接続し、Sun Java System Application Server ソフトウェアが正常に動作していることを確認します。
scswitch コマンドを実行して、リソースグループをほかのクラスタノード (node2 など) に切り替えます。
# scswitch -z -g resource-group -h node2 |
リソースグループと Sun Java System Application Server リソースがオンラインであることを確認します。
# scstat -g # ps -ef |
Sun Java System Application Server リソースグループに含まれるすべての潜在的プライマリで、手順 2 と手順 3 を繰り返します。