Open Directory-replikering virker muligvis ikke. "Maks. størrelse overskredet" vises i slapd.log
Open Directory-replikering virker muligvis ikke. Når det sker, vises der poster som følgende i /var/log/slapd.log
slapd[209]: do_syncrep2: rid=001 LDAP_RES_SEARCH_RESULT (4) Maks. størrelse overskredet slapd[209]: do_syncrep2: rid=001 (4) Maks. størrelse overskredet
Dette kan forekomme, hvis en Open Directory-server har været nede i en længere periode, eller hvis der oprettes en replika, når der er mere end 11000 objekter i LDAP-datalageret. 11000 er det maksimale antal objekter, der som standard kan returneres i en søgning.
Tillad, at _ldap_replicator-brugeren tilsidesætter søgegrænsen. Det kan du gøre ved at ændre LDAP-serverkonfigurationen på alle Open Directory-servere. Dette involverer godkendelse som biblioteksadministrator og kørsel af visse LDAP-ændringskommandoer i Terminal. Du skal også kende søgebasen, også kaldet navngivningskontekst, for LDAP-serveren.
Følgende trin kan bruges til at opnå dette.
Find først søgebasen for LDAP-serveren
Find søgebasen for LDAP-serveren. Det er som regel det fuldt kvalificerede domænenavn på serveren med dc= foran hvert mærke og punktummer ændret til kommaer.
En server med værtsnavnet server.example.com vil f.eks. have standardsøgebasen "dc=server,dc=example,dc=com". Du kan bekræfte søgebasen ved at sende en forespørgsel til selve LDAP-serveren med følgende Terminal-kommando:
ldapsearch -x -LLL -b “” -s base namingContexts
Find den linje, der indeholder namingContexts, og søgebasen vil være efter kolon som i eksemplet nedenfor.
dn: namingContexts: dc=server,dc=example,dc=com
Derefter skal du indhente Kerberos-loginoplysningerne for biblioteksadministratoren
Standardnavnet for denne bruger er diradmin, men navnet blev muligvis ændret, da Open Directory-masteren blev oprettet. Det kan du gøre ved at bruge kommandoen kinit i Terminal. Kør følgende kommando, hvor du udskifter det rette navn på biblioteksadministratoren med diradmin, hvis det er nødvendigt, og indtast adgangskoden, når du bliver bedt om det. Der er ingen output.
kinit diradmin
Brug derefter ldapmodify i interaktiv tilstand i Terminal for at foretage ændringerne. Kør ganske enkelt følgende i Terminal=:
ldapmodify
Bemærk! Derved returneres der nogle få SASL-meddelelser, og der ventes på input. Ved vellykket kørsel vil SASL-outputtet se sådan ud:
SASL/GSSAPI authentication started SASL username: diradmin@REALM SASL SSF: 56 SASL data security layer installed.
Rediger konfigurationen
Til sidst skal du foretage ændringerne i konfigurationen. Dette kræver, at hele teksten nedenfor indtastes i Terminal-vinduet som input til kommandoen ldapmodify. Søgebasen skal erstattes med [søgebase] nedenfor. Parenteserne skal også fjernes.
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
Tryk nu på Ctrl-D.
Hvis det hele lykkes, vises der meddelelser som følgende.
modifying entry "olcDatabase={1}bdb,cn=config" modifying entry "olcDatabase={2}bdb,cn=config"
Læs mere
Brug eventuelt Shell-instruks
Nedenfor kan du se teksten til en Shell-instruks, der kan bruges til at automatisere denne proces. Angiv blot kinit for biblioteksadministratoren som ovenfor, og kør denne instruks. Se denne artikel for at få forslag til teksteditorer.
#!/bin/sh nc=`ldapsearch -x -LLL -b "" -s base namingContexts | awk '/namingContexts/ {print $2}'` ldapmodify <
Dette dokument opdateres, efterhånden som oplysningerne bliver tilgængelige.