前へ     目次     索引     DocHome     次へ     
iPlanet Application Server 管理者ガイド



第 15 章   分散のデータ同期の管理


この章では、iPlanet Application Server インスタンスをデータの同期化に参加するクラスタにグループ化する方法について説明します。

この章には次のトピックがあります。



分散のデータ同期について

分散データを同期化することによって、複数の iPlanet Application Server インスタンス間で共有されるステートおよびセッション情報の完全性を保持します。これは、複数の iPlanet Application Server インスタンスで管理されるパーティション分割された分散アプリケーションにとって重要です。

ほとんどの企業では、複数の iPlanet Application Server インスタンスで、1 つ以上の分散アプリケーションをサポートしています。分散アプリケーションが機能するには、各サーバがステートやセッション情報などのアプリケーション関連情報にアクセスする必要があります。

これらの情報は、iPlanet Application Server に組み込まれているシステムレベルの分散データ同期サービスを介して分散されます。



フェールオーバーがデータアクセスを維持する方法



分散データシンクロナイザはシステムレベルのサービス 1 つで、アプリケーションのセッション情報など、複数の iPlanet Application Server インスタンス間の分散データの完全性と耐障害性を制御します。

各 iPlanet Application Server インスタンスは、次の 4 つのエンジンから構成されています。

  • Administrative Server(KAS) - Administrative Server が他のエンジンを起動および監視し、障害が発生したエンジンが確実に再起動されるようにします。

  • Executive Server(KXS) - 1 つの Executive Server だけが iPlanet Application Server クラスタ内のプライマリ同期エンジン (シンクロナイザ) になれます。

    iPlanet Application Server インスタンスのクラスタ内では、いずれかの Executive Server が分散 (同期) 情報を管理し、クラスタに登録されている他のすべてのサーバのサーバロールを設定します。クラスタ内のすべてのエンジンは、このプライマリエンジンおよびその情報にアクセスできます。

  • Java サーバ (KJS) - ないこともあります。

  • C++ サーバ (KCS) - ないこともあります。

    KJS または KCS に障害が発生すると、KAS はそのエンジンを再起動します。KXS に障害が発生した場合は、次の対応策を適用します。

    • KXS のバックアップに現在の適切なロールを割り当てます。このロールは、クラスタ内にある KXS エンジンを考慮して決定されるため、以前のロールと異なることがあります。

    • KJS および KCS エンジンを停止します。

    • KJS および KCS エンジンのバックアップを作成します。



クラスタについて

クラスタは、iPlanet Application Server インスタンスのグループで、各ユーザセッションのステートに関連する情報を共有しています。クラスタを使用すると、信頼性が向上し、プロセスおよびハードウェアに障害が発生した場合でもユーザセッションを継続できることできます。また、すべての利用可能なリソースに対して、より効率的に負荷を分散することができます。

クラスタ内のサーバは、同一ネットワーク内だけでなく、異なるネットワーク内、または同一ネットワーク内の異なるサブネットに配置することができます。共通のサブネット上のクラスタ内に各サーバを配置すれば、パフォーマンスが向上します。クラスタ内のメンバーは、TCP/IP を介して通信します。つまり、クラスタ内のサーバの IP アドレスおよびポート番号を使用して、各インスタンスの KAS および KXS エンジンにアクセスします。この通信が有効なときにのみ、クラスタを操作することができます。この通信方法の詳細は、「ファイアウォールを使ったセキュリティ」を参照してください。

クラスタ内の、ステートおよびセッション情報は、Primary Sync Server の KXS プロセスのメモリに保存されます。クラスタの設定データは、Directory Server に保存されます。クラスタ内のすべての iPlanet Application Server インスタンスは、1 つの Directory Server を共有することができます。クラスタ内の iPlanet Application Server インスタンスが 1 つの Directory Server を共有しない場合は、各サーバが同一のクラスタ情報にアクセスできるように、クラスタ設定を Directory Server 間からコピーする必要があります。

この節では、次のトピックについて説明します。


データ同期の設定

サーバ間のデータ同期を設定するには、クラスタ内でサーバが実行するロールを決定する必要があります。次に、各クラスタエントリを編集して、サーバロールを設定し、クラスタをシンクロナイザサービス登録します。最後に、サーバロールに指定した順序で各 iPlanet Application Server を起動します。


クラスタ内でのサーバロール

クラスタ内起動のサーバロールを、Sync Alternate または Sync Local に設定します。最初に起動するサーバは Primary Sync Server になります。次に起動したときに変わります。2 つのバックアップサーバを定義した場合は、Primary Sync Server の後に起動した 2 つのサーバに対して、Backup Sync Server のロールが割り当てられます。

定義済みのバックアップサーバをすべて起動した後で、次のサーバを起動すると Sync Alternate が割り当てられます。Primary および Backup に障害が発生すると、このサーバにロールが引き継がれます。

クラスタ内のサーバが、割り当てられたロールを実行しながら、相互に調整する方法の詳細については、「例 : 7 台のサーバで構成されるクラスタ内の調整」を参照してください。

クラスタ内のサーバのロールについて、次の表で説明します。


表 15-1    クラスタ内のデータ同期のロール 

サーバロール

説明

Sync Server  

任意の iPlanet Application Server インスタンスを、Sync Primary として定義できる。Sync Server は Sync Primary、Sync Backup、および Sync Alternate で構成される。

すべての Sync Server は、iPlanet レジストリの SyncServers キーに記述される。  

 Sync Primary  

プライマリデータストアが格納されるサーバ。クラスタ内の他のすべてのメンバーは、最新の分散データ情報を取得するためにこのサーバと通信する。

クラスタ内で最初に起動する iPlanet Application Server が Sync Server となる。また、最初に起動した Sync Server が、Sync Primary となる。  

 Sync Backup  

Sync Server の数。最大 MaxBackups 個まで。Sync Primary の情報をミラー化する。Sync Backup を増やすたびにクラスタの負荷が増加するので、割り当てるバックアップ数を決めるときは、安全性とパフォーマンスのバランスを考慮する必要がある

Sync Primary にアクセスできなくなった場合は、他の Sync Backup と比較して優先度のもっとも高い (最小整数値) Sync Backup が次の Sync Primary になる。  

 Sync Alternate  

iPlanet レジストリの SyncServers キーに指定されているサーバ。Sync Backup になることができる。Sync Backup の数が、設定した最大数を下回ると、他の Sync Alternate と比較して優先度のもっとも高い Sync Alternate が Sync Backup に昇格する。

各 Sync Alternate は Sync Backup に昇格するまで、Sync Local と同様に動作する。  

Sync Local  

データ同期サービスを使用するサーバ。ただし、Sync Primary、Sync Backup、または Sync Alternate になることはできない。Sync Local はすべての分散データの使用、作成、および破棄できるが、そのデータを保持する機能をもたない

Sync Local は iPlanet レジストリの SyncServers キーには指定されていない。ただし、クラスタ内にあるすべてのレジストリの SyncServers リストには、クラスタ内の各 Sync Server の識別および優先度の情報が記述されている

各 Sync Local は、iPlanet レジストリの SyncServers キー内ですべてのサーバを照会し Sync Primary を検出すると、クラスタ内で有効になる。Sync Local が iPlanet レジストリの SyncServers キーから Sync Primary を検出できなかった場合はクラスタが停止していると見なし、ローカルサーバとして動作する

Sync Local は Sync Primary とだけ通信し、クラスタ内の他のサーバからは Sync Local を認識されない  



クラスタの通信方法



クラスタ内のサーバは、相互に通信する必要があります。この通信を有効にするには、各サーバがそれぞれ属するクラスタを識別する必要があります。iPlanet Application Server インスタンスのシンクロナイザをクラスタに割り当てると、iPlanet Application Server インスタンスはクラスタの一部として有効になります。この手順については、「クラスタへのシンクロナイザの割り当て」で説明します。

アプリケーションコンポーネントが分散データソースに書き込みアクセスを要求すると、書き込みは最初に Sync Primary 上で発生します。Sync Primary 上のデータがで変更されると、Sync Primary はただちに Sync Backup を更新します。

各 iPlanet Application Server インスタンスに対するシンクロナイザの割り当ては、1 つのクラスタに対して 1 度だけ行うことができます。


クラスタ内の情報の流れ

Sync Backup、Sync Alternate、Sync Local、および Sync Primary の通信は、次の図のように星形構成になっています。



この図では、すべてのサーバが Sync Primary と通信しています。Sync Local には、優先度番号が割り当てられていません。

この図は、起動したばかりのクラスタを表しています。フェールオーバーが発生していないうえ、優先度番号は現在割り当てられているロールと一致しています。



クラスタの設定



クラスタの設定および管理は、iPlanet Application Server Administration Tool (iASAT) を使って行います。iASAT は、スタンドアロンのグラフィカルユーザインタフェースツールです。このツールを使うことにより、iPlanet Application Server のあらゆる機能を管理できます。iASAT を使ってクラスタを設定すると、関連するバックエンドエントリが iPlanet レジストリに作成されます。これらのエントリは、確認および編集することができます。

クラスタの設定は、iPlanet レジストリエディタを使って、iPlanet レジストリ内で直接行うこともできます。ただし、クラスタの作成と管理は、「iASAT」を使うことをお勧めします。

次の節では、iASAT および iPlanet レジストリエディタを使って、クラスタを作成および管理する方法について説明します。


iASAT を使ったクラスタの設定

iPlanet Application Server をインスタンスにインストールすると、ホストサーバは、1 つのノードを持つデフォルトのクラスタとして自動的に認識されます。他の登録済み iPlanet Application Server インスタンスを既存のクラスタ (ホストサーバ) に追加したり、新しいクラスタを作成したりすることができます。

この節では、次のトピックについて説明します。


新しいクラスタを作成するには

iASAT を使って新しいクラスタを作成するには、次の手順を実行します。

  1. iASAT ツールバーの「一般」をクリックして「一般」ウィンドウを開きます。

  2. 「一般」ウィンドウの左側のペインで、新しいクラスタを作成する iPlanet Application Server インスタンスを選択します。

  3. 「一般」ウィンドウの右側のペインで、次の図に示すように、「クラスタ」タブをクリックします。



  4. 「クラスタ名」ドロップダウンリストで、Backspace キーまたは Delete キーを使用して、デフォルトのクラスタ名を削除します。

  5. 新しいクラスタの名前を入力し、Enter キーを押します。新しいクラスタに対して任意の一意名を選択します。

  6. 「変更の適用」をクリックします。新しいクラスタ設定を有効にするには、サーバを再起動する必要があります。

サーバを再起動した後で、次の節で説明するように、新しいクラスタに対して他の iPlanet Application Server インスタンスを追加できます。


クラスタにサーバを追加するには

iASAT を使って、割り当てられていないサーバをクラスタに追加したり、特定のサーバを別のクラスタに割り当て直すには、次の手順を実行します。

  1. iASAT ツールバーの「一般」をクリックし、「一般」ウィンドウを開きます。

  2. 「クラスタ」タブをクリックします。

    次のウィンドウが表示されます。



    すべての登録済みサーバが「一般」ウィンドウの左側のペインに表示されます。既存のクラスタに属しているサーバは、「一般」ウィンドウの右側のペインにある「サーバの優先度リスト」ボックスに表示されます。表示されたサーバは、クラスタ内の優先度順にソートされています。

    「サーバの優先度リスト」ボックスには、サーバのクラスタの状態も表示されます。サーバの状態には、「Normal」、「Dual Primary」、または「No Primary」があります。「リストを更新」ボタンをクリックすると、「サーバの優先度リスト」がただちに更新されます。デフォルトでは、このボックスは 15 秒ごとに更新されます。

  3. 「一般」ウィンドウの左側のペインで、クラスタに追加するサーバの名前をクリックします。

  4. 「クラスタ名」ドロップダウンボックスから、サーバを追加するクラスタの名前を選択します。

    「クラスタ名」ドロップダウンリストには、登録済みサーバが属するクラスタ名がすべて表示されます。

  5. 「変更の適用」をクリックします。

  6. 追加したサーバを含め、クラスタ内のすべてのサーバを停止して再起動します。

    クラスタからサーバを削除して別のクラスタに追加した場合は、変更を有効にするために、両方のクラスタにあるすべてのサーバを再起動する必要があります。




クラスタからサーバを削除するには

クラスタからサーバを削除するには、次の手順を実行します。

  1. iASAT ツールバーの「一般」をクリックし、「一般」ウィンドウを開きます。

  2. 「一般」ウィンドウの左側のペインで、クラスタのメンバーから削除する iPlanet Application Server を選択します。

  3. 「一般」ウィンドウの右側のペインにある「クラスタ」タブをクリックします。

    すべての登録済みサーバが「一般」ウィンドウの左側のペインに表示されます。既存のクラスタに属しているサーバは、「一般」ウィンドウの右側のペインにある「サーバの優先度リスト」ボックスに表示されます。

  4. 「クラスタ名」ドロップダウンリストで、サーバを削除するクラスタを選択します。「サーバの優先度リスト」ボックスに、選択されたクラスタに属するすべてのサーバが表示されます。

  5. 「サーバの優先度リスト」ボックスで削除するサーバを選択し、「Remove Server from Cluster」をクリックします。

  6. 「変更の適用」をクリックします。

  7. 削除したサーバを含め、クラスタ内のすべてのサーバを停止して再起動します。



    • クラスタのメンバーでないサーバは、データ同期に含まれないため、クラスタリストの「<hostname>-NoDsync」の下に表示されます。<hostname>-NoDsync リストのサーバは削除できません。

    • クラスタ名を変更するには、iASAT の「一般」ウィンドウで、「クラスタ」タブのクラスタ名を削除します。次に、クラスタの新しい名前を入力し、「変更の適用」をクリックします。




iPlanet レジストリエディタを使ったクラスタの設定

iASAT を使ってクラスタを設定すると、必要なバックエンドエントリが iPlanet レジストリに作成されます。これらのエントリは、iASAT を使わなくても、iPlanet レジストリに作成してクラスタを設定できます。クラスタを設定および管理するときは、この機能を使うこともできますが、iASAT を使うことを強くお勧めします。

この節では、次のトピックについて説明します。


新しいクラスタを作成するには

iPlanet Application Server をインストールすると、デフォルトのクラスタが自動的にホストサーバを使って作成されます。クラスタを設定するときは、このデフォルトクラスタの iPlanet レジストリに作成されたバックエンドエントリを変更するのがもっとも簡単です。

デフォルトクラスタの名前は <hostname>-NoDsync です。hostname はローカルマシンの名前です。たとえば、iPlanet Application Server を Bozo というマシンにインストールすると、デフォルトクラスタのエントリは Bozo-NoDysinc という名前になります。このクラスタのデフォルト値は、iPlanet Application Server のインストール時に設定されます。既存のデフォルトクラスタを設定する以外に、次の節で説明するように、新しいクラスタを設定することもできます。

新しいクラスタを作成するには、次の手順を実行します。

  1. iPlanet レジストリを開始します。



    UNIX システムでは、複数の iPlanet Application Server インスタンスを生成して、個別に iPlanet レジストリを割り当てることができます。必ず、シンクロナイザを割り当てるときは、サーバインスタンスに属する iPlanet レジストリを編集してください。



  2. 次のキーを開きます。

    SOFTWARE¥iPlanet¥Application Server¥Clusters¥

  3. 「編集」メニューから「キーを追加」を選択します。次の図のように、「キーを追加」ダイアログボックスが表示されます。



  4. 「キー」フィールドに新しいクラスタの名前を入力して、「OK」をクリックします。新しいクラスタが作成されます。次に、次の手順の説明に従ってクラスタを設定する必要があります。

  5. 作成した新しいクラスタを選択し、「編集」メニューから「値を追加」を選択します。次の図のように、「値を追加」ダイアログボックスが表示されます。



クラスタに必要な値を追加するときは、各値のタイプを「Integer」に設定してください。「値を追加」ダイアログボックスの「入力」ドロップダウンリストで「Integer」を選択します。

値の追加が終了したら、「OK」をクリックして確認します。別の値を追加するには、作成した新しいクラスタを選択し、「編集」メニューから「値を追加」を選択します。

  1. 新しいクラスタには、次の値を追加する必要があります。

    • MaxBackups

      この値は、バックアップサーバに割り当てることができる最大サーバ数を表します。このキーのデフォルト値は 0 です。バックアップ数を指定しない場合、セッションデータはバックアップされません。バックアップはパフォーマンスを低下させますが、信頼性との兼ね合いがあります。少なくとも 1 つのバックアップサーバを指定することをお勧めします。

      指定できる最大バックアップサーバ数は、クラスタ内の総サーバ数 -1 です。



      iASAT を使って新しいクラスタを作成すると、MaxHops という名前のキーが、 MaxBackups キー の下に自動的に設定されます。このキーには、有効な機能は関連付けられていません。iPlanet レジストリエディタを使ってクラスタを作成した場合には、このキーのエントリを作成する必要はありません。



    • MaxSyncHeartBeat

      この値には、別のエンジンに送信する最大ハートビートメッセージ数を指定します。ハートビートメカニズムは、異常なクラスタ状態を検出するときに使われます。このキーのデフォルト値は 10 です。

    • SyncHeartBeatInterval

      この値には、サーバ間でハートビートメッセージが送信される間隔 (秒単位) を指定します。デフォルト値は 30 です。

    • SyncTimerInterval

      このキーには、同期サービスを呼び出して期限切れのデータがないかどうかを確認する間隔を、秒単位で指定します。タイマースレッドがノードリストを調べて期限切れのノードをすべて削除する頻度を指定します。デフォルト値は 30 です。

      これらの値の最適は設定方法については、クラスタパラメータの設定を参照してください。

  2. これらの値の追加が終了したら、新しいクラスタキーを選択して、「編集」メニューから「キーを追加」を選択します。

  3. 「キーを追加」ダイアログボックスが表示されます。「SyncServers」と入力します。

    作成した新しいクラスタキーの下に、SyncServers というフォルダが作成されます。クラスタにサーバを追加するときは、このフォルダをこのキーの下に追加する必要があります。

    これで、新しいクラスタが作成および設定されました。次に、次の節の説明に従って、サーバをクラスタに追加します。


クラスタへのサーバの追加

サーバをクラスタに追加するには、次の手順を実行します。

  1. iPlanet レジストリを開始します。



    UNIX システムでは、複数の iPlanet Application Server インスタンスを生成して、個別に iPlanet レジストリを割り当てることができます。シンクロナイザを割り当てるときは、サーバインスタンスに属している iPlanet レジストリを編集してください。



  2. 次のキーを開きます。

    SOFTWARE¥iPlanet¥Application Server¥Clusters¥<clustername>¥SyncServers

  3. 「編集」メニューから「値を追加」を選択します。次の図のように、「値を追加」ダイアログボックスが表示されます。



  4. 「名前」テキストフィールドに、クラスタに追加するインスタンスの IP アドレスを入力します。次の例に示すように、IP アドレスの後にコロン (:) を入力し、KXS ポート番号を入力します。

    ホスト IP アドレス:KXS ポート番号

    エントリは、次のようになります。

    129.158.228.63:10800

  5. 「値」テキストフィールドに、クラスタ内でのサーバの優先度を示す値を入力します。たとえば、0 はもっとも高い優先度を示し、1 はその次のレベルの優先度を示します。もっとも低い優先度は 65,535 です。

  6. 「入力」ドロップダウンリストから「Integer」を選択し、「OK」をクリックして、エントリを iPlanet レジストリに登録します。

他のサーバをクラスタに追加することもできます。サーバをクラスタに追加し終わったら、サーバが属するクラスタに、サーバを割り当てる必要があります。「クラスタへのシンクロナイザの割り当て」を参照してください。


クラスタからサーバを削除するには

追加したサーバは、SyncServers キーからサーバの IP アドレスのエントリを削除することによって、クラスタから削除できます。

iPlanet レジストリエディタを使ってサーバをクラスタから削除するには、次の手順を実行します。

  1. iPlanet レジストリを開始します。



    Solaris システムでは、複数のiPlanet Application Server を生成して、個別に iPlanet レジストリを割り当てることができます。必ず、シンクロナイザを割り当てるときは、サーバインスタンスに属する iPlanet レジストリを編集してください。



  2. 次のキーを開きます。

    SOFTWARE¥iPlanet¥Application Server¥Clusters¥<clustername>¥SyncServers

    クラスタに追加したサーバの IP アドレスおよびポート番号のエントリが表示されます。

  3. サーバを削除するには、目的の IP アドレスのエントリを選択し、「編集」メニューから「削除」を選択します。代わりに、目的のエントリを選択して、Delete キーを押すこともできます。

  4. 操作を確認するように要求されます。「はい」をクリックして確認します。サーバがクラスタから削除されます。



    • 削除したサーバは、同じクラスタに再度追加したり、別のクラスタに追加できます。詳細については、「クラスタにサーバを追加するには」を参照してください。

    • iPlanet レジストリでは、クラスタの名前を変更できません。クラスタ名エントリを削除して、新しいクラスタ設定を作成する必要があります。詳細については、「新しいクラスタを作成するには」を参照してください。




Sync Serverの優先度の決定

クラスタ内の Sync Server に優先度値を設定できます。優先度を使用して、同じステータスの Sync Server (Sync Backup グループ内または Sync Alternate グループ内) の順序を選択します。優先度にかかわらず、iPlanet Application Server インスタンスが起動する順番で Sync Primary になるサーバ、Sync Backup、または Sync Alternate となる Sync Server が決まります。

Sync Server 優先度は、iASAT または iPlanet レジストリエディタを使って設定できます。

次の節では、Sync Server 優先度をサーバに割り当てる方法と、それらを変更する方法について説明します。


iASAT を使って Sync Server の優先度を変更するには

新しい Sync Server 優先度をクラスタ内のサーバに割り当てるには、次の手順を実行します。

  1. iASAT ツールバーの「一般」をクリックし、「一般」ウィンドウを開きます。

  2. 「一般」ウィンドウの左側のペインで、優先度を変更する Sync Server が属しているクラスタ内のサーバをクリックします。

  3. 「一般」ウィンドウの右側のペインで、「クラスタ」タブをクリックします。次のウィンドウが表示されます。



    登録済みのサーバが「一般」ウィンドウの左側のペインに表示されます。値のサーバは、クラスタ内の優先度でソートされ、右側のペインに表示されます。

    このリストは、クラスタ内の各サーバのステータスも表示されます。ステータスは通常、「Normal」です。クラスタの状態が異常な場合、ステータスは「Dual Primary」または「No Primary」になります。状態を修正する方法については、「クラスタパラメータの設定」を参照してください。ステータスをチェックするには、「リストを更新」ボタンをクリックします。デフォルトでは、サーバのステータスは 15 秒ごとに更新されます。

  4. 「サーバの優先度リスト」ボックスで、Sync Server 優先度を変更するサーバの名前をクリックします。

  5. サーバの Sync Server 優先度を変更するには、「サーバの優先度リスト」ボックスの横にある次のボタンをクリックします。

    • 「増加」優先度を高くします。

    • 「減少」優先度を低くします。

  6. たとえば、Sync Primary の Sync Server 優先度が 3 である場合は、「増加」 を 1 回クリックすると優先度は 3 から 2 に変わります。数値が小さいほど、優先度が高いことを示します。たとえば、0 はもっとも高い優先度を示し、1 はその次のレベルの優先度を示します。もっとも低い優先度は 65,535 です。

  7. サーバの優先度の再割り当てが完了したら、「変更の適用」をクリックします。

  8. Sync Server の優先度の変更をクラスタ全体に適用するには、すべてのサーバを再起動し、すべてのサーバに相互に認識させる必要があります。

    iASAT で行った変更は、iPlanet レジストリに反映されます。Sync Server の優先度は、iPlanet レジストリでも変更できます。次の節では、この方法について説明します。


iPlanet レジストリエディタを使って Sync Server の優先度を変更するには

iPlanet レジストリエディタを使って、iPlanet レジストリ内の Sync Server 優先度を直接変更するには、次の手順を実行します。

  1. iPlanet レジストリを開始します。



    UNIX システムでは、複数のiPlanet Application Server インスタンスを生成して、個別に iPlanet レジストリを割り当てることができます。必ず、シンクロナイザを割り当てるときは、サーバインスタンスに属する iPlanet レジストリを編集してください。



  2. 次のキーを開きます。

    SOFTWARE¥iPlanet¥Application Server¥Clusters¥<clustername>¥SyncServers

  3. クラスタに追加したサーバの IP アドレスおよびポート番号が表示されます。優先度を変更する Sync Server を選択します。

  4. エントリをダブルクリックして開くか、「編集」メニューの「値を変更」を選択します。「値を変更」ダイアログボックスが表示されます。

  5. 必要に応じて値を変更します。値が小さいほど、高い優先度を示します。たとえば、0 はもっとも高い優先度を示し、1 はその次のレベルの優先度を示します。もっとも低い優先度は 65,535 です。

  6. 優先度を変更したサーバを含ね、クラスタ内のすべてのサーバを再起動します。Sync Server の優先度の変更をクラスタ全体に適用するには、すべてのサーバを再起動し、すべてのサーバに相互に認識させる必要があります。


クラスタパラメータの設定

クラスタが効率的に動作するには、パフォーマンスに関連するパラメータを設定する必要があります。これらのパラメータは、iASAT または iPlanet レジストリエディタを使って設定できます。次の節では、各ツールを使ってクラスタパラメータを設定する方法について説明します。


iASAT を使ってクラスタパラメータを設定するには

iASAT を使うと、次のパラメータを各クラスタに設定できます。

  • 「Maximum Number of Sync Backups」

    Sync Primary が使用する Sync Backup の最大数を指定できます。多数のサーバが含まれるクラスタでは、Sync Backup の最大数を指定することにより、バックアップとして使うサーバの数を制御できます。

  • 「Restart」。クラスタが異常な場合。

    クラスタの異常が検出された場合は、プロセスを再起動することもできます。クラスタの異常とは、Sync Primary ロールを持つ iPlanet Application Server インスタンスが複数存在する状態 (デュアル プライマリ) か、Sync Primary ロールを持つ iPlanet Application Server インスタンスが存在しない状態のことです。

iASAT を使ってクラスタパラメータを設定するには、次の手順を実行します。

  1. iASAT ツールバーの「一般」をクリックし、「一般」ウィンドウを開きます。

  2. 「一般」ウィンドウの左側のペインで、変更するクラスタのメンバーである iPlanet Application Server を選択します。

  3. 「一般」ウィンドウの右側のペインで、「クラスタ」タブをクリックします。次のウィンドウが表示されます。

    :

  4. 「一般」ウィンドウの右側のペインにある「最大同期バックアップ数」テキストフィールドに、1 つのクラスタセッションに許可する Sync Backup の最大数を入力します。

  5. 異常なクラスタが検出されたときに、そのクラスタを修正する場合は、「異常クラスタの場合は再起動」チェックボックスをクリックします。

クラスタ内のすべてのサーバを再起動します。クラスタ全体に変更を適用するには、クラスタ内の各インスタンスを再起動し、すべてのインスタンス変更を認識させる必要があります、。



サーバをクラスタに追加するには、その前に iASAT でサーバを登録する必要があります。




iPlanet レジストリエディタを使ってクラスタパラメータを設定するには

iPlanet レジストリエディタを使ってクラスタパラメータを設定するには、次の手順を実行します。

  1. iPlanet レジストリを編集するサーバを停止します。



    サーバの動作中にサーバレジストリを編集すると、重大な問題が発生する可能性があります。また、一部の変更は、エンジンを再起動しないと有効になりません。クラスタの設定を編集する前に、そのクラスタに属しているすべてのアプリケーションサーバを停止することを強くお勧めします。



  2. iPlanet レジストリを開始します。



    UNIX システムでは、複数のiPlanet Application Server インスタンスを生成して、個別に iPlanet レジストリを割り当てることができます。必ず、シンクロナイザを割り当てるときは、サーバインスタンスに属する iPlanet レジストリを編集してください。



  3. 次のフォルダを開きます。

    SOFTWARE¥iPlanet¥Application Server¥Clusters¥<clustername>¥

    この例では、次の図に示すように、デフォルトクラスタの名前は bozo-NoDysnc で、優先度が 1 の Sync Server は 1 つです。



  4. <clustername> キーの下にある次の値を、必要に応じて変更します。



    ヒント iPlanet レジストリで値を変更するには、次の手順を実行します。

      1. キー名をダブルクリックするか、あるいはキーを選択し、「編集」メニューから「値を変更」を選択すると、「値を変更」ダイアログボックスが表示されます。

      2. ダイアログボックスに新しい値を入力します。

      3. 「OK」をクリックして iPlanet レジストリに変更を登録します。



  5. MaxBackups

    バックアップデータ同期サーバ (Sync Server) の最大数により、Sync Primary のデータによって同時に更新される Sync Backup の数が決まります。バックアップデータ Sync Server の詳細は、「クラスタについて」を参照してください。

    すべての Sync Backup が同時に更新されるため、MaxBackup の値を増加するたびに、追加したバックアップサーバの負荷が増加します。バックアップサーバの数を設定するときは、パフォーマンスに与える影響を考慮してください。安全性を確保しながら、パフォーマンスを低下させない数を選択してください。通常は、デフォルト値の 1 かまいません。



    次のエントリは、MaxHops キーです。このキーには、有効な機能は関連付けられていません。このキーの値を変更する必要はありません。



  6. MaxSyncHeartBeat

    必要に応じて、MaxSyncHeartBeat の値をチェックおよび変更します。

    この値には、別のエンジンに送信する最大ハートビートメッセージ数を指定します。ハートビートメカニズムは、異常なクラスタ状態を検出するときに使われます。デフォルト値は 10 です。

    各ハートビートメッセージは次の要素で構成されています。

    • メッセージを送信先エンジンのホスト ID およびポート

    • クラスタ内の送信者のロール

    ハートビートメッセージを受信すると、iPlanet Application Server エンジンは、そのクラスタ内のロールを識別して応答を返信します。

    ハートビートは、Sync Backup サーバが Sync Primary に昇格したときに開始されます。新しい Sync Primary は、元の Sync Primary エンジンへのハートビートメッセージの送信を開始します。ネットワークエラーに一時的な障害が発生した場合は、2 つのエンジンが Sync Primary になり、ダブルプライマリ (分割プライマリ) という異常な状態になります。この状態は自動的に修正されます。

  7. SyncHeartBeatInterval

    必要に応じて、SyncHeartBeatIntevral の値をチェックおよび変更します。

    この値には、サーバ間でハートビートメッセージが送信される間隔 (秒単位) を指定します。デフォルト値は 30 秒です。

  8. SyncTimerInterval

    必要に応じて、SyncTimerInterval の値をチェックおよび変更します。

    このキーには、同期サービスを呼び出して期限切れのデータがないかどうかを確認する間隔を、秒単位で指定します。タイマースレッドがノードリストを調べて期限切れのノードをすべて削除する頻度を指定します。

    この値が大きすぎると、期限切れのデータが残ることになります。小さすぎると、同期サービスを呼び出して確認する頻度が高くなり、システムパフォーマンスが低下します。ほとんどのクラスタでは、デフォルト値の 60 秒が適しています。

  9. 必要な値の設定が終了したら、iPlanet レジストリエディタを閉じます。

  10. この変更の影響を受けるすべてのサーバを再起動します。



    クラスタパラメータは、iASAT を使って設定することもできます。詳細については、「iASAT を使ってクラスタパラメータを設定するには」を参照してください。



上記の手順を正しく終了すると、デフォルトクラスタが再定義されます。次に、「クラスタへのシンクロナイザの割り当て」の手順に従って、クラスタ内のサーバ間の通信を有効にします。


クラスタへのシンクロナイザの割り当て

各 iPlanet Application Server には、データシンクロナイザが組み込まれています。シンクロナイザは、サーバ内のデータ、およびサーバ間の通信を同期化するツールです。

クラスタが通信するには、各サーバ内のシンクロナイザは、サーバが所属しているクラスタを認識する必要があります。iASAT を使ってクラスタを作成する場合、サーバシンクロナイザは自動的に割り当てられます。iPlanet レジストリエディタを使って手動でクラスタを作成する場合は、次の手順を実行して、シンクロナイザをクラスタに割り当てる必要があります。

  1. iPlanet レジストリを編集するサーバを停止します。



    サーバの動作中にサーバレジストリを編集すると、重大な問題が発生する可能性があります。また、一部の変更は、エンジンを再起動しないと有効になりません。クラスタの設定を編集する前に、そのクラスタに属しているすべてのアプリケーションサーバを停止することを強くお勧めします。



  2. iPlanet レジストリを開始します。



    UNIX システムでは、複数の iPlanet Application Server インスタンスを生成して、個別に iPlanet レジストリを割り当てることができます。必ず、シンクロナイザを割り当てるときは、サーバインスタンスに属する iPlanet レジストリを編集してください。



  3. 次のキーを開きます。

    SOFTWARE¥iPlanet¥Application Server¥6.5¥CCS0¥ClusterName¥

    次のウィンドウが表示されます。



  4. デフォルトのクラスタ名が一覧表示されます。デフォルトのクラスタ名を削除して、新しいクラスタ名を指定することができます。

  5. iPlanet レジストリを閉じます。

  6. シンクロナイザを割り当てたサーバを開始します。

シンクロナイザがクラスタに割り当てられました。



優先度を設定した Sync Server の調整



この節では、一般的な優先度について説明し、クラスタ協調の広範な例を示します。

優先度値は同じステータスの Sync Server (Sync Backup グループ内または Sync Alternate グループ内) 同士を選択することにのみ使用されます。優先度にかかわらず、iPlanet Application Server インスタンスが起動する順番で Sync Primary になるサーバ、Sync Backup、または Sync Alternate となる Sync Server が決まります。

Sync Local には Sync Server になる資格がないため、優先度は割り当てられません。このため、Sync Local は、Sync Primary、Sync Backup、または Sync Alternate になることはできません。

クラスタ内で最初に起動した Sync Server が Sync Primary になります。次に起動した Sync Server は、Sync Backup になります。Sync Backup の最大数は、MaxBackups です。Sync Primary に障害が発生すると、もっとも高い優先度 (もっとも小さい値) を持つ Sync Backup が新しい Sync Primary になります。

Sync Backup が Sync Primary になると、Sync Backup の数が MaxBackups の値よりも少なくなります。Sync Backup の数を回復するために、もっとも優先度を持つ Sync Alternate が Sync Backup になります。


例 : 7 台のサーバで構成されるクラスタ内の調整

この例では、クラスタ内でのサーバロールの調整、サーバロールを決定するときの優先度の役割を示します。この例では、ロールの変化を説明するために、サーバの障害が頻繁に発生した場合を想定します。

必要に応じて、Sync Primary として起動する iPlanet Application Server インスタンスにもっとも高い優先度を割り当て、次に高い優先度 (降順) を Sync Backup に割り当てると、クラスタの保持が容易になります。この例のクラスタには、このような優先度は割り当てていません。また、このクラスタでは、優先度順にサーバを起動していません。

iPlanet Application Server インスタンスが実装された 7 台のサーバでクラスタを想定します。各サーバには、0 〜 6 の番号がついています。0 〜 4 のサーバは、サーバ番号と同じ優先度が割り当てられた Sync Server です。たとえば、サーバ 0 の優先度は 0 です。サーバ 5 および 6 は Sync Local です。クラスタの MaxBackups は 2 に設定します。

  • サーバ 3 が最初に起動され、Sync Primary になります。

  • サーバ 4 が次に起動され、Sync Backup になります。

  • サーバ 6 が次に起動され、Sync Local になります。

  • サーバ 1 が次に起動され、Sync Backup になります。

  • サーバ 2 が次に起動され、Sync Alternate になります。

  • サーバ 5 が次に起動され、Sync Local になります。

  • サーバ 0 が次に起動され、Sync Alternate になります。

サーバ 3 は、障害が発生したため、停止します。サーバ 4 とサーバ 1 の 2 つの Sync Backup のうち、サーバ 1 の優先度が高い (値が小さい) ので、サーバ 1 が新しい Sync Primary になります。Sync Backup はサーバ 4 だけになります。

MaxBackups を 2 に設定したので、Sync Alternate のどちらかが Sync Backup に変換されます。サーバの優先度が他の Sync Alternate (サーバ 2) よりも高いので、サーバ 0 が新しい Sync Backup になります。現在の状態は、次のとおりです。

  • サーバ 1 は Sync Primary です。

  • サーバ 0 および 4 は Sync Backup です。

  • サーバ 2 は Sync Alternate です。

  • サーバ 5 および 6 は Sync Local です。

  • サーバ 3 はオフラインです。

サーバ 3 がオンラインに戻り、Sync Alternate になります。サーバ 3 は元は Sync Primary でしたが、シンクロナイザからは現在、Sync Server と見なされています。このため、Sync Primary ロールには戻りません。現在の状態は次のとおりです。

  • サーバ 1 は Sync Primary です。

  • サーバ 0 および 4 は Sync Backup です。

  • サーバ 2 および 3 は Sync Alternate です。

  • サーバ 5 および 6 は Sync Local です。

サーバ 0 に障害が発生します。Sync Alternate のうち、サーバ 2 の優先度が高い (値が小さい) ので、サーバ 2 が Sync Backup になります。現在の状態は次のとおりです。

  • サーバ 1 は Sync Primary です。

  • サーバ 2 および 4 は Sync Backup です。

  • サーバ 3 は Sync Alternate です。

  • サーバ 5 および 6 は Sync Local です。

  • サーバ 0 はオフラインです。

サーバ 0 がオンラインに戻り、Sync Alternate になります。Sync Primary であるサーバ 1 に障害が発生します。Sync Backup のうち、サーバ 4 よりもサーバ 2 の優先度が高いので、サーバ 2 が新しい Sync Primary になります。サーバ 0 は Sync Backup になります。現在の状態は次のとおりです。

  • サーバ 2 は Sync Primary です。

  • サーバ 0 および 4 は Sync Backup です。

  • サーバ 3 は Sync Alternate です。

  • サーバ 5 および 6 は Sync Local です。

  • サーバ 1 はオフラインです。

サーバ 2 に障害が発生します。サーバ 0 は Sync Primary になり、サーバ 3 は Sync Backup になります。現在の状態は次のとおりです。

  • サーバ 0 は Sync Primary です。

  • サーバ 3 および 4 は Sync Backup です。

  • サーバ 5 および 6 は Sync Local です。

  • サーバ 1 および 2 はオフラインです。

サーバ 3 に障害が発生します。Sync Backup は 1 つだけですが、サーバ 5 および 6 は Sync Server ではないため、Sync Backup にはなれません。現在の状態は次のとおりです。

  • サーバ 0 は Sync Primary です。

  • サーバ 4 は Sync Backup です。

  • サーバ 5 および 6 は Sync Local です。

  • サーバ 1、2、および 3 はオフラインです。


前へ     目次     索引     DocHome     次へ     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

最新更新日 2002 年 3 月 6 日