第16章 部分レプリケーションでの属性の管理
部分レプリケーションでは、Directory Server がサプライヤーからコンシューマー (または別のサプライヤー) に複製しない属性を設定します。したがって、Directory Server は、データベースに含まれるすべての情報や各エントリーのすべての情報を複製せずにデータベースを複製できるため、サーバーのパフォーマンスとセキュリティーが向上します。
次の場合には部分レプリケーションを使用します。
- 低速ネットワーク経由で送信されるサイズが大きい属性の数を制限する。
-
Directory Server が
memberOf
の計算などの修正タスクを実行する回数を減らす。 - コンシューマーサーバーが信頼できないネットワーク上に配置されている場合は、機密属性をレプリケーションから除外する必要がある。
部分レプリケーションは、エントリーごとではなく、レプリカ合意ごとに有効化および設定されます。レプリケーションから属性を除外すると、レプリカ合意の範囲内のすべてのエントリーに等しく適用されます。増分更新 (nsDS5ReplicatedAttributeList
) と全体更新 (nsDS5ReplicatedAttributeListTotal
) に対して複製するさまざま属性を設定し、部分レプリケーション (nsds5ReplicaStripAttrs
) 時に、空の更新を防ぐことができます。
部分レプリケーションパラメーターはレプリカ合意の一部であり、レプリカ合意の作成時にコマンドラインを使用して、または Web コンソールのレプリカ合意ウィザードでこれらのパラメーターを設定できます。
16.1. コマンドラインを使用して、合計更新と増分更新から属性を除外する リンクのコピーリンクがクリップボードにコピーされました!
基本的なシナリオでは、部分レプリケーションでは、合計更新と増分更新から同じ属性リストを除外します。ただし、次の設定属性を使用して、パフォーマンス上の理由から、増分更新と全体更新からさまざまな属性を除外するように Directory Server を設定できます。
nsDS5ReplicatedAttributeList
-
これは主要な部分レプリケーション属性です。
nsDS5ReplicatedAttributeList
のみを設定すると、Directory Server は指定された属性を増分更新と全体更新の両方から除外します。 nsDS5ReplicatedAttributeListTotal
- この部分レプリケーション属性は、Directory Server が全体 (初期) 更新からのみ除外する必要がある属性のリストを指定します。
たとえば、エントリーに memberOf
属性を追加するたびに、Directory Server は memberOf 修正タスクを実行してグループメンバーシップを解決します。レプリケーションが発生するたびに Directory Server がタスクを実行すると、サーバーにオーバーヘッドが発生する可能性があります。合計の更新は、レプリケーションに新たに追加されたり、長期間オフラインになったデータベースでのみ実行されるため、合計更新後に memberOf 修正タスクを実行することは、許容可能なオプションです。この場合、nsDS5ReplicatedAttributeList
属性には memberOf
が含まれており、増分更新から除外されますが、nsDS5ReplicatedAttributeListTotal
には memberOf
が含まれていないため、合計更新に含まれます。
次の手順では、増分更新と全体更新からさまざまな属性を除外します。
前提条件
-
dc=example,dc=com
接尾辞を複製し、レプリカ合意example_agreement
が存在する。
手順
dsconf
ユーティリティーを使用して部分レプリケーションを設定します。dsconf <instance_name> repl-agmt set example_agreement --suffix="dc=example,dc=com" --frac-list="authorityRevocationList accountUnlockTime memberof" --frac-list-total="accountUnlockTime"
# dsconf <instance_name> repl-agmt set example_agreement --suffix="dc=example,dc=com" --frac-list="authorityRevocationList accountUnlockTime memberof" --frac-list-total="accountUnlockTime"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、
authorityRevocationList
、accountUnlockTime
、memberof
属性を増分更新から除外し、accountUnlockTime
のみを合計更新から除外します。- 注記
-
同じ属性リストを合計更新と増分更新から除外する場合は、`--frac-list` オプションを使用して、除外する属性のリストのみを
nsDS5ReplicatedAttributeList
設定属性に追加します。
-
オプション: 空のレプリケーション更新を防ぐ場合は、
--strip-list
オプションを使用して、Directory Server がレプリケーションから削除する属性を追加します。詳細は、部分レプリケーションにおける空の更新の防止 を参照してください。
検証
レプリカ合意設定を表示します。
dsconf <instance_name> repl-agmt list --suffix=dc=example,dc=com | grep -i nsDS5ReplicatedAttributeList
# dsconf <instance_name> repl-agmt list --suffix=dc=example,dc=com | grep -i nsDS5ReplicatedAttributeList nsDS5ReplicatedAttributeList: (objectclass=*) $ EXCLUDE authorityRevocationList accountUnlockTime memberof nsDS5ReplicatedAttributeListTotal: (objectclass=*) $ EXCLUDE accountUnlockTime
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 重要
-
nsDS5ReplicatedAttributeList
とnsDS5ReplicatedAttributeListTotal
の値には(objectclass=*) $ EXCLUDE
部分が含まれている必要があります。たとえば、ldapmodify
ユーティリティーを使用して属性を直接編集する場合は、除外する属性のリストとともにこの部分を指定する必要があります。
-
nsDS5ReplicatedAttributeList
-
nsDS5ReplicatedAttributeListTotal