この章では、クラスタの作成および設定方法について説明します。「クラスタ」とは、同じ設定、リソース、アプリケーションを共有するサーバーインスタンス (通常は複数のホスト上にある) をグループ化したものです。クラスタにより、サーバーインスタンス間のロードバランスが保たれ、フェイルオーバーを通じて処理が継続されることで、高可用性を実現します。複数のマシンにまたがるクラスタを作成し、各マシン上で、ノードエージェントを用いてこれらのクラスタを管理することができます。
この章では、クラスタプロファイルでドメインを実行していることを前提とします。この章で説明する内容は、次のとおりです。
この節では、2 つの Communications Server インスタンスを含むクラスタの作成方法と、融合ロードバランサの使用方法を説明します。融合ロードバランサは、Communications Server のインストール後すぐに利用できます。この節では、クラスタ化を有効にして Communications Server をインストールしていることを想定しています。
ここで示す手順では、DAS が稼動しているのと同じホスト上にサンプルのクラスタを作成します。
ノードエージェントが起動済みであると想定します。クラスタの作成時にインスタンスを指定する場合は、インスタンスを実行するマシンで、実行しているノードエージェントと指定するインスタンスを関連付けます。ノードエージェントが実行されていない場合、インスタンスは起動しません。ノードエージェントとインスタンスの名前は、1 つのドメインで作成されるクラスタ間で一意のものとする必要があります。
http:// hostname:portnumber にアクセスして、管理コンソールにログインします。
hostname は、ドメイン管理サーバーを実行しているシステム名で置き換えてください。portnumber は、クラスタドメイン domain1 のポート番号で置き換えます。
左側の区画で、「クラスタ」タブをクリックします。
Communications Server のインストールで、default-cluster という名前のデフォルトクラスタが作成されます。このクラスタは、デフォルトの融合ロードバランサ cluster-lb に関連付けられます。default-cluster をクリックします。このクラスタの「一般情報」が表示されます。
右側の区画の「一般」タブで、「ハートビートを有効」チェックボックスが選択されていることを確認します。融合ロードバランサを使用するには、GMS サービスを実行している必要があります。
右側の区画で、「インスタンス」タブをクリックします。「新規」ボタンをクリックして、クラスタ用の 2 つのインスタンスを指定する 2 つのエントリを作成します。
instance1 と入力します。「ノードエージェント」フィールドでは、デフォルトで nodeagent1 が選択されています。
instance2 と入力します。「ノードエージェント」フィールドでは、デフォルトで nodeagent1 が選択されています。「保存」をクリックします。
手順 4 ~ 6 の代わりに、次の asadmin コマンドを使用することもできます。
asadmin create-instance --user admin --passwordfile adminpassword.txt --host hostname -port 4848 --cluster default-cluster --nodeagent nodeagent1 --systemproperties "JMX_SYSTEM_CONNECTOR_PORT=8687:IIOP_LISTENER_PORT=3330:IIOP_SSL_LISTENER_PORT=4440:IIOP_SSL_ MUTUALAUTH_PORT=5550:HTTP_LISTENER_PORT=1110:HTTP_SSL_LISTENER_PORT=2220" instance1
asadmin create-instance --user admin --passwordfile adminpassword.txt --host hostname -port 4848 --cluster default-cluster --nodeagent nodeagent1 --systemproperties "JMX_SYSTEM_CONNECTOR_PORT=8688:IIOP_LISTENER_PORT=3331:IIOP_SSL_LISTENER_PORT=4441:IIOP_SSL_ MUTUALAUTH_PORT=5551:HTTP_LISTENER_PORT=1111:HTTP_SSL_LISTENER_PORT=2221" instance2
「保存」をクリックします。
次のコマンドを実行して、default-cluster で融合ロードバランスを有効にします。
asadmin enable-converged-lb-server default-cluster
管理コンソールの「融合ロードバランサ」ノードで、cluster-lb を選択し、「ターゲット」タブをクリックします。「ロードバランサの詳細を編集」のリンクをクリックします。「ロードバランサの詳細を編集」ページで、「変更を自動的に適用」オプションをクリックして有効にし、「保存」をクリックします。デフォルトでは、このオプションは無効です。
また、asadmin set コマンドを使用して、このオプションを true に設定することもできます。詳細は、『Sun GlassFish Communications Server 1.5 High Availability Administration Guide』の第 2 章「融合負荷分散の設定」を参照してください。
クラスタを起動するには、次の手順に従います。
「一般」タブをクリックし、「クラスタの起動」ボタンをクリックします。
次のコマンドを実行して、クラスタとクラスタに含まれるインスタンスを起動します。
asadmin start-cluster --user admin --passwordfile adminpassword.txt --host hostname --port 4848 default-cluster
クラスタを起動すると、デフォルトで 2 つのインスタンスが起動されます。default-cluster は、融合ロードバランサ cluster-lb と関連付けられます。このクラスタは、Communications Server のインストールによりデフォルトで作成されます。次の図は、default-cluster と、このクラスタで実行される 2 つのインスタンスを示しています。
次の手順では、それぞれ別のマシンで動作している 2 つのインスタンス (instance3 および instance4) から成るクラスタを作成する方法を説明します。2 つのマシンの名前を、schumi および sr115 とします。schumi は管理ノードに指定されたマシンで、ドメイン管理サーバー (DAS) と呼ばれます。
どちらのマシンにも、Communications Server をインストールしておく必要があります。
DAS マシンでノードエージェント (nodeagent2) を作成および起動します。
コマンド asadmin create-node-agent --user admin --host schumi nodeagent2 を実行します。
DAS マシンでノードエージェントを起動します。
コマンド asadmin start-node-agent --user admin --host schumi nodeagent2 を実行します。詳細は、start-node-agent(1) コマンドを参照してください。
もう一方のマシンで、ノードエージェントを作成および起動します。
この例では、sr115 という名前の 2 番目のマシンを使用します。2 番目のマシンで、asadmin ユーティリティーを実行し、コマンド asadmin create-node-agent -- user admin --host schumi nodeagent3 を実行します。
DAS マシンの名前を、--host オプションに指定する必要があります。
2 番目のマシンでノードエージェントを起動します。
コマンド asadmin start-node-agent --user admin --host schumi nodeagent3 を実行します。詳細は、start-node-agent(1) コマンドを参照してください。
DAS マシンで、http:// das-machine-name:portnumber にアクセスして管理コンソールにログインします。
管理コンソールの左側の区画で「ノードエージェント」をクリックすると、2 つのノードエージェントが実行されていることを確認できます。
左側の区画で、「クラスタ」タブをクリックし、「新規」をクリックします。
クラスタの名前を指定します。
この例では、mycluster という名前のクラスタを作成します。
「作成するサーバーインスタンス」セクションで、「新規」をクリックします。
インスタンス名に instance3 を入力し、ノードエージェント nodeagent3 を選択します。
nodeagent3 は、手順 2 で sr115 マシンに作成しました。
インスタンス名に instance4 を入力し、ノードエージェント nodeagent2 を選択します。
nodeagent2 は、手順 1 で DAS マシンの schumi に作成しました。
「了解」をクリックします。
クラスタが作成されます。
このクラスタで融合ロードバランサを作成して有効にするには、次のコマンドを使用します。
asadmin create-converged-lb --user admin --passwordfile pass.txt --configfile clb.xml --autocommit=true --lbenableallinstances=true --target mycluster mycluster-lb
管理コンソールの「融合ロードバランサ」ノードで、cluster-lb を選択し、「ターゲット」タブをクリックします。「ロードバランサの詳細を編集」のリンクをクリックします。「ロードバランサの詳細を編集」ページで、「変更を自動的に適用」オプションをクリックして有効にし、「保存」をクリックします。デフォルトでは、このオプションは無効です。
また、asadmin set コマンドを使用して、このオプションを true に設定することもできます。詳細は、『Sun GlassFish Communications Server 1.5 High Availability Administration Guide』の第 2 章「融合負荷分散の設定」を参照してください。
左側の区画で、「クラスタ」をクリックします。
右側の区画で、mycluster の横にあるチェックボックスを選択し、「クラスタの起動」ボタンをクリックします。
クラスタと 2 つのインスタンスが起動します。
mycluster の 2 つのインスタンスは、別々のマシンで実行され、別々のノードエージェントにより管理されます。2 つのノードエージェントを表示して、関連付けられているそれぞれのインスタンスを確認できます。
mycluster にアプリケーションを配備する場合、アプリケーションは 2 つのマシンからアクセス可能になります。
「 融合ロードバランサを使用するクラスタの設定 」で作成した、クラスタ化されたサーバーインスタンスのポート番号を確認したり、デフォルト値を上書きすることができます。デフォルトでは、instance1 の HTTP ポートは 38081 で、instance2 の HTTP ポートは 38080 です。クラスタの作成時に、これらのポートがビジー状態の場合、あるいはこれらのポートが他のインスタンスまたはクラスタに割り当てられている場合は、異なるポート番号が割り当てられます。
ポート番号を表示して、オプションでデフォルト値を上書きするには、次の手順を実行します。
左側の区画でクラスタを展開し、default-cluster をクリックして、クラスタの「一般情報」ページを表示します。
「インスタンス」タブをクリックして、作成したインスタンス instance1 と instance2 を表示します。
ここでは、1 つのマシンで、1 つのクラスタを作成しました。各マシンにソフトウェアをインストールし、ノードエージェントを実行している限り、同じ基本手順を使用して、複数のマシンにまたがるクラスタを作成することもできます。