6.4. 对其他目录服务器功能使用复制
要更好地设计复制策略,了解复制和其他目录服务器功能之间的交互。
6.4.1. 复制和访问控制
目录存储访问控制指令(ACI)作为条目的属性,Directory 服务器会与其他目录内容一起复制这些 ACI。例如,要从特定主机限制对目录的访问,请使用 ACI 中的特定于主机的设置。否则,当 ACI 复制到其他服务器时,所有服务器上将拒绝对该目录的访问,因为 Directory 服务器在本地评估 ACI。
有关为目录设计访问控制的更多信息,请参阅 设计访问控制。
6.4.2. 复制和目录服务器插件
复制可用于 Directory 服务器提供的大多数插件。但是,以下插件在多层次环境中存在限制和例外:
属性唯一插件
Attribute Uniqueness 插件验证添加到本地服务器上的条目的属性值的唯一性。例如,公司需要
mail
属性对用户条目是唯一的。当两个不同的用户同时在两个不同的供应商服务器上添加mail
属性的值时,Directory 服务器会将这些用户添加到目录中,因为没有命名冲突,因此不会发生复制冲突。属性唯一插件不会检查复制的更改,因此mail
属性值将变为目录中的非唯一性。参考完整性插件
当仅在多层次集中的 一个供应商 启用时,引用完整性可用于多层次复制。这样可确保仅在其中一个供应商服务器上发生引用完整性更新,并传播到其他服务器。
auto Membership 和 MemberOf 插件
要使这两个插件在复制环境中正常工作,请配置插件以在每台服务器上本地执行更新。
默认情况下,插件被禁用,您必须手动启用它们。
其他资源
6.4.3. 复制和数据库链接
当您使用链在目录中分发条目时,包含数据库链接的服务器指的是包含实际数据的远程服务器。在这种情况下,您无法复制数据库链接。但是,您可以复制包含远程服务器上实际数据的数据库。
6.4.4. 模式复制
在复制环境中,在参与复制的所有服务器上,该架构必须一致。为确保模式一致性,请只在单一供应商服务器上进行模式修改。
如果您在服务器间配置了复制,则默认发生模式复制。
Standard 模式
目录服务器使用以下场景进行标准模式复制:
- 在将数据推送到消费者服务器前,供应商服务器会检查其模式版本是否与消费者服务器中保存的模式版本相同。
- 如果供应商和消费者上的模式条目都相同,复制操作将继续。
- 如果供应商模式版本比消费者模式版本更新,供应商服务器会在继续数据复制前将其模式复制到消费者。
- 如果供应商模式版本早于消费者模式版本,则复制可能会失败,或者服务器可能会在复制过程中返回错误,因为消费者中的模式不支持新数据。因此,切勿 更新消费者服务器上的模式。您必须只在复制拓扑中的供应商服务器上维护架构。
目录服务器使用 dsconf
命令、Web 控制台、LDAP 修改操作或直接发送到 99user.ldif
文件,将更改复制到架构。
如果您在两个供应商服务器上进行模式修改,消费者从两个供应商接收数据,每个供应商都具有不同的模式。消费者应用具有更新的 schema 版本的供应商的修改。在这种情况下,消费者的架构始终与其中一个供应商不同。要避免这种情况,请始终确保您只在一个供应商上进行模式修改。
您不需要创建特殊的复制协议来复制模式。但是,同一目录服务器可以包含供应商和消费者副本。因此,始终将充当 schema 的供应商的服务器标识,然后在复制环境中作为 schema 信息的用户在复制环境中设置复制协议。
有关标准模式文件的更多信息,请参阅 标准模式。
Custom 模式
如果您使用标准的 99user.ldif
文件作为自定义模式,目录服务器只会将自定义模式复制到所有消费者。目录服务器不会复制其他自定义模式文件或更改这些文件,即使您通过 Web 控制台或 dsconf
命令进行了更改。
如果使用其他自定义文件,则必须在供应商更改时手动将这些文件复制到拓扑中的所有服务器上。
其他资源