Zimbra: Guia de sobrevivência: LDAP

Olá! É com muita satisfação que inicio uma nova série de artigos sobre o Zimbra:

Guias de sobrevivência!

Neste primeiro artigo da série, vamos falar sobre o serviço LDAP do Zimbra.

A ideia desses artigos é sempre serem atualizados e complementados conforme minhas experiências.

Última atualização: 05/09/2020

Como muitos já devem saber, o Zimbra possui o serviço LDAP (OpenLDAP) implementando em sua arquitetura. Esse serviço é essencial e bastante exigido pela solução, uma vez que é responsável pela organização dos domínios, servidores, conta, classes de serviço, listas de distribuição, etc…

Caso o serviço LDAP fique indisponível, toda a solução será afetada. 

Serviço LDAP na arquitetura do Zimbra:

Primeiramente, algumas dúvidas básica sobre o serviço LDAP implementado na solução Zimbra:

  • O serviço LDAP é implementado para estruturação da solução Zimbra, uma que vez é um serviço de diretório.
  • É possível utilizar bases LDAP externas, como o Active Directory, por exemplo, para autenticação e/ou catálogo global, além do provisionamento automático de contas. Isso não irá sincronizar os diretórios (exceto para o catálogo global, que iá baixar os contatos do servidor externo).
  • É possível implementar o serviço LDAP do Zimbra em um servidor dedicado ou até mesmo em múltiplos servidores, como réplica ou Multi-Master.
  • A Zimbra é uma grande contribuidora do projeto OpenLDAP, especialmente na solução de replicação, sendo a responsável pelo desenvolvimento.
  • É possível e recomendado efetuar o backup da base LDAP com a maior frequência possível para o seu ambiente. (Na versão Network o backup já é efetuado pela solução oficial)

Vamos então para o guia de sobrevivência:

Como eu implemento alta disponibilidade com balanceamento de carga e failover do serviço LDAP?

Essa implementação está disponível e explicada em dois artigos aqui no blog:

https://respirandolinux.com.br/2018/01/31/zimbra-implementando-ldap-em-multi-master/

https://respirandolinux.com.br/2017/01/24/zimbra-comportamento-de-fallback-das-urls-ldap_url-e-ldap_master_url/

Tenho mais de uma interface de rede e o LDAP do Zimbra está escutando em apenas uma delas, como faço para alterar isso?

Essa implementação também já está disponível e explicada em artigo aqui no blog:

https://respirandolinux.com.br/2018/02/01/zimbra-configurar-o-ldap-para-escutar-em-multiplas-interfaces/

Onde ficam os logs do LDAP do Zimbra?

Os logs do LDAP do Zimbra são registrados em /var/log/zimbra.log, identificados como “slapd”. É muito útil monitorar esse log para verificar a saúde da sua base.

Como consultar o status da replicação do LDAP?

O status da replicação do LDAP pode ser consultado com o comando “/opt/zimbra/libexec/zmreplchk” , que deve sempre retornar “Code: 0 Status: In Sync CSNs” informando os CSNs.

O “Code: 6” com poucos segundos/minutos de atraso também pode ser considerado normal, depende muito do volume de transações no seu LDAP.

Meu LDAP não inicia, como posso recuperar?

Eu costumo seguir o artigo sobre recuperação (export/import) da wiki oficial da Zimbra:

https://wiki.zimbra.com/wiki/LDAP_data_import_export

Esse artigo pode ser utilizado a partir da versão 8.0 e está válido para as versões 8.8 e 9.0, as mais atuais disponíveis no momento.

Recuperando servidores LDAP single server com a base corrompida:

su - zimbra

/opt/zimbra/libexec/zmslapcat /tmp 

(Sim, é possível exportar a própria base para uma possível recuperação, caso tenha um backup recente, também pode ser utilizado)

--- verificar arquivo /tmp/ldap.bak

ldap stop

cd /opt/zimbra/data/ldap
mv mdb mdb.old
mkdir -p mdb/db

/opt/zimbra/libexec/zmslapadd /tmp/ldap.bak

ldap start

Recuperando servidores Multi-Master com a base corrompida ou com problema de sincronismo:

Para servidores LDAP replicados, você terá que definir um servidor que esteja com a base integra e atualizada para efetuar a exportação.

Servidor que será utilizado para a exportação:

su - zimbra
/opt/zimbra/libexec/zmslapcat /tmp

--- verificar arquivo /tmp/ldap.bak

Servidor Master que irá receber a base:

--- copiar o /tmp/ldap.bak gerado no servidor integro para o diretório /tmp

ldap stop

cd /opt/zimbra/data/ldap
mv mdb mdb.old
mv accesslog accesslog.old
mkdir -p mdb/db
mkdir -p accesslog/db
/opt/zimbra/libexec/zmslapadd /tmp/ldap.bak

ldap start

Recuperando servidores Replica com a base corrompida ou com problema de sincronismo:

Servidor que será utilizado para a exportação:

su - zimbra
/opt/zimbra/libexec/zmslapcat /tmp

--- verificar arquivo /tmp/ldap.bak

Servidores replica que irão receber a base:

--- copiar o /tmp/ldap.bak gerado no servidor integro para o /tmp

ldap stop

cd /opt/zimbra/data/ldap
mv mdb mdb.old
mkdir -p mdb/db

/opt/zimbra/libexec/zmslapadd /tmp/ldap.bak

ldap start

6 comentários sobre “Zimbra: Guia de sobrevivência: LDAP

  1. Muito bom o material, me ajudou bastante, parabéns !!! Eu tenho uma dúvida se puder me ajudar eu fico muito agradecido kkkkk sabe me dizer até quantos usuarios eu poderia ter em apenas uma base do ldap? digo sem precisar utilizar um multi-master…

    1. Olá Guilherme, obrigado pelo acesso e fico feliz que o blog tem te ajudado.

      Pelo que conheço do ldap não há nenhuma limitação sobre o tamanho da base, tudo dependerá da quantidade de transações e carga no serviço.

      1. Fabio, preciso de uma consultoria sua, você presta esse tipo de serviço? Como posso entrar em contato com você para conversarmos e te mostrar o nosso cenário.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s