Ícone do site CooperaTI

Replicação da base LDAP


O OpenLDAP fornece dois programas para replicar a base de dados.
O primeiro e o mais antigo é o slurpd (obsoleto). Trabalha de acordo com os eventos gerados no arquivo de log e só trabalha com sincronização baseada em evento. Neste modelo é o servidor que inicia a réplica. Apenas as mudanças feitas depois da última sincronização serão transmitidas.

O segundo é o syncrepl, disponível apartir da versão do OpenLDAP 2.2, que é baseada no status da réplica e a sincronização acontece em períodos determinados de tempo ou baseada em eventos. Neste modelo é o cliente que inicia a réplica. Trabalha no modelo de sincronização completa, onde é feita a réplica de todas as alterações e as diferenças entre o master e o slave.
O syncrepl é um programa de réplica embutido dentro do OpenLDAP. Ele é mais flexível e tem mais opções, comparado ao slurpd (obsoleto).
Com o syncrepl, é possível replicar somente parte da base de dados do usuário ou também replicar a árvore completa. Ele oferece parâmetros que aumentam a segurança e o desempenho na hora da réplica. Por exemplo, você poderá especificar que replicará apenas usuários que tenham o parâmetro do homedir igual a /home/filial1.
As principais características do syncrepl são:

Como o syncrepl, o servidor backup não precisa ter uma base de dados inicial, adicionada manualmente para começar a réplica. Ao pedir um update da base, toda a estrutura é replicada. Isto pode ser feito em intervalos de tempo determinados, ou pelo fornecimento de uma conexão persistente. A conexão persistente foi inventada para ser o meio mais eficiente quando a largura de banda da rede permiti-la.
No slave (servidor de backup), o syncrepl necessita saber em qual modalidade trabalhará:
refreshOnly, que determina o intervalo de tempo para fazer a sincronização
O Intervalo é definido dessa forma:
interval=00:00:10:00 (DD:HH:MM:SS)
Nesse caso a sincronização será realizada a cada 10 minutos.
refreshAndPersist, que trabalha com uma conexão persistente.
Em vez de utilizar um intervalo de tempo, temos que definir o retry.
retry=30,10,300,+
No caso de erro a cada 30 segundos, ele fará dez tentativas. Em caso de erro, esperará 300 segundos para fazer novas tentativas. O “+” indica que serão feitas infinitas tentativas.
Mãos a obra, precisaremos do primeiro servidor configurado como no post da primeira configuração do LDAP:
Configuração inicial do LDAP
Ok, feito isso iremos preparar nosso servidor como master – master (mirrormode)
Master001
Acrescentar e alterar as seguintes linhas no slapd.conf:


➤ Conheça nossas soluções em nuvem: https://k2cloud.com.br


 

Feito as devidas alterações, vamos reiniciar o slapd do MASTER001:
# /etc/init.d/slapd restart
Para o outro master iremos utilizar a mesma configuração inicial do MASTER001, mas neste caso não adicionaremos os ldifs.
Master002
Acrescentar e alterar as seguintes linhas no slapd.conf:

Reiniciar o slave:
# /etc/init.d/slapd restart
Vamos realizar uma consulta e verificar se os dados do MASTER001 já foram transferidos.
# ldapsearch -x -D cn=admin,dc=cooperati,dc=local -W
Se não houve nenhum erro a consulta feita retornou todos os dados registrados em MASTER001 e a partir desse ponto será possível adicionar registros em qualquer um dos servidores e o mesmo será replicado para o outro servidor.
Espero que tenham gostado do post. Comente e não deixem de assinar o nosso portal.

Sair da versão mobile