[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: