10.3. レプリカの独占を回避するためのサプライヤーの設定

この手順では、レプリカの独占を防ぐために、サプライヤーでパラメーターを設定する方法を説明します。

環境と負荷の違いにより、状況に関連するパラメーターのみを設定し、実際の環境に応じて値を調整します。

前提条件

  • レプリケーショントポロジーに複数のサプライヤーがある。
  • Directory Server が頻繁に Replica Busy!Status: [Error (1) Replication error acquiring replica: replica busy] エラーを記録する。

手順

  1. nsds5ReplicaBusyWaitTime パラメーターを設定し、レプリカがビジー応答を送信した後に、サプライヤーが再度レプリカへのアクセスの取得を試みるまでに待機する時間を設定します。

    # dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --busy-wait-time 5 replication_agreement_name

    このコマンドは、待機時間を 5 秒に設定します。この設定は、指定されたレプリカ合意にのみ適用されます。

  2. nsds5ReplicaSessionPauseTime パラメーターを設定して、2 つの更新セッション間でサプライヤーが待機する時間を設定します。

    # dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --session-pause-time 15 replication_agreement_name

    このコマンドは、一時停止を 15 秒に設定します。デフォルトでは、nsds5ReplicaSessionPauseTimensds5ReplicaBusyWaitTime の値よりも 1 秒長くなるように設計されています。この設定は、指定されたレプリカ合意にのみ適用されます。

  3. nsds5ReplicaReleaseTimeout パラメーターを設定して、更新の送信が完了したかどうかに関わらず、指定時間後にレプリケーションセッションを終了します。

    # dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication set --suffix "dc=example,dc=com" --repl-release-timeout 90

    このコマンドは、タイムアウトを 90 秒に設定します。この設定は、指定した接尾辞のすべてのレプリカ合意に適用されます。

  4. オプション: サプライヤーのタイムアウト期間を設定して、低速または切断された接続を介して更新を無限に送信しようとするコンシューマーに接続されたままにならないようにします。

    # dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --conn-timeout 600 --suffix "dc=example,dc=com" replication_agreement_name

    このコマンドは、タイムアウトを 600 秒 (10 分) に設定します。最適な値を特定するには、アクセスログでレプリケーションプロセスにかかる平均時間を確認し、それに応じてタイムアウト期間を設定します。