Openldap 同期が機能しない

Openldap 同期が機能しない

私はOpenLdapサーバーを備えた2つのUbuntuシステムをインストールし、この説明に従ってデータを複製しました。ガイドレプリケーションは機能し、contextCSN の出力は同じで、コンシューマーからの元のプロバイダー アカウントも見つかります。ただし、プロバイダーにユーザーを追加し始めると問題が発生し始めました。コンシューマーの contextCSN は更新されず、両方のマシンの syslog にエラーが見つかります。

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

関連情報