2 个 OpenLDAP v2.4 节点处于镜像模式复制。
收到此错误:
syncrepl_message_to_entry: rid=001 DN: dc=example,dc=com, UUID: abc-123
syncrepl_message_to_entry: rid=001 mods check (hasSubordinates: value #0 invalid per syntax)
两个节点都记录了此信息,节点 #2 抱怨 rid=001,节点 #1 抱怨 rid=002。UUID 和 DN 都相互匹配。根据 slapcat,
两个条目均有。hasSubordinates: true
节点 2 已从节点 1 的 slapcat 备份中恢复。以前这种方法是可行的,但在重复转换并从要替换的旧目录导入过程后,这种方法开始起作用。
答案1
我想刚刚才明白这一点,这是由于我的转变。
hasSubordinates
是不应导入的操作属性。在我过去的导入中,我没有恢复“dc=example,dc=com”条目,因为它已经存在。然而,在部署当天,我发现删除整个目录内容花费的时间ldapdelete
太长了(我猜有复制和登录的话,测试速度会比没有复制和登录慢)。所以我删除了数据库文件/var/lib/ldap
并恢复了整个目录。