La replica di Open Directory potrebbe non funzionare; in slapd.log viene visualizzato il messaggio “Limite dimensione superato”

La replica di Open Directory potrebbe non funzionare; in tal caso, in /var/log/slapd.log vengono visualizzate voci come quelle riportate di seguito

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

Ciò può verificarsi se un server Open Directory è rimasto inattivo per un periodo di tempo prolungato o se viene creata una replica quando nell'archivio dati LDAP sono presenti più di 11.000 oggetti. 11.000 è il numero massimo predefinito di oggetti che possono essere restituiti in una ricerca.

Consente all'utente _ldap_replicator di ignorare il limite di ricerca. Questa operazione viene eseguita modificando la configurazione del server LDAP su ogni server Open Directory. Ciò comporta l'autenticazione come amministratore della directory e l'esecuzione di alcuni comandi di modifica LDAP in Terminale. Anche la base di ricerca, nota anche come contesto dei nomi, deve essere nota.

Per eseguire questa operazione, è possibile seguire i passaggi riportati di seguito.

Innanzitutto, trovare la base di ricerca per il server LDAP

Trova la base di ricerca per il server LDAP. In genere si tratta del nome di dominio completo del server con dc= anteposto a ciascuna etichetta e i punti sostituiti da virgole.

Ad esempio, un server con nome host server.example.com avrebbe come base di ricerca "dc=server,dc=example,dc=com". La base di ricerca può essere verificata interrogando il server LDAP stesso con il seguente comando di Terminale:

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

Cerca la riga contenente namingContexts e la base di ricerca si troverà dopo i due punti, come nell'output di esempio riportato di seguito.

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

In secondo luogo, ottenere le credenziali kerberos per l'amministratore della directory

Il nome di default per questo utente è diradmin, ma il nome potrebbe essere stato modificato al momento della creazione del master Open Directory. Questa operazione viene eseguita utilizzando il comando kinit in Terminale. Esegui il seguente comando, sostituendo, se necessario, il nome corretto dell'amministratore della directory con diradmin e immetti la password quando richiesto. Nessun output.

kinit diradmin

Successivamente, usa ldapmodify in modalità interattiva in Terminale per apportare le modifiche. Basta eseguire quanto segue in Terminale=:

ldapmodify

Nota: questa operazione genererà alcuni messaggi SASL e attenderà l'input. In caso di esito positivo, l'output SASL dovrebbe essere simile al seguente:

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

Modificare la configurazione

Infine apporta le modifiche alla configurazione. Ciò richiede che tutto il testo riportato di seguito sia inserito nella finestra di Terminale come input per il comando ldapmodify. La base di ricerca deve essere sostituita da [search base] riportata di seguito. Anche le parentesi devono essere rimosse.

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

Ora premi Ctrl-D.

Se tutto è andato a buon fine, verranno visualizzati messaggi come quelli riportati di seguito.

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

Ulteriori informazioni

Alternativa allo script della shell

Di seguito è riportato il testo di uno script della shell che può essere utilizzato per automatizzare questo processo. Basta avviare l'amministratore della directory come indicato sopra ed eseguire questo script. Consulta questo articolo per suggerimenti sull'editor di testo.

#!/bin/sh nc=`ldapsearch -x -LLL -b "" -s base namingContexts | awk '/namingContexts/ {print $2}'` ldapmodify <

Questo documento verrà aggiornato non appena saranno disponibili ulteriori informazioni.

Data di pubblicazione: