
Я установил две системы Ubuntu с сервером OpenLdap и заставил их реплицировать данные, как описано в этомгид. Репликация сработала, и contextCSN выдал тот же результат + я все еще нахожу оригинальные учетные записи поставщика у потребителя. Однако проблемы начались, как только я начал добавлять пользователей к поставщику. ContextCSN потребителей не обновляется, и я нахожу ошибки в системном журнале на обеих машинах.
Provider:
Jun 23 15:11:13 ldap01 slapd[711]: findbase failed! 32
Jun 23 15:12:14 ldap01 slapd[711]: findbase failed! 32
Jun 23 15:12:14 ldap01 slapd[711]: connection_read(52): no connection!
Consumer:
Jun 23 15:11:13 ldap02 slapd[32562]: do_syncrep2: rid=001 LDAP_RES_SEARCH_RESULT (32) No such object
Jun 23 15:11:13 ldap02 slapd[32562]: do_syncrep2: rid=001 (32) No such object
Jun 23 15:11:13 ldap02 slapd[32562]: do_syncrepl: rid=001 rc -2 retrying
Jun 23 15:12:14 ldap02 slapd[32562]: do_syncrep2: rid=001 LDAP_RES_SEARCH_RESULT (32) No such object
Jun 23 15:12:14 ldap02 slapd[32562]: do_syncrep2: rid=001 (32) No such object
Jun 23 15:12:14 ldap02 slapd[32562]: do_syncrepl: rid=001 rc -2 retrying
Jun 23 15:13:14 ldap02 slapd[32562]: do_syncrep2: rid=001 LDAP_RES_SEARCH_RESULT (32) No such object
Jun 23 15:13:14 ldap02 slapd[32562]: do_syncrep2: rid=001 (32) No such object
Jun 23 15:13:14 ldap02 slapd[32562]: do_syncrepl: rid=001 rc -2 retrying
Jun 23 15:14:14 ldap02 slapd[32562]: do_syncrep2: rid=001 LDAP_RES_SEARCH_RESULT (32) No such object
Jun 23 15:14:14 ldap02 slapd[32562]: do_syncrep2: rid=001 (32) No such object
Jun 23 15:14:14 ldap02 slapd[32562]: do_syncrepl: rid=001 rc -2 retrying
Jun 23 15:15:14 ldap02 slapd[32562]: do_syncrep2: rid=001 LDAP_RES_SEARCH_RESULT (32) No such object
Jun 23 15:15:14 ldap02 slapd[32562]: do_syncrep2: rid=001 (32) No such object
Jun 23 15:15:14 ldap02 slapd[32562]: do_syncrepl: rid=001 rc -2 retrying
Редактировать: ок, нашел свою ошибку. Забыл исправить эту строку из provider_sync.ldif
olcRootDN: cn=admin,dc=example,dc=com
Теперь я понятия не имею, как это исправить, если это вообще возможно. Наверное, придется вернуть старую резервную копию базы данных.
решение1
Чтобы исправить olcRootDN, создайте новый файл replace-olcrootdn.ldif
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: <admin DN>
После этого выполните команду:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f replace-olcrootdn.ldif