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

レプリケーショントポロジの変更

ここでは、既存のレプリケーショントポロジの管理の以下の側面について説明します。

レプリケーションマネージャーの変更

レプリケーションアグリーメントを編集して、コンシューマサーバーへのバインドに使われるレプリケーションマネージャーの識別情報を変更できます。レプリケーションが中断されないように、レプリケーションアグリーメントを変更する前に、新しいレプリケーションマネージャーエントリまたはコンシューマの証明書エントリを定義する必要があります。ただし、バインドの失敗によってレプリケーションが中断された場合、レプリケーション回復設定の制限内でエラーを修正したときは、レプリケーションメカニズムによって必要なすべての更新が自動的に送信されます。手順については、「デフォルト以外のレプリケーションマネージャーの使用」を参照してください。

レプリケーションアグリーメントの管理

レプリケーションアグリーメントを無効化、有効化、または削除できます。

レプリケーションアグリーメントの無効化

レプリケーションアグリーメントを無効にすると、そのアグリーメントに指定されているコンシューマに対してマスターが更新を送信しなくなります。そのサーバーのレプリケーションは停止されますが、アグリーメントに記録されているすべての設定は残されます。あとからまたアグリーメントを有効にすることで、レプリケーションを再開できます。中断後にレプリケーションメカニズムを再開することについては、「レプリケーションアグリーメントの有効化」を参照してください。

Procedureレプリケーションアグリーメントを無効にする

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

  1. レプリケーションアグリーメントを無効にします。


    $ dsconf disable-repl-agmt -h host -p port suffix-DN consumer-host:consumer-port
    

    次に例を示します。


    $ dsconf disable-repl-agmt -h host2 -p 1389 dc=example,dc=com host1:1389

レプリケーションアグリーメントの有効化

レプリケーションアグリーメントを有効にすると、指定のコンシューマのレプリケーションが再開されます。ただし、レプリケーションの回復設定で許容される時間より長くレプリケーションを中断していた場合は、別のサプライヤによるコンシューマの更新が行われないため、コンシューマを初期化し直す必要があります。レプリケーションの回復設定は、最大サイズとこのサプライヤの更新履歴ログの経過時間とコンシューマの削除の遅延です (「コンシューマの詳細設定を行う」を参照)。

中断時間が短く、レプリケーションが回復された場合は、アグリーメントがふたたび有効になったときに、マスターが自動的にそのコンシューマを更新します。

Procedureレプリケーションアグリーメントを有効にする

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

  1. レプリケーションアグリーメントを有効にします。


    $ dsconf -h host -p port enable-repl-agmt suffix-DN consumer-host:consumer-port
    

    次に例を示します。


    $ dsconf -h host2 -p 1389 enable-repl-agmt dc=example,dc=com host1:1389

レプリケーションアグリーメントの削除

レプリケーションアグリーメントを削除すると、対応するコンシューマのレプリケーションは停止され、アグリーメントに関するすべての設定情報が失われます。後日レプリケーションを再開する場合は、「レプリケーションアグリーメントの無効化」で説明するように、アグリーメントを無効にします。

Procedureレプリケーションアグリーメントを削除する

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

  1. レプリケーションアグリーメントを削除します。


    $ dsconf delete-repl-agmt -h host -p port suffix-DN consumer-host:consumer-port
    

    次に例を示します。


    $ dsconf delete-repl-agmt -h host2 -p 1389 dc=example,dc=com host1:1389

レプリカの昇格と降格

レプリカの昇格と降格は、レプリケーショントポロジで、レプリカの役割を変更することを意味します。専用コンシューマをハブに変更したり、ハブをマスターに変更したりできます。また、マスターをハブに変更したり、ハブを専用コンシューマに変更したりすることもできます。ただし、マスターを直接コンシューマに格下げしたり、コンシューマを直接マスターに格上げすることはできません。

マルチマスターレプリケーションのメカニズムでレプリカの役割を変更できることで、トポロジがとても柔軟になります。コンシューマレプリカが処理を担当していたサイトの負荷が増え、複数のレプリカを持つハブによる処理が必要になることもあります。レプリカの内容に対して多数の変更が含まれるときは、ハブをマスターに昇格させることで、ローカルな変更に迅速に対応し、その変更を他のサイトの他のマスターにレプリケートできます。

レプリカを昇格または降格させる場合は、次のことに注意します。

Procedureレプリカの役割を変更する

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

  1. レプリカの役割を変更するには、次のいずれかのコマンドを使用します。


    $ dsconf promote-repl -h host -p port role suffix-DN
    

    $ dsconf demote-repl -h host -p port role suffix-DN
    

    rolemaster hub、または consumer です。

レプリケートされたサフィックスの無効化

レプリケートされたサフィックスを無効にすると、それはレプリケーショントポロジから除外されます。設定されている役割 (マスター、ハブ、またはコンシューマ) に応じて、そのレプリケートされたサフィックスは更新されなくなり、更新を送信しなくなります。サプライヤサーバーのサフィックスを無効にすると、すべてのレプリケーションアグリーメントが削除されます。そのレプリカをふたたび有効にするときは、これらのアグリーメントを作成し直す必要があります。

Procedureレプリケートされたサフィックスを無効にする

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

  1. レプリケートされたサフィックスを無効にします。


    $ dsconf disable-repl -h host -p port suffix-DN
    

    次に例を示します。


    $ dsconf disable-repl -h host2 -p 1389 dc=example,dc=com

レプリケートされたサフィックスの同期の維持

通常の保守で、レプリケーションに関わる Directory Server を停止して、オンラインに戻す場合、レプリケーションによってただちに更新されるようにする必要があります。特に、マルチマスター環境のマスターサーバーでは、マルチマスターセットのもう一つのサーバーからディレクトリ情報を更新する必要があります。マルチマスター以外の環境でも、ハブサーバーや専用コンシューマサーバーが保守のためにオフラインになった場合、オンラインに復帰したときは、マスターサーバー側から更新を行う必要があります。

ここでは、レプリケーションの再試行アルゴリズムおよび次の実行まで待たずに、強制的にレプリケーション更新を行う方法について説明します。


注 –

ここで説明されている手順を利用できるのは、レプリケーションの設定が完了し、さらにコンシューマを初期化した直後だけです。


レプリケーションの再試行アルゴリズム

ソースレプリカのターゲットへのレプリケーションが失敗すると、増分的間隔で、定期的に再試行されます。再試行の間隔はエラーの種類によって異なります。

ソースレプリカとターゲットレプリカの間で、常に同期をとるレプリケーションアグリーメントを設定していても、オフライン状態の時間が 5 分を超えたレプリカをただちに更新するには、この方法では不十分です。

Procedureレプリケーションの更新を強制的に実行する

レプリケーションを停止した場合、ターゲットのサフィックスに対して、レプリケーションの更新を強制的に実行することができます。

DSCC を使用してこの作業を実行することはできません。この手順で説明しているように、コマンド行を使用してください。

  1. ソースサーバーで、ターゲットサーバーへのレプリケーションの更新を再起動します。


    $ dsconf update-repl-dest-now -h host -p port suffix-DN destination-host:destination-port
    

    次に例を示します。


    $ dsconf update-repl-dest-now -h host2 -p 1389 dc=example,dc=com host1:1389