
我已經安裝了兩個帶有 OpenLdap 伺服器的 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