Sun Java System Directory Server Enterprise Edition 6.3 管理ガイド

負荷分散の設定

負荷分散の詳細は、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』「Load Balancing」を参照してください。この節では、負荷分散を設定する方法について説明し、設定例を示します。

Procedure負荷分散アルゴリズムを選択する

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

  1. LDAP データソースプールのプロパティーを表示することで、現在の負荷分散アルゴリズムを取得します。


    $ dpconf get-ldap-data-source-pool-prop -h host -p port pool-name
    

    LDAP データソースプールのデフォルトプロパティーは次のとおりです。


    client-affinity-policy    :  write-affinity-after-write
    client-affinity-timeout   :  20s
    description               :  -
    enable-client-affinity    :  false
    load-balancing-algorithm  :  proportional

    デフォルトでは、負荷分散アルゴリズムは proportional です。

  2. アルゴリズムを使用するように LDAP データソースプールを設定します。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
      load-balancing-algorithm:selected-algorithm
    

    ここで、selected-algorithm は次のいずれかです。

    • failover

    • operational-affinity

    • proportional

    • saturation

    アルゴリズムの詳細は、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』「Introduction to Load Balancing」を参照してください。

  3. Directory Proxy Server のインスタンスを再起動します。


    $ dpadm restart instance-path
    

Procedure負荷分散のウェイトを設定する

データソースのウェイトは、データソースプールに接続されているほかのすべてのデータソースのウェイトを考慮して設定する必要があります。データソースに操作のタイプに対して disabled のウェイトがある場合、そのタイプの要求がそのデータソースに送信されることはありません。データソースにウェイト 0 (ゼロ) がある場合、そのデータソースには要求は配信されません。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

  1. データソースプールに接続されているデータソースのリストを表示します。


    $ dpconf list-attached-ldap-data-sources -h host -p port pool-name
    
  2. 接続済みデータソースのいずれかのプロパティーを表示します。


    $ dpconf get-attached-ldap-data-source-prop pool-name \
     attached-data-source-name
    

    接続済みデータソースのプロパティーは、各タイプの操作に対するウェイトを定義します。接続済みデータソースのデフォルトウェイトは次のとおりです。


    add-weight        :  disabled  
    bind-weight       :  disabled  
    compare-weight    :  disabled  
    delete-weight     :  disabled  
    modify-dn-weight  :  disabled  
    modify-weight     :  disabled  
    search-weight     :  disabled 
  3. 接続済みデータソースのいずれかのウェイトを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name \
     attached-data-source-name add-weight:value \
     bind-weight:value compare-weight:value delete-weight:value \
     modify-dn-weight:value modify-weight:value search-weight:value
    
  4. 接続されているほかのデータソースに対して、手順 2手順 3 を繰り返します。

  5. 接続済みデータソースのキーパラメータを比較します。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    

    たとえば、データソースプールには、次のようなウェイトを持つデータソースを含めることができます。


    $ dpconf list-attached-ldap-data-sources -h host1 -p 1389 -v myPool
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    DS-1     disabled   3		       disabled       disabled      
    DS-2     2          2           2              2             
    DS-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    disabled         disabled      disabled
    2                2             2
    1                1             1

負荷分散の設定例

この節では、各負荷分散アルゴリズムの設定手順の例を示します。

Procedure比例アルゴリズムを用いて負荷分散を設定する

比例アルゴリズムについては、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』「Proportional Algorithm for Load Balancing」を参照してください。

この例では、データソース ds–1 が、他の 2 つのデータソースのウェイトの 2 倍に設定されます。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

始める前に

データソースプールに少なくとも 3 つの接続済みデータソースが含まれていることを確認します。データソースとデータソースプールを作成する方法については、「LDAP データビューの作成」を参照してください。

  1. 負荷分散に対して比例アルゴリズムを使用するようにデータソースプールを設定します。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
      load-balancing-algorithm:proportional
  2. 最初のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \
     modify-weight:2 search-weight:2
  3. 2 番目のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  4. 3 番目のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  5. 接続済みデータソースのキーパラメータを比較します。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    ds-1     2          2           2              2             
    ds-2     1          1           1              1             
    ds-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    2                2             2
    1                1             1
    1                1             1
  6. Directory Proxy Server のインスタンスを再起動します。


    $ dpadm restart instance-path
    

Procedure飽和アルゴリズムを用いて負荷分散を設定する

飽和アルゴリズムについては、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』「Saturation Algorithm for Load Balancing」を参照してください。

この例では、データソース ds-1 で大半のバインド操作が実行されますが、ほかのタイプの操作は実行されません。3 つのデータソースが次のウェイトによって設定されます。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

始める前に

データソースプールに少なくとも 3 つの接続済みデータソースが含まれていることを確認します。データソースとデータソースプールを作成する方法については、「LDAP データビューの作成」を参照してください。

  1. 負荷分散に対して飽和アルゴリズムを使用するようにデータソースプールを設定します。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     load-balancing-algorithm:saturation
  2. 最初のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:disabled bind-weight:3 compare-weight:disabled delete-weight:disabled \
     modify-dn-weight:disabled modify-weight:disabled search-weight:disabled
  3. 2 番目のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \
     modify-weight:2 search-weight:2
  4. 3 番目のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  5. 接続済みデータソースのキーパラメータを比較します。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    ds-1     disabled   3		       disabled       disabled      
    ds-2     2          2           2              2             
    ds-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    disabled         disabled      disabled
    2                2             2
    1                1             1
  6. Directory Proxy Server のインスタンスを再起動します。


    $ dpadm restart instance-path
    

Procedureグローバルアカウントロックアウトに対してアフィニティーアルゴリズムを設定する

このアルゴリズムについては、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』「Operational Affinity Algorithm for Global Account Lockout」を参照してください。

この例には、3 つのデータソースがあります。データソース ds-1 は、すべてのバインド要求を受信するように設定されます。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

始める前に

データソースプールに少なくとも 3 つの接続済みデータソースが含まれていることを確認します。データソースとデータソースプールを作成する方法については、「LDAP データビューの作成」を参照してください。

  1. アフィニティーアルゴリズムを使用するようにデータソースプールを設定します。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     load-balancing-algorithm:operational-affinity
  2. 最初のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:1 bind-weight:100 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  3. 2 番目のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  4. 3 番目のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  5. 接続済みデータソースのキーパラメータを比較します。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    ds-1     1          100         1              1             
    ds-2     1          1           1              1             
    ds-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    1                1             1
    1                1             1
    1                1             1
  6. Directory Proxy Server のインスタンスを再起動します。


    $ dpadm restart instance-path
    

Procedureキャッシュの最適化のためにアフィニティーアルゴリズムを設定する

このアルゴリズムについては、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』「Operational Affinity Algorithm for Cache Optimization」を参照してください。

この例には、3 つのデータソースがあります。すべての検索操作と比較操作は、データソース ds-1 で処理されます。ds-1 が要求に応答すると、ターゲットエントリがキャッシュ内に格納されます。ds-1 が同じ要求に繰り返し応答する場合、データソースはキャッシュに入れられたデータを使用できます。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

始める前に

データソースプールに少なくとも 3 つの接続済みデータソースが含まれていることを確認します。データソースとデータソースプールを作成する方法については、「LDAP データビューの作成」を参照してください。

  1. アフィニティーアルゴリズムを使用するようにデータソースプールを設定します。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     load-balancing-algorithm:operational-affinity
  2. 最初のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:1 bind-weight:1 compare-weight:100 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:100
  3. 2 番目のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  4. 3 番目のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  5. 接続済みデータソースのキーパラメータを比較します。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    ds-1     1          1           100            1             
    ds-2     1          1           1              1             
    ds-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    1                1             100
    1                1             1
    1                1             1
  6. Directory Proxy Server のインスタンスを再起動します。


    $ dpadm restart instance-path
    

Procedureフェイルオーバーアルゴリズムを用いて負荷分散を設定する

フェイルオーバーアルゴリズムについては、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』「Failover Algorithm for Load Balancing」を参照してください。

この例には、3 つのデータソースがあります。データソース ds-1 はすべての要求を受信します。ds-1 が失敗した場合は、ds-1 が回復するまで ds-2 がすべての要求を受信します。ds-1 が回復する前に ds-2 が失敗した場合は、ds-3 がすべての要求を受信します。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

始める前に

データソースプールに少なくとも 3 つの接続済みデータソースが含まれていることを確認します。データソースとデータソースプールを作成する方法については、「LDAP データビューの作成」を参照してください。

  1. 負荷分散に対してフェイルオーバーアルゴリズムを使用するように、データソースプールを設定します。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     load-balancing-algorithm:failover
  2. 最初のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:3 bind-weight:3 compare-weight:3 delete-weight:3 modify-dn-weight:3 \
     modify-weight:3 search-weight:3
  3. 2 番目のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \
     modify-weight:2 search-weight:2
  4. 3 番目のデータソースのプロパティーを設定します。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  5. 接続済みデータソースのキーパラメータを比較します。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    ds-1     3          3           3              3             
    ds-2     2          2           2              2             
    ds-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    3                3             3
    2                2             2
    1                1             1
  6. Directory Proxy Server のインスタンスを再起動します。


    $ dpadm restart instance-path
    

Directory Proxy Server で負荷分散を実行するための設定

単純な負荷分散の例として、検索操作と比較操作を 1 つのディレクトリセットに送信し、その他の操作をもう 1 つのディレクトリセットに送信します。Directory Proxy Server は、すべてのクライアント操作を受け取ります。Directory Proxy Server は、読み取りを取得するディレクトリセットとその他の操作を取得するディレクトリセットを判別する必要があります。

    Directory Proxy Server でこの負荷分散を処理するための設定の主要な手順は次のとおりです。

  1. Directory Proxy Server 用のデータソースとしてディレクトリを追加します。

  2. それらのデータソースをデータソースプールに追加します。

  3. それらのデータソースのいくつかで検索と比較の操作を受け入れるように設定し、残りのデータソースで追加、バインド、削除、変更、および DN 変更の操作を受け入れるように設定します。

  4. データソースプールをデータビューに追加します。

次の例では、Directory Proxy Server はポート 9389 で待機しています。この例では、記述されているように、検索操作と比較操作を処理する Directory Server インスタンス (ds1:1389) と、その他の操作を処理する Directory Server インスタンス (ds2:2389 ) に負荷を分散するようにプロキシを設定します。

最初の手順では、データソースを作成し、そのデータソースを有効にします。この手順では、プロキシサーバーを再起動する必要があります。


$ dpconf create-ldap-data-source -p 9389 ds1 localhost:1389
$ dpconf create-ldap-data-source -p 9389 ds2 localhost:2389
$ dpconf set-ldap-data-source-prop -p 9389 ds1 is-enabled:true
$ dpconf set-ldap-data-source-prop -p 9389 ds2 is-enabled:true
$ dpadm restart /local/dps

2 番目の手順では、データソースをデータソースプールに追加します。


$ dpconf create-ldap-data-source-pool -p 9389 "Directory Pool"
$ dpconf attach-ldap-data-source -p 9389 "Directory Pool" ds1 ds2

3 番目の手順では、ds1 が検索操作と比較操作を受け入れ、ds2 がその他の操作を受け入れるように設定します。


$ dpconf set-attached-ldap-data-source-prop -p 9389 "Directory Pool" ds1 \
add-weight:disabled bind-weight:disabled compare-weight:1 delete-weight:disabled \
modify-dn-weight:disabled modify-weight:disabled search-weight:1
$ dpconf set-attached-ldap-data-source-prop -p 9389 "Directory Pool" ds2 \
add-weight:1 bind-weight:1 compare-weight:disabled delete-weight:1 \
modify-dn-weight:1 modify-weight:1 search-weight:disabled

4 番目の手順では、クライアントアプリケーション要求がデータソースプールに経路指定されるように、そのプールをデータビューに追加します。


$ dpconf create-ldap-data-view -p 9389 "Balanced View" "Directory Pool" \
dc=example,dc=com