16.11. 发送同步更新


同步像 winSyncInterval 设置(用于从 Active Directory 域检索更改)或 nsds5replicaupdateschedule 设置(用于从 Directory 服务器推送更改)中一样频繁进行。默认情况下,更改每五分钟从 Active Directory 检索,并且会立即发送目录服务器的更改。
同步更新可以手动触发。也可以执行完整的重新同步,其发送和拉取目录服务器和 Active Directory 中的每个条目,就像是新的一样。完整的重新同步包括之前尚未同步的现有目录服务器条目。

16.11.1. 执行手动增量同步

在正常操作过程中,对目录服务器中的条目进行的所有更新都会收集到更改日志,然后在增量更新期间重新执行。
手动同步更改:
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-winsync-agmt poke --suffix="dc=example,dc=com" example-agreement
Copy to Clipboard Toggle word wrap

16.11.2. 执行完全同步

如果数据有重大更改,或者将同步属性添加到预先存在的目录服务器条目中,则需要启动 重新同步。重新同步是一个更新总量;检查同步子树的整个内容,如有必要,更新。在不使用更改日志的情况下,进行重新同步。这与在复制中初始化或重新初始化消费者类似。

16.11.2.1. 使用命令行执行完全同步

使用命令行启动完全同步:
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-winsync-agmt init --suffix="suffix" agreement_name
Copy to Clipboard Toggle word wrap
显示同步状态:
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-winsync-agmt init-status --suffix="suffix" agreement_name
Copy to Clipboard Toggle word wrap

16.11.2.2. 使用 Web 控制台执行完全同步

启动完全同步:
  1. 在 web 控制台中打开 Directory Server 用户界面。请参阅 第 1.4 节 “使用 Web 控制台登录目录服务器”
  2. 选择实例。
  3. 打开 Replication 菜单并选择 Winsync Agreements 条目。
  4. 打开您要同步的同步协议旁边的 Choose Action 菜单,然后选择 Full Re-Synchronization
    重新同步不会删除同步对等点上的数据。进程发送和接收所有更新,并添加任何新的或修改的目录服务器条目。例如,该过程添加了一个已存在的目录服务器用户,该用户添加了 ntUser 对象类。
在 web 控制台中显示同步状态:
  1. 打开 Replication 菜单。
  2. 选择 Winsync Agreements 条目。
    如果同步成功完成,Web 控制台会在 Last Update Status 列中显示 Error (0) Replica obtained: Incremental update successful 信息。

16.11.3. 设置同步计划

同步可以通过两种方式工作。Directory 服务器使用 nsds5replicaupdateschedule 属性,按可配置的调度(类似于复制)向 Active Directory 发送更新。目录服务器轮询 Active Directory 以检查更改; 它检查 Active Directory 服务器的频率在 winSyncInterval 属性中设置。
默认情况下,Directory 服务器更新计划始终处于同步状态。Active Directory 间隔是每五分钟轮询 Active Directory。
要更改 Directory 服务器用来向 Active Directory 发送更新的调度,请编辑 nsds5replicaupdateschedule 属性。使用 24 小时时钟,调度使用 start (SSSS)和结束(EEEE)时间设置 HHMM。调度同步更新的天数从 0 (Sunday)到 6 (Saturday)。
nsds5replicaupdateschedule: SSSS EEEE DDDDDDD
Copy to Clipboard Toggle word wrap
例如,这会在 Sunday、周五、周四、周四和周日上从 noon 到 2:00pm 同步:
nsds5replicaupdateschedule: 1200 1400 0246
Copy to Clipboard Toggle word wrap
注意
同步时间不能每夜换行,因此设置 2300 0100 无效。
要更改 Directory 服务器检查 Active Directory 是否有对 Active Directory 条目的更改的频率,请重置 winSyncInterval 属性。此属性以秒为单位,因此默认 300 表示目录服务器每 300 秒或五分钟轮询 Active Directory 服务器。如果目录搜索用时过长并影响性能,则将其设置为更高的值会很有用。
winSyncInterval: 1000
Copy to Clipboard Toggle word wrap

16.11.4. 更改同步连接

可以更改同步协议连接的两个方面:
  • 绑定用户名和密码(nsDS5ReplicaBindDNnsDS5ReplicaCredentials)。
  • 连接方法(nsDS5ReplicaTransportInfo)。
    只能将 nsDS5ReplicaTransportInfoLDAP 改为 StartTLS,反之亦然。无法更改为或从 LDAPS 更改,因为无法更改端口号,并在 LDAP 和 LDAPS 间切换需要更改端口号。
例如:
nsDS5ReplicaBindDN: cn=sync user,cn=Users,dc=ad1
nsDS5ReplicaCredentials: {DES}ffGad646dT0nnsT8nJOaMA==
nsDS5ReplicaTransportInfo: StartTLS
Copy to Clipboard Toggle word wrap
警告
无法更改 Active Directory 同步对等点的端口号。因此,还无法在标准/STARTTLS 连接和 TLS 连接间切换,因为这需要在标准端口和不安全的端口之间进行改变。
要更改为或从 TLS 更改,请删除同步协议,并使用更新的端口号和新的传输信息再次添加它。

16.11.5. 处理从同步的子树中移出的条目

同步协议定义了 Active Directory 和 Directory 服务器中同步哪些子树。在范围(子树)的条目会被同步;其他条目将被忽略。
但是,同步过程实际上从 root DN 开始,以开始评估条目以进行同步。条目基于 Active Directory 中的 samAccount 和 Directory 服务器中的 uid 属性关联。如果条目(基于 samAccount/uid 关系)从同步子树中删除,则同步插件备注,因为它已被删除或移动。这是条目不再同步的同步插件的信号。
该问题是同步过程需要一些配置来确定如何处理该移动条目。有三个选项:删除对应的条目,忽略条目(默认),或者取消同步该条目。
注意
这些同步操作仅当条目移出 Active Directory 端的范围时,在 Directory Server 端处理。如果某个条目从 Directory Server 端的同步子树中移出,这不会影响任何 Active Directory 条目。
Directory Server 9.0 中的默认行为是删除对应的目录服务器条目。即使 Active Directory 端的条目没有与 Directory Server 端同步,也是如此。从 Directory Server 9.1 开始,默认行为是忽略该条目,且不执行任何操作。
例如,sam Account ID 为 jsmith 的用户在 Active Directory 上的 ou=Employees 子树中创建。同步子树为 ou=Users,因此 jsmith 用户永远不会与目录服务器同步。

图 16.4. Active Directory Tree

对于 7.x 和 8.x 版本,同步只忽略该用户,因为它不在同步子树之外。
从 Directory Server 9.0 开始,目录服务器开始支持子树重命名 - 这意味着现有条目可以在目录树的分支之间移动。同步插件会假定,在 Active Directory 树中但在同步的子树外的条目,它对应与一个 Directory Server 用户(samAccount/uid关系),是主动移到同步的子树外,本质上是一个重命名操作。然后假设应删除"corresponding"目录服务器条目。

图 16.5. Active Directory 和 Directory Server Trees 比较

此假设不一定是一个准确的,特别是对于始终存在于同步子树之外的用户条目。
同步协议的 winSyncMoveAction 属性设置如何处理这些移动条目的说明:
  • none 不执行任何操作,因此如果同步的目录服务器条目存在,则可以将其同步到或创建 范围内的 Active Directory 条目。如果没有同步的目录服务器条目,则不会发生任何情况(这是 Directory Server 版本 9.1 及之后的版本中的默认行为)。
  • Un sync 从 Directory Server 条目中删除任何与同步相关的属性(ntUserntGroup),否则保留 Directory Server 条目。
    重要
    当取消同步 Active Directory 条目可能被删除的条目时,存在风险,并且 Directory Server 条目保持不变。这可能会造成数据不一致的问题,特别是当 Directory Server 条目用于稍后在 Active Directory 一侧重新创建条目时。
  • Delete 删除 Directory 服务器端的对应条目,无论它是否与 Active Directory 同步(这是 9.0 中的默认行为)。
    重要
    您几乎不需要删除目录服务器条目,而无需删除对应的 Active Directory 条目。这个选项仅适用于与 Directory Server 9.0 系统兼容。
如果需要更改默认值:
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-winsync-agmt --move-action="action" --suffix="suffix" agreement_name
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat