高可用性に対応するためのクラスター・サーバーの構成

クラスター構成、つまり高可用性構成に対応するために、複数のサーバーをセットアップすることができます。この構成では、複数のサーバーが同時に稼働します。

始める前に

ロード・バランサーをインストールします。このロード・バランサーは、クラスター内のサーバーに要求を分散します。

このタスクについて

クラスター構成のサーバーをセットアップするには、サーバーを別々のシステムにインストールし、それらのサーバーを同じデータベースに接続します。次に、サーバー間でトラフィックを分散するよう、ロード・バランサーを構成します。ユーザーは、サーバーに直接アクセスする代わりに、ロード・バランサー URL にアクセスします。ユーザーには、その URL は大容量のサーバーの単一インスタンスをホストしているように見えます。ユーザーは複数のサーバーを気にする必要はありません。

手順

  1. データベースを通常どおりにインストールし、構成します。 既にデータベースがある場合は、それをクラスター・サーバーで使用できます。データベースのインストールを参照してください。
  2. 既に 1 つ以上のサーバーがある場合は、以下の手順に従ってそれらをクラスター・サーバーに変換します。
    1. サーバーを停止します。
    2. サーバーで、ファイル install_folder/ucrelease/conf/server.properties をテキスト・エディターで開きます。 install_folder のサーバー・インストール・ディレクトリーを使用します。
    3. このファイル内の public.url パラメーターを、ロード・バランサーの URL とポートに変更します。 以下の例に従って、コロンおよび特殊文字は円記号 (¥) でエスケープします。
      public.url=http\://balancer.example.com\:8080
    4. ファイルを保存します。
  3. 新しいクラスター・サーバーをインストールする場合は、通常どおりにサーバーをインストールし、以下の変更を行います。
    • 各サーバーを同じデータベースに接続します。
    • ユーザーがアクセスするホスト名には、サーバーをホストするコンピューターではなく、ロード・バランサーのホスト名を指定します。
    • サーバーを別のサーバーと同じコンピューターにインストールする場合、HTTPS 要求に使用するポートはサーバーごとに異なるポートにしてください。
    サーバーのインストールを参照してください。各サーバーのポートを必ず書き留めておいてください。後でこの情報が必要になります。HTTP 要求のデフォルト・ポートは 8080 で、HTTPS 要求のデフォルト・ポートは 8443 です。
  4. 各サーバーを始動します。
  5. 1 つのサーバーにログインし、「ログイン状態を保持」チェック・ボックスを選択します。
  6. そのサーバーの server.properties ファイルを開きます。
  7. server.properties ファイルで cookie.key プロパティーを見つけ、それをコピーします。 このプロパティーは、ユーザーがログインした時に Cookie に含まれるキーを指定します。ユーザーが各サーバーに別々にサインインする必要がないように、後でこのキーを他のサーバーにコピーします。
  8. 各サーバーの server.properties ファイルに、以下のプロパティーを追加します。
    ha.activation.enabled=yes
    ha.node.name=nodeName
    cookie.key=cookieKey
    nodeName には、各サーバーの固有ノード名を指定します。サーバーをセットアップすると、このノード名が各サーバーに表示されます。どのサーバーを使用しているかが分かると、問題のデバッグに役立ちます。使用しているノードの名前を表示するには、任意のページの上部にある「ヘルプ」をクリックします。以下の図に示すように、ノード名がメニューに表示されます。
    ノード名を示している、サーバーのヘルプ・メニュー
    cookieKey には、最初のサーバーからコピーした Cookie キーを指定します。このキーは、各サーバーで同じでなければなりません。
    例えば、server.properties ファイルに追加するコードは次の例のようになる可能性があります。
    ha.activation.enabled=yes
    ha.node.name=HA node 1
    cookie.key=D3ZizBbRSWFjdOQ8N2a/yQ\=\=
  9. オプション: 添付ファイルを共有ディレクトリーに保管するには、attachments.folder.path プロパティーを追加し、以下の例のように共有ディレクトリーを指定します。
    attachments.folder.path=/
  10. 各サーバーを再始動します。
  11. サーバー間でロードを共有するようにロード・バランサーを構成します。 詳しくは、ご使用のロード・バランサーの資料を参照してください。

タスクの結果

複数のサーバーに接続を分散するようにロード・バランサーを構成すると、ユーザーは単一 URL に接続し、すべてのサーバーの容量を使用することができるようになります。また、サーバーは、ユーザーが複数のサーバーにアクセスする場合でも、1 人のユーザーにつき 1 つのライセンスのみが使用されるようにします。

フィードバック