Replicação com Open LDAP PDF Imprimir E-mail
Escrito por Ronaldo Meneguite   
Ter, 23 de Fevereiro de 2010 08:48

Replicação é a manutenção de uma cópia, seja parcial ou total, dos dados em outros servidores, este é um método muito utilizado quando trabalhamos em um ambiente corporativo, onde temos a necessidade de alta disponibilidade nos serviços.

No OpenLDAP existem duas técnicas distintas de replicação, as quais são o slurpd e o syncrepl, sendo que a slurpd, é uma técnica mais antiga a qual foi descontinuada na versão 2.4 do OpenLDAP , por possuir uma série de limitações que foram supridas por sua sucessora a syncrepl. As principais limitações eram a replicação parcial de uma base e a utilização de mais de um servidor Master.

Quando trabalhamos com o syncrepl o servidor LDAP pode assumir duas posturas quanto à replicação, Master ou Slave. Quando Master o servidor assume todas as funções de um servidor OpenLDAP , desde a inserção, atualização e consulta dos dados. Porém quando slave o servidor só aceitará execuções de consultas em sua base de dados quando originadas de máquinas clientes, assim para que qualquer informação seja alterada, a solicitação deverá ser feita ao servidor Master o qual se encarregará de replicar as alterações para seus servidores slaves.

 

1. Replicação Master x Slave

 

Nesse método de replicação temos um único servidor Master o qual tem seu conteúdo replicado em todos os seus servidores slaves. Nesses servidores slaves não ocorre entrada de dados, apenas replicam passivamente os dados de um servidor principal. Esse método de replicação é o mais comum e atende a grande parte das demandas de servidores LDAP.

 

2. Replicação Master x Master (multimaster)

 

Replicação multimaster é um método de replicação mais recente no OpenLDAP, porém já implementado no Active Directory desde suas primeiras versões. Esta é uma replicação que atende a demandas muito singulares e apesar de funcionar muito bem ainda é pouco difundida e aplicada.

Esta replicação consiste na utilização de dois ou mais servidores Masters, independentes, os quais possuem todas as suas funcionalidades ativadas, porém é criado por parte dos servidores um controle interno para que seja possível manter a integridade dos dados, algo que era muito mais simples de controlar quando existia uma única entrada de dados.

 

3. Diretórios Distribuídos

 

Utilizando o OpenLDAP com o método de replicação syncrepl podemos não somente criar uma cópia da árvore de diretórios em outros servidores, mas também criar políticas de replicação e replicar a cada servidor somente aquilo que se pretende que o mesmo tenha acesso, assim por exemplo, quando temos uma empresa com sede em Minas Gerais e filial em São Paulo, a mesma não precisa replicar toda sua base para a filial, apenas aqueles usuários que a pertençam, evitando assim um tráfego desnecessário na rede além de aumentar a segurança.




4. Exemplo de configuração

Bom abaixo iremos apresentar um exemplo de configuração de replicação para o OpenLDAP nos fazendo uso da estrutura Master x Slave. Consideraremos que já possui dois servidores configurados com o servidor OpenLDAP instalado e funcionando, assim apenas demonstraremos os parâmetros relacionados as replicações entre os servidores. A distribuição utilizada foi o debian 5 e o OpenLDAP na versão 2.4.9.

 

4.1 Configuração Master x Slave

4.1.1 Configurando o servidor MASTER

Inicialmente o arquivo a ser alterado é o arquivo principal de configuração do OpenLDAP o /etc/ldap/slapd.conf, alterando o parâmetro modulepath para syncprov e inserindo as seguintes linhas logo abaixo da opção “índex”:

 

overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100


Devemos Inserir também junto a ACL responsável pelos atributos de senha, userPassword e shadowLastChange a seguinte linha:

by dn="cn=replicator,dc=dominio,dc=com,dc=br" read


Assim inserimos a permissão para o usuário replicador, ao qual deve ser criado anteriormente, ler os campos de senha dos usuários, pois sem o acesso a leitura ele não conseguiria efetuar a replicação completa da base. Neste ponto foi reiniciado o servidor com o comando:

 

/etc/init.d/slapd restart


4.1.2 Configurando o servidor SLAVE

Iniciaremos a configuração do servidor slave editando o arquivo de configuração /etc/ldap/slapd.conf e removendo o caracter # antes da linha “rootdn”, e logo após inserimos as seguintes linhas abaixo de “index”:

syncrepl rid=1
provider=ldap:// servidor1.dominio.com.br:389
type=refreshAndPersist
retry="5 + 5 +"
interval=00:00:00:10
searchbase="dc=dominio,dc=com,dc=br"
filter="(objectClass=*)"
scope=sub
attrs="*"
schemachecking=on 41
bindmethod=simple
binddn="cn=replicator,dc=dominio,dc=com,dc=br"
credentials=senha_do_usuario_replicator


Após os procedimentos acima citados, paramos o servidor OpenLDAP , removemos os diretórios e novamente iniciamos o servidor, para isso utilizamos as seguintes linhas de comando:

/etc/init.d/slapd stop
rm /var/lib/ldap/*
/etc/init.d/slapd start

 

Assim temos agora os dois servidores configurados, sendo que os dados do servidor1.dominio.com.br estão sendo replicados para o servidor2.dominio.com.br, porém o mesmo não tem autoridade sobre os dados fazendo com que para alterarmos qualquer informação na base, teremos que fazer isso no servidor1.dominio.com.br e essa atualização será replicada de imediato para o servidor slave.

 

 

Última atualização em Ter, 23 de Fevereiro de 2010 10:47
 

Adicionar comentário

Seu apelido/nome:
seu email:
Assunto:
Comentário:
Valid XHTML 1.0 Transitional CSS valido!