7.4. 使用带有其他目录服务器功能的复制
复制与其他目录服务器功能交互,以提供高级复制功能。以下小节描述了用于更好地设计复制策略的功能交互。
7.4.1. 复制和访问控制
目录服务将 ACI 存储为条目属性。这意味着 ACI 会与其他目录内容一起复制。这很重要,因为 Directory 服务器在本地评估 ACI。
有关为目录设计访问控制的更多信息,请参阅 第 9 章 设计安全目录。
7.4.2. 复制和目录服务器插件
复制操作适用于由 Directory 服务器提供的大多数插件。使用以下插件进行多层次复制时,有一些例外和限制:
- 属性唯一插件Attribute Uniqueness Plug-in validate 属性值已添加至本地条目,以确保所有值都是唯一的。但是,这个检查直接在服务器上完成,而不是从其他供应商复制。例如,Example Corp. 要求
mail
属性是唯一的,但两个用户同时添加相同的mail
属性到两个不同的供应商服务器。只要没有命名冲突,就没有复制冲突,但mail
属性不是唯一的。 - 参考完整性插件参考完整性可以和多层次复制一同工作,只要该插件仅在多层次集中的一个供应商上启用。这样可确保仅在其中一个供应商服务器上发生引用完整性更新,并传播到其他供应商服务器。
注意
默认情况下,这些插件被禁用,必须手动启用它们。
7.4.3. 复制和数据库链接
通过串联来分发目录条目,包含数据库链接的服务器会引用包含实际数据的远程服务器。在此环境中,无法复制数据库链接本身。但是,可以 复制包含远程服务器中实际数据的数据库。
不要使用复制过程作为数据库链接的备份。必须手动备份数据库链接。有关链和条目分发的详情请参考 第 6 章 设计目录拓扑。
图 7.10. 复制链的数据库
![复制链的数据库](https://access.redhat.com/webassets/avalon/d/Red_Hat_Directory_Server-11-Deployment_Guide-zh-CN/images/d448dbb2902700b9e297cb12a87f69f1/repplex.png)
7.4.4. 模式复制
对于标准架构,在将数据复制到消费者服务器之前,供应商服务器会检查自己的模式版本是否与消费者服务器中的架构版本同步。适用以下条件:
- 如果供应商和消费者的 schema 条目都相同,复制操作将继续。
- 如果供应商服务器的模式版本比消费者中存储的版本更新,则供应商服务器会将其架构复制到消费者,然后再继续数据复制。
- 如果供应商服务器的模式版本早于使用者上存储的版本,服务器可能会在复制过程中返回许多错误,因为消费者的 schema 无法支持新的数据。
注意
模式复制仍发生,即使供应商和副本之间的模式不匹配。
Replicatable 更改包括通过 Web 控制台进行的模式更改、通过 ldapmodify 进行的更改,以及直接对
99user.ldif
文件进行的更改。自定义架构文件以及对自定义架构文件所做的任何更改都不会被复制。
消费者可能包含来自两个供应商的复制数据,各自有不同的架构。无论供应商最近一次胜利,其架构都会传播到消费者中。
警告
永不在消费者服务器上更新架构,因为供应商服务器无法解决发生冲突,并且复制失败。架构应该在复制拓扑中的供应商服务器上维护。
相同的目录服务器可存放作为供应商和作为消费者的只读副本的读写副本。因此,请始终识别将充当 schema 的供应商的服务器,然后在本供应商和复制环境中作为 schema 信息的用户在复制环境中设置复制协议。
复制架构不需要特殊复制协议。如果在供应商和消费者之间配置了复制,则默认发生 schema 复制。
有关 schema 设计的详情请参考 第 3 章 设计目录架构。
自定义架构
如果标准 99user.ldif
文件用于自定义模式,则这些更改将复制到所有消费者。
自定义架构文件必须复制到每台服务器上,才能保持所有服务器上的相同模式文件中的信息。自定义架构文件以及对这些文件的更改不会复制,即使它们通过 Web 控制台或 ldapmodify 进行。
如果有自定义架构文件,请确保在供应商更改时将这些文件复制到所有服务器。复制完所有文件后,重启服务器。
有关自定义模式文件的详情,请参考 第 3.4.7 节 “创建自定义架构文件”。
7.4.5. 复制和同步
要在 Directory 服务器中传播同步的 Windows 条目,请在多层次环境中使用同步。同步协议应保持在最低程度上,每个部署最好有一个。多层次复制允许 Windows 信息在网络中可用,同时限制对单个目录服务器的数据访问点。