この項では、WebLogic Serverドメイン内のすべてのFusion Middleware製品にトポロジをスケール・アウト(マシンをスケール・アウト)する手順について説明します。高可用性を実現するためには、別のホスト・コンピュータへのフェイルオーバー機能を備える必要があります。そうすることで、1台のコンピュータが停止した場合に、デプロイ済アプリケーションの環境を中断させることなく、ユーザーに継続してサービスを提供できます。
この項の内容は次のとおりです。
スケーラビリティとは、将来のニーズや状況に応じて、ハードウェア、ソフトウェア、ネットワークの構成を拡張または縮小できる能力を表します。スケーラブルなシステムとは、リクエストが増加してもレスポンス時間およびスループットに悪影響をもたらすことなく処理できるシステムです。
マシンのスケール・アウトとは、高可用性を実現するために、1つのマシン上に複数あるサーバーの1つを別のマシンに移行するプロセスを表します。マシンのスケール・アウトは、管理対象サーバーのスケール・アップとは異なります(管理対象サーバーのスケール・アップとは、すでに1つ以上の管理対象サーバーが稼働しているマシンに対して新しい管理対象サーバーをマシンに追加するプロセスです)。『Oracle Fusion Middleware Oracle Fusion Middlewareの管理』の環境のスケール・アウトに関する項を参照してください。
次の表は、トポロジをスケール・アウトするときに必要となる、一般的な手順を示しています。
標準トポロジがすでにインストールされている場合(『Oracle Fusion Middleware Oracle Fusion Middleware Infrastructureのインストールと構成』および『Oracle Fusion Middleware Oracle SOA SuiteおよびBusiness Process Managementのインストールと構成』などの製品のインストレーション・ガイドで説明するとおり)、第6.5項、第6.6項および第6.7項の手順を繰り返す必要はありません。次の表では、トポロジの標準インストール手順を完了していない場合の、初めから終わり間瀬の手順を示します。
表6-1 トポロジのスケール・アウト手順
作業 | 説明 | 参照先 |
---|---|---|
スケール・アウト用の製品の準備 |
製品のインストールと構成を行い、管理対象サーバーのクラスタを有効にして、標準的なインストール・トポロジに製品を配置します。 |
|
リソース要件を満たしているかどうかの確認 |
ご使用の環境が特定の要件を満たしているかどうかを確認する必要があります。 |
|
新しいマシンの作成およびサーバーの割当て |
管理コンソールを使用して、新しいマシンを作成し、それに管理対象サーバーを追加します。 |
|
新しいJMSサーバーの作成およびターゲットの指定 |
新しいJMSサーバーを作成し、新しい管理対象サーバーをターゲットに指定します。 |
第6.7項「マシンのスケール・アップまたはスケール・アウト後のWLS JMSの構成」 |
packコマンドの実行 |
ドメイン・ディレクトリをパックします。 |
|
新しいマシンの準備 |
最初のマシンにインストールしたソフトウェアと同じものをインストールします。 |
|
unpackコマンドの実行 |
管理対象サーバーのテンプレートを作成します。 |
第6.10項「テンプレートを転送するためのアンパックの実行」 |
サーバーの起動 |
新しいマシン上で管理対象サーバーを起動します。 |
|
トポロジの検証 |
新しい設定をテストします。 |
|
「クラスタのメッセージング・モード」を「マルチキャスト」に設定します。 |
メッセージング・モードを「ユニキャスト」から「マルチキャスト」に変更します(マルチサーバー・ドメインに適した設定)。 |
|
注意: この項では、APPHOSTは物理ホスト・コンピュータを指します。マシンは、そのホストを説明名するWebLogic Serverマシンの定義を指します。詳細は『Oracle Fusion Middleware Infrastructureのインストールと構成』のOracle Fusion Middlewareインフラストラクチャの標準的なインストール・トポロジの理解に関する項を参照してください。 |
標準的なインストール手順に従うと、トポロジは複数の管理対象サーバーが1つのホスト・コンピュータに割り当てられます。
このアプローチは、変更要件に合せてドメイン・トポロジを作成したりスケール・アウトできる、最も柔軟性の高い手法です。追加のコンピューティング・リソースが必要になった場合は、1) 単一ホスト・ドメインを作成および検証して、1つのホスト・コンピュータ上の1つのマシンにターゲット指定し、2)管理対象サーバーのターゲットを追加のマシンに変更します。また、先に基本ドメインを検証してから、スケール・アップやスケール・アウト(トラブルシューティング)を行うため、トラブルシューティングが容易になります。
ただし、ターゲットのトポロジが事前にわかっている場合は、ドメインの作成中に追加のマシンを作成して、パックとアンパックの手順のみを実行することができます。
最初のインストール中に、またはオンラインの管理操作を通じて、管理対象サーバーをターゲット・マシンに割り当てている場合は、手順(第6.2項「トポロジのスケール・アウト手順」)に含まれている第6.6項「新しいマシンの作成」をスキップしてください。
マシンのマッピングの詳細は、『Oracle Fusion Middleware Infrastructureのインストールと構成』などの製品固有のインストレーション・ガイドを参照してください。
スケール・アウトのプロセスを開始するには、製品の標準的なインストール・トポロジを設定しておく必要があります。この標準的なインストール・トポロジがスケール・アウトの開始点です。ご使用の製品のインストレーション・ガイドに従って手順を実行すると、標準的なインストール・トポロジが構成されます。標準的なインストール・トポロジの例は、『Oracle Fusion Middleware Oracle Fusion Middleware Infrastructureのインストールと構成』のOracle Fusion Middlewareインフラストラクチャの標準的なインストール・トポロジの理解に関する項を参照してください。
関連項目: 標準的なインストール・トポロジの詳細は、ご使用の製品のインストレーション・ガイド、または『Oracle Fusion Middlewareのインストールのプランニング』の「標準的なインストール・トポロジについて」を参照してください。 |
注意: このリリースのアプリケーション層製品は、動的クラスタをサポートしていません。動的クラスタは、アプリケーションのリソース・ニーズを満たすように動的にスケール・アップできるサーバー・インスタンスで構成されます。動的クラスタは、指定した数の生成された(動的)サーバー・インスタンスの構成を定義する単一のサーバー・テンプレートを使用します。 |
トポロジをスケール・アウトする前に、現在の環境が次の各要件を満たしていることを確認します。
1つ以上のマシンが、製品に構成された複数の管理対象サーバーを実行する。これは製品のインストレーション・ガイドまたは管理ガイドに従ってサーバーを追加した状態です。
開始時のホスト・コンピュータとは別にホスト・コンピュータがある。
製品のバイナリが格納されているOracleホームに対して、次のいずれかの方法で各ホスト・コンピュータからアクセスできる。
元のインストールのバイナリが格納されている共有ディスク
新しいインストール(元のインストールと同じ)が格納されている専用ディスク
元のインストールから複製したバイナリが格納されている専用ディスク
詳細は、第4章「共有記憶域の使用」を参照してください。
ドメイン・ディレクトリに使用できる十分な記憶域がある。
元のインストールに使用したものと同じOracle Databaseまたはサード・パーティ・データベースにアクセスできる。
JMSおよびトランザクション・ログ・ファイル用の共有ディスクがある(ファイル永続性プロファイルを使用する場合は必須です)。
マシンは、1つまたは複数のWebLogic Serverインスタンス(サーバー)をホストするコンピュータを論理的に表します。WebLogicドメインでは、マシン定義によって物理ハードウェア単位が識別され、それらの定義はホストするインスタンスに関連付けられます。
新しいマシンを作成するには、次の手順を実行します。
新しいマシンに移動する前に、管理対象サーバーを停止する必要があります。現在稼働している場合は、管理コンソール・オンライン・ヘルプのサーバー・インスタンスの停止に関する項を参照して、新しいマシンがホストする管理対象サーバーを停止してください。
この項では、管理コンソールから新しいマシンを作成する方法について説明します。WLSTを使用して新しいマシンを作成する場合は、『Oracle Fusion Middleware Oracle Fusion Middlewareの管理』の特定のコンポーネントの新しいマシンの作成に関する項を参照してください。
注意: この手順で作成するマシンには、ローカル・ホストの他に、特定のネットワーク・インタフェースのリスニング・アドレスを指定する必要があります。 |
ドメインに新しいマシンを作成する手順は、次のとおりです。
ドメイン管理サーバーが起動していなければ、起動します。DOMAIN_HOME/binディレクトリに移動して、次のように実行します。
./startWeblogic.sh
管理サーバーが起動したら、管理コンソールにアクセスします。Webブラウザを開いて、次のURLを入力します。
http://hostname:port/console
「ようこそ」画面でログインします。
管理コンソールの「チェンジ・センター」で、「ロックして編集」をクリックします。
注意: 本番環境のドメインは「本番モード」でドメインを作成し、「チェンジ・センター」を有効にすることをお薦めします。「本番モード」を有効にしない場合は、「チェンジ・センター」の手順は必要ありません。 |
「ドメイン構造」で、「環境」を開いて、「マシン」をクリックします。
「マシン」表の上(「サマリー」の上)にある「新規」をクリックします。
「新しいマシンの作成」画面で、マシンの名前を入力します(machine_2など)。ドロップダウン・リストから「マシンのOS」を選択して、「次へ」をクリックします。
次の画面で、「タイプ:」ドロップダウン・リストから「プレーン」を選択します。
ノード・マネージャの「リスニング・アドレス」には、このマシンを表すホスト・コンピュータのIPアドレスまたはホスト名を入力します。2つの新しいマシンが「マシン」表に表示されます。
「終了」をクリックします。
チェンジ・センターで、変更のアクティブ化をクリックします。
メッセージ「すべての変更がアクティブ化されました。再起動は不要です。」が表示されます。このメッセージは新しいマシンが作成されたことを示します。
新しく作成したマシンに管理対象サーバーを割り当てるには、管理コンソールで次の手順を実行します。
「チェンジ・センター」で、「ロックして編集」をクリックします。
「マシン」表で、machine_1用のチェック・ボックスを選択します。
マシン名(ハイパーリンクとして表示)をクリックします。
machine_1の「設定」で、「構成」タブ、「サーバー」サブタブの順にクリックします。
「サーバー」表の上にある「追加」をクリックします。
「マシンにサーバーを追加」ページで「新しいサーバーを作成してこのマシンに関連付けます。」をクリックします。「次へ」をクリックし、「サーバー名」と「サーバー・リスニング・ポート」の各フィールドを入力します(必須)。
「ドメイン構造」の下で、「マシン」をクリックします。
「マシン」表で、マシン「machine_2」をクリックします。
machine_2の「設定」の下で、「構成」タブ、「サーバー」タブの順にクリックします。「サーバー」タブの上にある「追加」をクリックします。
「マシンにサーバーを追加」画面で「既存のサーバーを選択して、このマシンに関連付けます。」ボタンを選択します。
「サーバーの選択」ドロップダウン・リストから「server_2」を選択し、「終了」を選択します。
「サーバーが正常に作成されました。」というメッセージが表示されます。
すべての管理対象サーバーに、適切な「サーバー・リスニング・アドレス」が割り当てられていることを確認します。「ドメイン構造」で、「サーバー」をクリックします。「サーバー」表で、管理対象サーバー名をクリックします。「構成」タブを選択します。「リスニング・アドレス」を確認または関連付けられているマシンのIPアドレスに設定します。「保存」をクリックします。
変更を完了するために、「チェンジ・センター」に戻ります。「変更のアクティブ化」をクリックします。メッセージ「すべての変更がアクティブ化されました。再起動は不要です。」が表示されます。
管理対象サーバー割当てのサマリーを表示するには、「ドメイン構造」の下にある「環境」で「サーバー」をクリックします。「サーバー」表に、そのドメイン内の全サーバー、およびそれらのマシンの割当てが表示されます。
クラスタに新しい管理対象サーバーを追加する場合は、その管理対象サーバー上のすべてのJMSシステム・リソースを、手動で再度作成する必要があります。新しいJMSシステム・リソースは、クラスタ内の既存の管理対象サーバーからクローンします。新しいJMSシステム・リソースには、ドメイン内で一意の名前を与える必要があります。ドメインを作成した際に、構成ウィザードによって、次のパターンに従ったJMSシステム・リソース名が作成されます。管理性と利便性の点から、同じ命名パターンに従って名前を付けることをお薦めします。
新しい管理対象サーバーserver
_n上のJMSリソースを構成するには、次の手順を実行します。
「ドメイン構造」ツリーで「サービス」、「メッセージング」の順に選択します。「JMSサーバー」を選択して、「JMSサーバー」表を開きます。
「名前」列で、クラスタ内の既存の管理対象サーバー(たとえば、server_1
)がターゲットに指定されているJMSサーバーを、すべて特定します。
JMSサーバー名の書式は、リソース名_auto_番号です。
リソース名は、リソースを識別する名前です。
番号でJMSサーバーが識別されます(1または2の接尾辞を与えられているサーバーは、ドメインの作成時に作成されたサーバーです)。
JMSサーバーおよび永続ストアの名前をメモに記録します。例: UMSJMSServer_auto_1
およびUMSJMSFileStore_auto_1
。
「新規」をクリックして、新しいJMSサーバーを作成します。
server_1
と同じ書式に従って、server
_nのJMSサーバーに名前を付けます。例: UMSJMSServer_auto_
n。
「永続ストア」で、「新しいストアの作成」をクリックします。
「タイプ」で、server_1
上でそのJMSサーバーにより使用されているのと同じ永続性プロファイルを選択します。「次へ」をクリックします。
「名前」フィールドに、永続ストア名を入力します。server_1
の永続ストアと同じと書式を使用します。例: UMSJMSFileStore_auto_
n。
「ターゲット」フィールドで、ドロップダウン・リストから、移行可能なターゲットserver_
n (移行可能)
用の移行可能なターゲットを選択します。
「ディレクトリ」フィールドには、永続ストアと同じ名前を使用します。「OK」をクリックして、永続ストアを作成します。
「新しいJMSサーバーの作成」画面で、新しい永続ストアを選択し、「次へ」をクリックします。
「JMSサーバーターゲット」で、ドロップダウン・リストから、server
_n (移行可能)用の移行可能なターゲットを選択します。
「終了」をクリックし、JMSサーバーを作成します。
対応するJMSモジュールのサブデプロイメント・ターゲットを更新し、新しいJMSサーバーを追加します。
管理コンソールの「ドメイン構造」ツリーで、「サービス」ノードを開いて、「メッセージング」ノードを開いて、「JMSモジュール」を選択して、「JMSモジュール」表を開きます。
JMSサーバーに対応するJMSシステム・モジュールを特定します。名前に共通のルートが含まれています。たとえば、JMSサーバーUMSJMSServer_auto_1
に対応したJMSモジュール名は、UMSJMSSystemResource
です。「名前」列で、JMSモジュール(ハイパーリンク)をクリックし、モジュールの「設定」ページを開きます。
「サブデプロイメント」タブを開き、「名前」列で、JMSモジュールのサブデプロイメントをクリックします。
新しい「JMSサーバー」server
_nを選択します。「保存」をクリックします。
モジュールの「設定」ページに戻ります。「ターゲット」タブを選択します。「クラスタのすべてのサーバー」が有効になっていることを確認します。
変更を行った場合は、「保存」をクリックします。
JMSリソースをクラスタ内に構成した新しい管理対象サーバーが使用できます。
WebLogicドメイン上でpack
コマンドを実行して、管理対象サーバーのテンプレートを作成します。
注意: パックおよびアンパックの手順を実行する際には、APPHOST1上で管理サーバーが稼働している必要があります。 |
APPHOST1上でpack
コマンドを実行して、テンプレート・パックを作成します。スケール・アウト・プロセスの後の方では、APPHOST2上でテンプレート・ファイルをアンパックします(アンパックの手順は第6.10項「テンプレートを転送するためのアンパックの実行」で説明しています)。
例:
ORACLE_HOME/oracle_common/common/bin/pack.sh \ -domain=DOMAIN_HOME \ -template=dir/domain_name.jar \ -managed=true \ -template_name="DOMAIN"
前述の例の説明:
DOMAIN_HOMEを、ドメイン・ホーム・ディレクトリのフルパスに置き換えます。
dirを、新しいテンプレート・ファイルの作成先となる予約済ディレクトリのフルパスに置き換えます。
JARファイル名のdomain_nameをドメイン名に置き換えます。これは、pack
コマンドで作成するテンプレート・ファイルの名前です。たとえば、mydomain.jar
です。
関連項目: 管理対象サーバーのテンプレートを作成する方法の詳細は、WebLogicドメインおよびドメイン・テンプレートの作成に関するドキュメントのpackおよびunpackのコマンド・リファレンスに関する項を参照してください。 |
新しいマシンmachine_2の準備として、OracleホームがインストールされているAPPHOST2から共有ディスクにアクセスできるかどうかを検証するか、machine_1上にインストールしたものと同じソフトウェアをインストールします。
たとえば、Oracle Fusion Middlewareインフラストラクチャのドメインをスケール・アウトする場合は、APPHOST2からインフラストラクチャのOracleホームにアクセスできることを検証します。
注意: 共有記憶域を使用する場合は、同じインストール場所を再利用できます。 |
注意: 新しいインストールを実行するか、共有記憶域を使用してバイナリを再利用する場合、新しいファイルのパスの場所は元のマシンのパスの場所と正確に一致する必要があります。 |
テンプレートをアンパックして、APPHOST1からAPPHOST2にdomain_name.jarファイルを転送するには、次のunpackコマンドを実行します。
ORACLE_HOME/oracle_common/common/bin/unpack.sh \
-domain=user_projects/domains/base_domain2 \
-template=/tmp/domain_name.jar \
-app_dir=user_projects/applications/base_domain2
ノード・マネージャを起動するには、次のコマンドを実行します。
DOMAIN_HOME/bin/startNodeManager.sh &
ノード・マネージャがスコープ内にあるマシンを使用する場合、ノード・マネージャの起動オプションの詳細は、『Oracle WebLogic Serverノード・マネージャの管理』のノード・マネージャの使用に関する項を参照してください。
管理コンソールから管理対象サーバーを起動するには、次の手順を実行します。
コンソールの左側のペインで、「環境」を開いて、「サーバー」を選択します。
「サーバー」表で、新しいマシンに移動した管理対象サーバー名をクリックします。「制御」タブを選択します。
起動するサーバー名の横のチェック・ボックスを選択し、「開始」をクリックして、サーバーを起動します。
関連項目: WLSTコマンドまたはFusion Middleware Controlを使用して管理対象サーバーを起動する方法については、『Oracle Fusion Middleware Oracle Fusion Middlewareの管理』の管理対象サーバーの起動と停止に関する項を参照してください。 |
マシンのスケール・アウトが正常に完了したかどうかを検証するには、管理コンソールを使用してサーバーを起動した後に、ステータスがRUNNINGになっていることを確認します。
この項の内容は次のとおりです。
クラスタでは、サービスの可用性、および継続的な可用性を示すハートビートをブロードキャストするために、メッセージングが使用されます。クラスタを構成して、ユニキャストまたはマルチキャスト・メッセージングを使用します。
マルチキャストは、複数のアプリケーションがIPアドレスとポート番号にサブスクライブして、メッセージをリスニングできるようにする単純なブロードキャスト技術です。ハードウェアの構成およびサポートが必要なため、マルチキャストはユニキャストに比べて設定が複雑です。
ユニキャストは、クラスタ・メッセージングのためのTCPベースの、信頼性ある、クラスタ用の1対多通信です。マルチキャストに比べて設定が簡単です。
構成ウィザードでクラスタを作成した場合は、クラスタ・メッセージング・モードが、デフォルトでユニキャストに設定されます。ドメイン内の管理対象サーバー数が増加した場合は、マルチキャスト・メッセージングをお薦めします。
マルチキャスト・メッセージングを構成するための要件は、次のとおりです。
少なくとも1つのクラスタを持つドメインが構成されていること。
ネットワークでマルチキャストをサポートするようハードウェアが構成されていること。
クラスタ内にマルチキャスト通信用のIPアドレスおよびポート番号があること。マルチキャスト用のアドレスは、224.0.0.0から239.255.255.255までのIPアドレスです。(Weblogicでは、デフォルトで239.192.0.0が使用されます)。
MulticastTestユーティリティを実行して、環境がマルチキャストをサポートすることを確認済であること。ユーティリティにより、マルチキャストの問題がデバッグされます。これは、マルチキャスト・パケットを送信し、ネットワーク上で、マルチキャストがどのくらい効果的に機能しているかに関するデータを返します。
関連項目: マルチキャスト・メッセージングおよびクラスタ構成の詳細は、『Oracle WebLogic Serverクラスタの管理』のクラスタ内の通信に関する項を参照してください。 |
マルチキャスト・メッセージングを構成するには、次の手順を実行します。
管理コンソールにログインします。
マルチキャスト・メッセージングを使用するすべてのサーバーを停止します。
左側の「ドメイン構造」ペインで、「環境」を開き、「クラスタ」をクリックします。
マルチキャストを有効にするクラスタ名を選択します。
「構成」タブをクリックして、「メッセージング」タブをクリックします。
「メッセージング・モード」で「マルチキャスト」を選択します。「マルチキャスト・アドレス」、「マルチキャスト・ポート」を入力します。
「マルチキャスト・アドレス」は、各クラスタにおいて一意である必要があります。マルチキャスト・アドレスのガイドラインは、『Oracle Fusion Middleware Oracle WebLogic Serverクラスタの管理』のクラスタのマルチキャスト・アドレスおよびポート番号に関する項を参照してください。
「詳細」をクリックして、次のパラメータを構成します。
表6-2 マルチキャスト詳細パラメータ
パラメータ | 説明 |
---|---|
Multicast Send Delay |
OSレベルでのバッファのオーバーフローを防止するために、マルチキャストによるメッセージ・フラグメントの送信が遅延されるミリ秒数(0から250の間で指定)。 |
Multicast TTL |
クラスタ・マルチキャスト・メッセージが通過できるネットワーク・ホップ数(1から255の間で指定)。クラスタがWAN内の複数のサブネットをまたぐ場合は、マルチキャスト・パケットが最終的な宛先に届く前にルーターによって破棄されることのないよう、このパラメータに十分大きな値を設定する必要があります。このパラメータにより、パケットが破棄される前にマルチキャスト・メッセージに許可される、ネットワーク・ホップ数が設定されます。 |
Multicast Buffer Size |
マルチキャスト・ソケットの送信および受信バッファのサイズ(最小で64KB)。 |
タイムアウトまでのアイドル期間 |
クラスタの1つのメンバーがタイム・アウトするまでにクラスタ・メンバーが待機する最大回数。 |
Enable Data Encryption |
マルチキャスト・データの暗号化を有効化します。マルチキャスト・データのみ暗号化され、マルチキャスト・ヘッダー情報は暗号化されません。 |
「保存」をクリックします。
クラスタ内のすべてのサーバーを再起動します。
これで、クラスタでマルチキャスト・メッセージングを使用できます。管理コンソールの「ドメイン構造」ペインで、「クラスタ」を選択すると、「クラスタのメッセージング・モード」に「マルチキャスト」と表示されます。