検索

15.4. カスケードレプリケーション

download PDF
カスケードレプリケーションのシナリオでは、ハブ となる 1 台のサーバーがコンシューマーとサプライヤーの両方のロールを果たします。読み取り専用のレプリカを保持し、changelog を維持するため、データのサプライヤーコピーを保持するサプライヤーサーバーから更新を受け取って、その更新をコンシューマーに提供します。カスケードレプリケーションは、負荷の高いトラフィックのバランスをとる場合や、地理的に分散した環境でサプライヤーサーバーをローカルに配置する場合に使用します。
次の図は、シンプルなカスケードレプリケーションのシナリオを示しています。

図15.4 カスケードレプリケーション

カスケードレプリケーション
注記
マルチサプライヤーとカスケードレプリケーションを組み合わせることができます。
コマンドラインまたは Web コンソールを使用して、カスケードレプリケーショントポロジーを設定します。参照:

15.4.1. コマンドラインによるカスケードレプリケーションの設定

以下の例では、既存の Directory Server インスタンスが supplier.example.com という名前のホストで実行されていることを前提としています。以下の手順では、dc=example,dc=com 接尾辞用にサプライヤーから更新を受信するトポロジーに hub.example.com という名前のハブを追加する方法を説明します。その後、接尾辞のハブサーバーから更新を受信する consumer.example.com という名前のコンシューマーを追加する方法を説明します。

参加する新しいハブサーバーの準備

hub.example.com ホスト:
  1. Directory Server をインストールしてインスタンスを作成します。詳細は、Red Hat Directory Server インストールガイド を参照してください。
  2. データベースなしでインスタンスを作成した場合には、接尾辞のデータベースを作成します。たとえば、dc=example,dc=com 接尾辞に userRoot という名前のデータベースを作成するには、以下のコマンドを実行します。
    # dsconf -D "cn=Directory Manager" ldap://hub.example.com backend \
        create --suffix="dc=example,dc=com" --be-name="userRoot"
    接尾辞のデータベース作成に関する詳細は、「接尾辞の作成」を参照してください。
  3. 接尾辞のレプリケーションを有効にし、レプリケーションマネージャーアカウントを作成します。
    # dsconf -D "cn=Directory Manager" ldap://hub.example.com replication \
        enable --suffix="dc=example,dc=com" --role="hub" \
        --bind-dn="cn=replication manager,cn=config" --bind-passwd="password"
    このコマンドは、dc=example,dc=com 接尾辞のハブとして hub.example.com ホストを設定します。さらに、サーバーは指定のパスワードで cn=replication manager,cn=config ユーザーを作成し、このアカウントがこのホストに接尾辞の変更を複製することができます。

既存のサーバーをサプライヤーに設定

supplier.example.com ホスト:
  1. 「参加する新しいハブサーバーの準備」に参加する新しいハブサーバーで実行したコマンドと同様に、dc=example,dc=com 接尾辞のレプリケーションを有効にして、レプリケーションマネージャーアカウントを作成します。
    # dsconf -D "cn=Directory Manager" ldap://supplier1.example.com replication \
        enable --suffix="dc=example,dc=com" --role="supplier" --replica-id=1 \
        --bind-dn="cn=replication manager,cn=config" --bind-passwd="password"
    重要
    トポロジー内のすべてのサプライヤーの接尾辞については、レプリカ ID は 1 から 65534 の間の一意の整数である必要があります。
    レプリケーションマネージャーアカウントは、ハブで作成したものと同じ DN を使用できます。
  2. レプリカ合意を追加し、ハブを初期化します。以下に例を示します。
    # dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt \
         create --suffix="dc=example,dc=com" --host="hub.example.com" --port=636 \
         --conn-protocol=LDAPS --bind-dn="cn=replication manager,cn=config" \
         --bind-passwd="password" --bind-method=SIMPLE --init \
         example-agreement-supplier-to-hub
    このコマンドは、example-agreement-supplier-to-hub という名前のレプリカ合意を作成します。レプリカ合意は、ハブへのデータの接続時や複製時にサプライヤーが使用するハブのホスト名、プロトコル、認証情報などの設定を定義します。
    この合意の作成後、Directory Server はハブを初期化します。後でハブを初期化するには、--init オプションを省略します。コンシューマーを初期化する前にレプリケーションが起動しないことに注意してください。コンシューマーの初期化の詳細は、「コンシューマーの初期化」を参照してください。
    コマンドで使用するオプションの詳細は、以下を入力します。
    # dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt --help
  3. 初期化が成功したかどうかを確認します。
    # dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt \
         init-status --suffix="dc=example,dc=com" example-agreement-supplier-to-hub
    Agreement successfully initialized.
    複製するデータ量によっては、初期化に時間がかかる場合があります。

参加させる新規コンシューマーの準備

consumer.example.com ホスト:
  1. Directory Server をインストールしてインスタンスを作成します。詳細は、Red Hat Directory Server インストールガイド を参照してください。
  2. データベースなしでインスタンスを作成した場合には、接尾辞のデータベースを作成します。たとえば、dc=example,dc=com 接尾辞に userRoot という名前のデータベースを作成するには、以下のコマンドを実行します。
    # dsconf -D "cn=Directory Manager" ldap://hub.example.com backend \
        create --suffix="dc=example,dc=com" --be-name="userRoot"
    接尾辞のデータベース作成に関する詳細は、「接尾辞の作成」を参照してください。
  3. 接尾辞のレプリケーションを有効にし、レプリケーションマネージャーアカウントを作成します。
    # dsconf -D "cn=Directory Manager" ldap://consumer.example.com replication \
        enable --suffix="dc=example,dc=com" --role="consumer" \
        --bind-dn="cn=replication manager,cn=config" --bind-passwd="password"
    このコマンドは、consumer.example.com ホストを dc=example,dc=com 接尾辞のコンシューマーとして設定します。さらに、サーバーは指定のパスワードで cn=replication manager,cn=config ユーザーを作成し、このアカウントがこのホストに接尾辞の変更を複製することができます。

ハブをコンシューマーのサプライヤーとして設定

hub.example.com ホスト:
  1. レプリカ合意を追加し、サーバーを初期化します。以下に例を示します。
    # dsconf -D "cn=Directory Manager" ldap://hub.example.com repl-agmt \
         create --suffix="dc=example,dc=com" --host="consumer.example.com" --port=636 \
         --conn-protocol=LDAPS --bind-dn="cn=replication manager,cn=config" \
         --bind-passwd="password" --bind-method=SIMPLE --init \
         example-agreement-hub-to-consumer
    この合意の作成後、Directory Server はコンシューマーを初期化します。後ほどコンシューマーを初期化する場合は、--init オプションを省略します。
  2. 初期化が成功したかどうかを確認します。
    # dsconf -D "cn=Directory Manager" ldap://hub.example.com repl-agmt \
         init-status --suffix="dc=example,dc=com" example-agreement-hub-to-consumer
    Agreement successfully initialized.
    複製するデータ量によっては、初期化に時間がかかる場合があります。

15.4.2. Web コンソールによるカスケードレプリケーションの設定

以下の例では、既存の Directory Server インスタンスが supplier.example.com という名前のホストで実行されていることを前提としています。以下の手順では、dc=example,dc=com 接尾辞用にサプライヤーから更新を受信するトポロジーに hub.example.com という名前のハブを追加する方法を説明します。その後、接尾辞のハブサーバーから更新を受信する consumer.example.com という名前のコンシューマーを追加する方法を説明します。

参加する新しいハブサーバーの準備

hub.example.com ホスト:
  1. Directory Server をインストールしてインスタンスを作成します。詳細は、Red Hat Directory Server インストールガイド を参照してください。
  2. Web コンソールで Directory Server ユーザーインターフェイスを開きます。「Web コンソールを使用した Directory Server へのログイン」を参照してください。
  3. インスタンスを選択します。
  4. データベースなしでインスタンスを作成した場合には、接尾辞のデータベースを作成します。接尾辞のデータベース作成に関する詳細は、「接尾辞の作成」を参照してください。
  5. 接尾辞のレプリケーションを有効にします。
    1. Replication メニューを開きます。
    2. dc=example,dc=com 接尾辞を選択し、Enable Replication をクリックします。
    3. Replication Role フィールドで Hub を選択し、作成するレプリケーションマネージャーアカウントの DN およびパスワードを入力します。以下に例を示します。
      この設定により、hub.example.com ホストを dc=example,dc=com 接尾辞のハブとして設定します。さらに、サーバーは指定のパスワードで cn=replication manager,cn=config ユーザーを作成し、このアカウントがこのホストに接尾辞の変更を複製することができます。
    4. Enable Replication をクリックします。

既存のサーバーをサプライヤーに設定

supplier.example.com ホスト:
  1. Web コンソールで Directory Server ユーザーインターフェイスを開きます。「Web コンソールを使用した Directory Server へのログイン」を参照してください。
  2. インスタンスを選択します。
  3. 「参加する新しいハブサーバーの準備」に参加する新しいハブサーバーの設定と同様、dc=example,dc=com 接尾辞のレプリケーションを有効にして、レプリケーションマネージャーアカウントを作成します。
    1. Replication メニューを開きます。
    2. dc=example,dc=com 接尾辞を選択し、Enable Replication をクリックします。
    3. Replication Role フィールドで Supplier を選択し、レプリカ ID を入力し、作成するレプリケーションマネージャーアカウントの DN およびパスワードを入力します。以下に例を示します。
      重要
      トポロジー内のすべてのサプライヤーの接尾辞については、レプリカ ID は 1 から 65534 の間の一意の整数である必要があります。
      レプリケーションマネージャーアカウントは、ハブで作成したものと同じ DN を使用できます。
    4. Enable Replication をクリックします。
  4. レプリカ合意を追加し、ハブを初期化します。
    1. Replication メニューを開き、接尾辞を選択します。
    2. Replication Agreements タブで Create Agreement をクリックし、フィールドに入力します。以下に例を示します。
      この設定により、example-agreement-supplier-to-hub という名前のレプリカ合意が作成されます。レプリカ合意は、ハブへのデータの接続時や複製時にサプライヤーが使用するハブのホスト名、プロトコル、認証情報などの設定を定義します。
    3. Consumer Initialization フィールドで Do Online Initialization を選択し、合意の保存後にコンシューマーを自動的に初期化します。
      後でハブを初期化するには、Do Not Initialize を選択します。コンシューマーを初期化する前にレプリケーションが起動しないことに注意してください。コンシューマーの初期化の詳細は、「コンシューマーの初期化」を参照してください。
    4. Save Agreement をクリックします。
  5. 初期化が成功したかどうかを確認します。
    1. Replication メニューを開きます。
    2. Agreements エントリーを選択します。
      初期化が正常に完了すると、Web コンソールは Last Update Status 列に Error (0) Replica acquired successfully: Incremental update succeeded メッセージを表示します。
      複製するデータ量によっては、初期化に時間がかかる場合があります。

参加する新規コンシューマーの設定

consumer.example.com ホスト:
  1. Directory Server をインストールしてインスタンスを作成します。詳細は、Red Hat Directory Server インストールガイド を参照してください。
  2. Web コンソールで Directory Server ユーザーインターフェイスを開きます。「Web コンソールを使用した Directory Server へのログイン」を参照してください。
  3. インスタンスを選択します。
  4. データベースなしでインスタンスを作成した場合には、接尾辞のデータベースを作成します。接尾辞のデータベース作成に関する詳細は、「接尾辞の作成」を参照してください。
  5. 接尾辞のレプリケーションを有効にします。
    1. Replication メニューを開きます。
    2. dc=example,dc=com 接尾辞を選択し、Enable Replication をクリックします。
    3. Replication Role フィールドで Consumer を選択し、作成するレプリケーションマネージャーアカウントの DN およびパスワードを入力します。以下に例を示します。
      この設定により、consumer.example.com ホストを dc=example,dc=com 接尾辞のコンシューマーとして設定します。さらに、サーバーは指定のパスワードで cn=replication manager,cn=config ユーザーを作成し、このアカウントがこのホストに接尾辞の変更を複製することができます。
    4. Enable Replication をクリックします。

ハブをコンシューマーのサプライヤーとして設定

consumer.example.com ホスト:
  1. レプリカ合意を追加し、コンシューマーを初期化します。
    1. Replication メニューを開き、接尾辞を選択します。
    2. Replication Agreements タブで Create Agreement をクリックし、フィールドに入力します。以下に例を示します。
      この設定により、example-agreement-hub-to-consumer という名前のレプリカ合意が作成されます。
    3. Consumer Initialization フィールドで Do Online Initialization を選択し、合意の保存後にコンシューマーを自動的に初期化します。
      後でコンシューマーを初期化する場合は、Do Not Initialize を選択します。コンシューマーを初期化する前にレプリケーションが起動しないことに注意してください。コンシューマーの初期化の詳細は、「コンシューマーの初期化」を参照してください。
    4. Save Agreement をクリックします。
  2. 初期化が成功したかどうかを確認します。
    1. Replication メニューを開きます。
    2. Agreements エントリーを選択します。
      初期化が正常に完了すると、Web コンソールは Last Update Status 列に Error (0) Replica acquired successfully: Incremental update succeeded メッセージを表示します。
      複製するデータ量によっては、初期化に時間がかかる場合があります。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.