Re: Problemas com índice em LDAP
> On 21-08-2007 10:54, Edson Marquezani Filho wrote:
> > Olá pessoal.
> >
> > Estou com um problema com meu servidor LDAP. O log mostra
> > constantemente essa mensagem:
> >
> > slapd[5812]: <= bdb_equality_candidates: (uniqueMember) index_param failed (18)
>
> Isso normalmente indica que algo procurou por uniqueMember
> mas você não tem o índice (ou pelo menos não tem ele num estado
> "utilizável").
>
>
> > Recentemente, a base tem ficado corrompida a ponto de parar o
> > serviço, vez após vez, e já gerei toda a base novamente várias vezes.
>
> Isso é ruim. Você tem um grande número de usuários? Acessos?
> Você está usando BDB? Você tem checkpoints definidos? Você configurou
> o DB_CONFIG para os parâmetros necessários de gerência da base para
> grandes quantidades de acessos/objetos?
Não, o número de usuários é pequeno, todos os registros (entre
usuários, máquinas e grupos) não passam de 150. As consultas também
não são muitas, embore eu esteja considerando a hipótese se algum
outro processo estar fazendo consultas execessivas vezes.
Estou usando BDB sim, mas não havia configurado o DB_CONFIG, embora
como você mesmo já comentou aqui na lista, para pequenas quantidades
de registros como essa, não é de extrema necessidade.
Mesmo assim, da última vez tomei o cuidade de configurá-lo, a partir
do pouco de informação que encontrei a esse respeito na internet.
Ficou assim:
set_lk_detect DB_LOCK_EXPIRE
set_lg_max 5242880
set_cachesize 0 5242880 1
Também não tinha checkpoints, e agora tenho:
checkpoint 128 15
> > Tenho esse índice definido no meu arquivo de configuração:
> > index uniqueMember pres
>
> Porque somente pres? Porque não eq,pres? Alguma razão
> em especial para estar usando uniqueMember e não member?
uniqueMember não aceita o tipo de índice pres. Eu peguei esse
servidor já funcionando e ainda não conhece muito bem os detalhes de
LDAP, por isso nem saberia te dizer porque não "member" ao invés de
"uniqueMember".
O fato é que mesmo omitindo esse índice na configuração, e gerando a
base do zero, a falta do índice continua a aparecer nos logs.
Notei, após enviar essa mensagem, que o índice nunca funcionou
corretamente, desde sempre. Só pude pensar que o problema é com o
próprio LDAP, que não está gerando o índice corretamente.
A versão é a 2.2.13.
Mas sinceramente, também não acredito que o problema de corrupção
das bases tenha relação com isso. Você acha ?
> > E tenho o arquivo DB de índice no diretório da base também.
> > -rw------- 1 ldap ldap 8192 Ago 21 10:51 uniqueMember.bdb
> >
> > Sempre quando gero novamente a base, uso o seguinte procedimento:
> > - apago o conteúdo do diretório de dados do ldap
> > - slapadd a partir de um ldif extraído anteriormente, seja de uma
> > réplica ou do backup diário.
> > - mudo o dono dos arquivos para usuário ldap
> > - slapindex
> > - inicio o serviço
>
> No Debian (etch) o dono dos arquivos é o openldap . Os
> índices são gerados no momento em que você faz o slapadd e deveriam
> ser consistentes.
Desculpe, sei que essa é uma lista de Debian, e eu tenho servidores
Debian também, com LDAP. Mas, nesse caso é um RHEL 4, não homologado
(leia-se sem suporte, atualização, etc, etc). Sou plenamente contra,
mas...
O slapadd gera os índices sim, realmente é besteira rodar o
slapindex logo em seguida. =/
>
> > Apesar disso a mensagem já mencionada aparece constantemente nos
> > logs e a base já se perdeu várias vezes.
> >
> > Alguém tem idéia do que poderia ser ? Ficaria muito grato se alguém
> > pudesse ajudar.
>
> Versões antigas do OpenLDAP não tinham a habilidade de
> indexar o uniqueMember. Além disso, o groupOfUniqueNames não é
> exatamente o que a maioria das pessoas pensa com relação à
> "unique", o melhor seria usar groupOfNames.
>
> Outro ponto, é o nss-ldap e a rfc-2307-bis, em certas
> versões isso nem sempre funcionava como esperado. A lista do
> OpenLDAP respondeu perguntas similares à sua algumas vezes,
> você talvez encontre mais detalhes por lá também.
Ok. Agradeço muito as informações, pode ter certeza que foram muito
úteis. Como você sugeriu, fiz algumas mudanças e estou monitorando
para ver se o problema volta a se repetir.
Vou procurar a respeita na lista mencionada, que eu acredito ser a
LDAP-L. É isso mesmo ?
Muito obrigado.
Reply to: