OPENLDAP 主/从复制已停止

OPENLDAP 主/从复制已停止

我以这种方式配置了我的系统:主 OpenLDAP 10.100.1.6 和从属 OpenLDAP 10.100.1.7

我使用了这个指南: https://www.itzgeek.com/how-tos/linux/configure-openldap-master-slave-replication.html 并对其进行配置如下:

    vim rpuser.ldif (Master and Slave)
    dn: uid=rpuser,dc=mydomain,dc=com
    objectClass: simpleSecurityObject
    objectclass: account
    uid: rpuser
    description: Replication Admin User
    userPassword: secret

ldapadd -x -W -D "cn=Manager,dc=mydomain,dc=com" -f rpuser.ldif

Enable logging (Slave)
echo "local4.* /var/log/ldap.log" >> /etc/rsyslog.conf 
systemctl restart rsyslog



vim /etc/default/slapd (Master)
    SLAPD_SERVICES="ldapi:// ldap://LDAP01.mydomain.com"

vim /etc/default/slapd (Slave)
    SLAPD_SERVICES="ldapi:// ldap://LDAP02.mydomain.com"

vim syncprov_mod.ldif  (Master and Slave)
    dn: cn=module,cn=config
    objectClass: olcModuleList
    cn: module
    olcModulePath: /usr/lib64/openldap
    olcModuleLoad: syncprov.la

ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov_mod.ldif

vim syncprov.ldif  (Master and Slave)
    dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
    objectClass: olcOverlayConfig
    objectClass: olcSyncProvConfig
    olcOverlay: syncprov
    olcSpSessionLog: 100

ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif

vim olcserverid.ldif (Master)
    dn: cn=config
    changetype: modify
    add: olcServerID
    olcServerID: 101

ldapmodify -Y EXTERNAL -H ldapi:/// -f olcserverid.ldif

vim olcserverid.ldif (Slave)
    dn: cn=config
    changetype: modify
    add: olcServerID
    olcServerID: 102

ldapmodify -Y EXTERNAL -H ldapi:/// -f olcserverid.ldif


vim rp.ldif  (Slave)
    dn: olcDatabase={2}hdb,cn=config
    changetype: modify
    add: olcSyncRepl
    olcSyncRepl: rid=101
    provider=ldap://ldap01.mydomain.com:389/
    bindmethod=simple
    binddn="uid=rpuser,dc=mydomain,dc=com"
    credentials=secret
    searchbase="dc=mydomain,dc=com"
    scope=sub
    schemachecking=on
    type=refreshAndPersist
    retry="30 5 300 3"
    interval=00:00:05:00

ldapmodify -Y EXTERNAL  -H ldapi:/// -f rp.ldif

该系统运行了几天,但现在不再同步。

这是 ldap.log

9 月 20 日 12:47:06 BCA-PRD-LDAP02 slapd[5348]: <= bdb_equality_candidates: (entryUUID) 未编入索引 9 月 20 日 12:47:06 BCA-PRD-LDAP02 slapd[5348]: do_syncrep2: rid=101 LDAP_RES_SEARCH_RESULT (4) 超出大小限制 9 月 20 日 12:47:06 BCA-PRD-LDAP02 slapd[5348]: do_syncrep2: rid=101 (4) 超出大小限制 9 月 20 日 12:47:06 BCA-PRD-LDAP02 slapd[5348]: do_syncrepl: rid=101 rc -2 正在重试(剩余 1 次重试) 9 月 20 日 12:52:06 BCA-PRD-LDAP02 slapd[5348]: <= bdb_equality_candidates: (entryUUID) 未编入索引

答案1

我找到了一个解决方案:

vim dbsyzelimit.ldif (主)

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSizeLimit
olcSizeLimit: 50000

ldapmodify -Y EXTERNAL -H ldapi:/// -f dbsyzelimit.ldif

答案2

我倾向于使用,而不是修改整个服务器olcLimits

通常我会使用 group 作为选择器,但 dn.exact 似乎是你想要的,至少目前如此。

dn.exact例子:

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcLimits: {0}dn.exact=uid=rpuser,dc=example,dc=com size=unlimited time=unlimited

group例子:

$ldapsearch -b cn=config olcLimits=* olcLimits 

dn: olcDatabase={0}config,cn=config
olcLimits: {0}group=cn=ldap-admins,ou=groups,dc=example,dc=com size=unlimited
olcLimits: {1}group=cn=ldap-servers,ou=groups,dc=example,dc=com size=unlimited time=unlimited

dn: olcDatabase={2}mdb,cn=config
olcLimits: {0}group=cn=ldap-admins,ou=groups,dc=example,dc=com size=unlimited
olcLimits: {1}group=cn=ldap-servers,ou=groups,dc=example,dc=com size=unlimited time=unlimited

相关内容