Назад | Перейти на главную страницу

Сбой репликации OpenLDAP, «syncrepl_entry: rid = 666 be_modify failed (20)»

Я настроил второй хост для репликации основного сервера LDAP через syncrepl в slapd.conf:

syncrepl rid=666 
        provider=ldaps://my-main-server.com 
        type=refreshAndPersist 
        searchBase="dc=Staff,dc=my-main-server,dc=com" 
        filter="(objectClass=*)" 
        scope=sub 
        schemachecking=off 
        bindmethod=simple 
        binddn="cn=repadmin,dc=my-main-server,dc=com" 
        credentials=mypassword 

Когда я перезапускаю slapd, он пишет в /var/log/debug

Jun 11 15:48:33 cluster-mn-04 slapd[29441]: @(#) $OpenLDAP: slapd 2.4.9 (Mar 31 2009 07:18:37) $ ^Ibuildd@yellow:/build/buildd/openldap2.3-2.4.9/debian/build/servers/slapd 
Jun 11 15:48:34 cluster-mn-04 slapd[29442]: slapd starting 
Jun 11 15:48:34 cluster-mn-04 slapd[29442]: null_callback : error code 0x14 
Jun 11 15:48:34 cluster-mn-04 slapd[29442]: syncrepl_entry: rid=666 be_modify failed (20) 
Jun 11 15:48:34 cluster-mn-04 slapd[29442]: do_syncrepl: rid=666 quitting 

Я просмотрел источники кода возврата и нашел только

#define LDAP_TYPE_OR_VALUE_EXISTS       0x14

в include/ldap.h. В любом случае, я не совсем понимаю, что означает сообщение об ошибке.

Можете ли вы помочь мне решить эту проблему и выяснить, почему репликация LDAP не работает? Мне удалось поставить "ручную" копию через slapcat и slapadd в базу данных, но я хотел бы синхронизировать автоматически.

ОБНОВИТЬ: "Решено" удалением /var/lib/ldap/* и повторно импортируем базу данных с slapadd.

Вы уверены, что slapd имеет право писать в каталогах? Обычно после вставки с нуля необходимо сменить владельца каталогов.