Red Hat Training

A Red Hat training course is available for Red Hat Directory Server

7.3.8. ロードバランシングでのレプリケーションの使用

レプリケーションは、複数の方法で Directory Server の負荷のバランスを取ることができます。
  • 複数のサーバーにユーザーの検索アクティビティーを分散させます。
  • サーバーを読み取り専用にします (書き込みはサプライヤーサーバーでのみ行われます)。
  • メールサーバーのアクティビティーのサポートなど、特定のタスク専用の特別なサーバーを提供します。
ネットワークのワークロードの分散は、ディレクトリーデータのレプリケーションにより実行される重要な機能です。可能な限り、適度に高速で信頼性の高いネットワーク接続を使用してアクセスできるサーバーにデータを移動します。最も重要な考慮事項は、サーバーとディレクトリーユーザー間のネットワーク接続の速度と信頼性です。
通常、ディレクトリーエントリーのサイズは平均で約 1 キロバイト (KB) です。したがって、ディレクトリールックアップを行うたびにネットワークの負荷に約 1KB が追加されます。ディレクトリーユーザーが 1 日に 10 回のディレクトリールックアップを実行すると、ディレクトリーユーザーごとに 1 日あたり約 10KB のネットワーク負荷が追加されます。サイトの WAN の速度が遅い、負荷が高い、または信頼性が低い場合は、ディレクトリーツリーをローカルサーバーにレプリケートすることを検討してください。
また、ローカルで利用可能なデータの利点が、レプリケーションによって増加するネットワーク負荷のコストに見合うかどうかも検討してください。たとえば、ディレクトリーツリー全体がリモートサイトに複製されると、ユーザーのディレクトリールックアップによって発生するトラフィックよりも大きな負担がネットワークにかかる可能性があります。これは、ディレクトリーツリーが頻繁に変更されている場合に特に該当しますが、リモートサイトで 1 日に数回のディレクトリールックアップを実行するユーザーはごくわずかです。
表7.1「ネットワークにおけるレプリケーションおよびリモートルックアップの影響」 は100 万エントリーのディレクトリーを複製するおおよそのコストを比較しています。これらのエントリーの 10% は毎日変更され、社員が 100 人の小さなリモートサイトで 1 日あたり 10 回の検索を実行するコストと比較します。いずれの場合も、ディレクトリーエントリーの平均サイズは 1KB であると想定されています。

表7.1 ネットワークにおけるレプリケーションおよびリモートルックアップの影響

負荷タイプ オブジェクト[a] アクセス/日[b] 平均エントリーサイズ 負荷
レプリケーション 100 万 100,000 1KB 100Mb/日
リモートルックアップ 100 1,000 1KB 1Mb/日
[a] レプリケーションの場合、オブジェクト はデータベースのエントリー数を参照します。リモートルックアップの場合、データベースにアクセスするユーザーの数を参照します。
[b] レプリケーションの場合、Accesses/Day は、レプリケートする必要があるデータベースの変更率を 10% としています。リモートルックアップの場合、各リモートユーザーの 1 日あたり 10 ルックアップに基づきます。
レプリケーションによって引き起こされる負荷と通常のディレクトリーの使用によって引き起こされる負荷の違いを考えると、ネットワークの負荷分散の目的でレプリケーションを使用することは適切でない場合があります。一方、ローカルで利用可能なディレクトリーデータの利点は、ネットワークの負荷に関する考慮事項をはるかに上回ります。
ローカルサイトでデータを利用できるようにすることと、ネットワークを過負荷にすることの適切な妥協点は、スケジュールされたレプリケーションを使用することです。データの一貫性とレプリケーションスケジュールの詳細は、「データの整合性」 を参照してください。

7.3.8.1. ネットワーク負荷分散の例

この例では、ニューヨークとロサンゼルスに事務所を持ち、各事務所には管理する特定のサブツリーがあります。

図7.9 リモートオフィスでのエンタープライズサブツリーの管理

リモートオフィスでのエンタープライズサブツリーの管理
各オフィスには高速ネットワークがありますが、2 つの都市間の接続は不安定です。ネットワークの負荷のバランスを取るには、以下を行います。
  1. ローカルで管理されているデータのサプライヤーサーバーとして、各オフィスで 1 台ずつサーバーを選択します。
  2. ローカルに管理されているデータを、そのサーバーからリモートオフィスの対応するサプライヤーサーバーに複製します。
  3. 各サプライヤーサーバーのディレクトリーツリー (リモートオフィスから提供されるデータを含む) を少なくとも 1 つのローカルの Directory Server に複製して、ディレクトリーデータの可用性を確保します。ローカルで管理されるサフィックスにマルチマスターレプリケーションを使用し、リモートサーバーからデータのマスターコピーを受け取るサフィックスにはカスケードレプリケーションを使用します。