第 16 章 在部分复制内管理属性


部分复制设置目录服务器不会从供应商复制到消费者(或其他供应商)的属性。因此,目录服务器可以在不复制所有包含或所有信息的情况下复制数据库,从而提高了服务器性能和安全性。

在以下情况下使用部分复制:

  • 您想要限制通过慢速网络发送的大量属性。
  • 您要减少目录服务器运行修复任务的次数,如 memberOf 计算。
  • 如果消费者服务器放置在不可信网络中,则您要从复制中排除敏感属性。

每个复制协议启用并配置部分复制,而不是每个条目配置。从复制中排除属性会平等地应用到复制协议范围内的所有条目。您可以为增量更新(nsDS5ReplicatedAttributeList)和整个更新(nsDS5ReplicatedAttributeListTotal)设置不同的属性,并防止部分复制期间出现空更新(nsds5ReplicaStripAttrs)。

部分复制参数是复制协议的一部分,您可以在 web 控制台的复制协议向导中创建复制协议时使用命令行配置这些参数。

在基本场景中,部分复制不包括在总和增量更新中排除相同的属性列表。但是,您可以使用以下配置属性将 Directory 服务器配置为从增量和总更新中排除不同的属性:

nsDS5ReplicatedAttributeList
这是主要部分复制属性。当您只设置 nsDS5ReplicatedAttributeList 时,Directory 服务器会从增量和总更新中排除指定的属性。
nsDS5ReplicatedAttributeListTotal
这个部分复制属性指定 Directory 服务器必须只从总(初始)更新中排除的属性列表。

例如,每次将 memberOf 属性添加到条目时,Directory 服务器都会运行一个 memberOf 修复任务来解析组成员资格。如果 Directory 服务器每次发生复制时都运行任务,这可能会导致服务器上的开销。由于只针对新添加到复制的数据库或长时间离线的数据库进行总更新,因此请在完全更新是一个可接受的选项后运行 memberOf 修复任务。在这种情况下,nsDS5ReplicatedAttributeList 属性包含 memberOf,并从增量更新中排除它,但 nsDS5ReplicatedAttributeListTotal 不包含 memberOf,使其包含在整个更新中。

以下流程从增量和总更新中排除不同的属性。

先决条件

  • 您复制 dc=example,dc=com 后缀,并且存在复制协议 example_agreement

流程

  1. 使用 dsconf 工具配置部分复制:

    # 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 Toggle word wrap

    该命令从增量更新中排除 authorityRevocationListaccountUnlockTimememberof 属性,并且仅从总更新中排除 accountUnlockTime

    注意
    如果要从 total 和 incremental 更新中排除相同的属性列表,请使用 '--frac-list' 选项将排除属性列表添加到 nsDS5ReplicatedAttributeList 配置属性中。
  2. 可选:如果要防止空的复制更新,请使用 -strip-list 选项添加目录服务器从复制中删除的属性。详情请参阅在部分 复制中清除空更新

验证

  • 查看复制协议设置:

    # dsconf <instance_name> repl-agmt list --suffix=dc=example,dc=com | grep -i nsDS5ReplicatedAttributeList
    
    nsDS5ReplicatedAttributeList: (objectclass=&#42;) $ EXCLUDE authorityRevocationList accountUnlockTime memberof
    nsDS5ReplicatedAttributeListTotal: (objectclass=*) $ EXCLUDE accountUnlockTime
    Copy to Clipboard Toggle word wrap
    重要
    nsDS5ReplicatedAttributeListnsDS5ReplicatedAttributeListTotal 的值必须包含 (objectclass swig)$ EXCLUDE 部分。如果您直接编辑属性,例如使用 ldapmodify 工具,您必须将此部分与排除的属性列表一起使用。
  • nsDS5ReplicatedAttributeList
  • nsDS5ReplicatedAttributeListTotal
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat