Nem működik az Open Directory-replikáció; a „Méretkorlát túllépve” üzenet jelenik meg a slapd.log fájlban

Előfordulhat, hogy nem működik az Open Directory-replikáció; ilyen esetben az alábbihoz hasonló bejegyzések találhatók a /var/log/slapd.log fájlban.

slapd[209]: do_syncrep2: rid=001 LDAP_RES_SEARCH_RESULT (4) Size limit exceeded
slapd[209]: do_syncrep2: rid=001 (4) Size limit exceeded

A hibajelenség akkor léphet fel, ha egy Open Directory-kiszolgáló hosszabb időre leállt, vagy ha akkor hoz létre egy replikát, amikor több mint 11 000 objektum található az LDAP-adattárban.  Alapértelmezés szerint legfeljebb 11 000 objektum jeleníthető meg a keresések során.

Engedélyezze az _ldap_replicator felhasználó számára a határérték túllépését.  Ezt úgy hajthatja végre, hogy módosítja az LDAP-kiszolgáló konfigurációját mindegyik Open Directory-kiszolgálón. Adja meg a címtár-rendszergazdai hitelesítő adatokat, és futtassa az LDAP-módosításokhoz szükséges parancsokat a Terminalban. Az LDAP-kiszolgáló keresési bázisát – más néven névhasználati környezetét – is tudnia kell.

Az alábbiak szerint hajthatja végre a műveletet.

Az LDAP-kiszolgáló keresési bázisának megkeresése

Keresse meg az LDAP-kiszolgáló keresési bázisát.  Ez általában a kiszolgáló teljesen minősített tartományneve, és az egyes címkék elé be kell írni a dc= karaktersort, valamint a pontokat vesszőkre kell cserélni.

Például a server.example.com állomásnevű kiszolgáló alapértelmezett keresési bázisa a következő: „dc=server,dc=example,dc=com”.  Az LDAP-kiszolgáló lekérdezésével is ellenőrizhető a keresési bázis. Ehhez írja be a következő Terminal-parancsot:

ldapsearch -x -LLL -b “” -s base namingContexts

Keresse meg a namingContexts kifejezést tartalmazó sort – a keresési bázis a kettőspont utáni rész, ahogy az az alábbi példában is látható.

dn:
namingContexts: dc=server,dc=example,dc=com

A címtárrendszergazda Kerberos hitelesítő adatainak beszerzése

Ennek a felhasználónak az alapértelmezett neve a diradmin, viszont előfordulhat, hogy a név módosult az Open Directory-főkiszolgáló létrehozásakor. Ez a kinit paranccsal hajtható végre a Terminalban.  Futtassa a következő parancsot, és szükség esetén a diradmin nevet cserélje le a címtárrendszergazda aktuális nevére, majd amikor felszólítást kap erre, adja meg a jelszót. A Terminal nem ír ki semmit.

kinit diradmin

Ezután a Terminalban az ldapmodify segítségével hajtsa végre a módosításokat interaktív módban. Egyszerűen írja be a következőt a Terminalban:

ldapmodify

Megjegyzés: Ekkor megjelenik néhány SASL-üzenet, és a rendszer adatbevitelre vár.  Sikeres eljárás esetén az alábbihoz hasonló SASL-üzenetek jelennek meg:

SASL/GSSAPI authentication started
SASL username: diradmin@REALM
SASL SSF: 56
SASL data security layer installed.

A konfiguráció módosítása

Végül módosítsa a konfigurációt. Ehhez adja meg az alábbi szöveget a Terminal ablakában az ldapmodify parancs bemeneteként. A [search base] helyére írja be a keresési bázist. A zárójelekre sincs szükség.

dn: olcDatabase={1}bdb,cn=config
changetype: modify
add: olcLimits
olcLimits: dn.exact="uid=_ldap_replicator,cn=users,[search base]" time.soft=unlimited time.hard=unlimited size.soft=unlimited size.hard=unlimited

dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcLimits
olcLimits: dn.exact="uid=_ldap_replicator,cn=users,[search base]" time.soft=unlimited time.hard=unlimited size.soft=unlimited size.hard=unlimited

Most nyomja le a Control-D billentyűkombinációt.

Ha az összes eljárás sikeres, az alábbiakhoz hasonló üzenetek jelennek meg.

modifying entry "olcDatabase={1}bdb,cn=config"
modifying entry "olcDatabase={2}bdb,cn=config"

További információk

   

Alternatív eljárás héjparancsfájl segítségével

Az alábbiakban egy héjparancsfájl szövege látható, amellyel automatizálható az eljárás. A fentiekhez hasonlóan a kinit paranccsal kérje le a címtárrendszergazda adatait, majd futtassa a parancsfájlt. Ez a cikk segítséget nyújt a szövegszerkesztő kiválasztásához.

#!/bin/sh
nc=`ldapsearch -x -LLL -b "" -s base namingContexts | awk '/namingContexts/ {print $2}'`
ldapmodify  <<EOF
dn: olcDatabase={1}bdb,cn=config
changetype: modify
add: olcLimits
olcLimits: dn.exact="uid=_ldap_replicator,cn=users,$nc" time.soft=unlimited time.hard=unlimited size.soft=unlimited size.hard=unlimited

dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcLimits
olcLimits: dn.exact="uid=_ldap_replicator,cn=users,$nc" time.soft=unlimited time.hard=unlimited size.soft=unlimited size.hard=unlimited

EOF
#end of script
Közzététel dátuma: