OpenLdap: Replicação, disponibilidade e escalabilidade Sérgio Cioban Filho cioban@gmail.com http://cioban.googlepages.com
Roteiro O que é Ldap Utilização do Ldap Porque replicar as bases Ldap Replicação com o Slurp Replicação com o SyncRepl Singlemaster Mirrormode Multimaster Quando utilizar a replicação OpenLdap Conclusão
O que é Ldap Lightweight Directory Access Protocol Roda sobre TCP/IP É uma arvore de objetos, cada objeto tem seu conjunto de atributos. É um organizador hierárquico de informações de uma rede, que podem ou não serem distribuídas por servidor. Analogia a um banco de dados hierárquico Otimizado para dar respostas rápidas
O que é Ldap DNS Hierarquia http://www.ti.linuxcorp.com.br. (Root servers).br.com.linuxcorp.ti www
O que é Ldap ou=ti,o=linuxcorp,c=br c=br uid=user1,ou=ti,o=linuxcorp,c=br uid=user2,ou=ti,o=linuxcorp,c=br c=br o=linuxcorp o=linuxcorp ou=ti ou=ti uid=user1 uid=user2
Utilização do Ldap Autenticação Principal utilização Catálogo de endereços Zonas DNS Armazenamento de certificados digitais Armazenamento de informações do funcionário Armazenamento de informações da rede Armazenamento de configurações
Utilização do Ldap Softwares Samba Qmail Proftpd Squid Bind PHP PAM (Autenticação do sistema)
Replicação OpenLdap
Replicação de bases LDAP Manter bases Ldap armazenadas em servidores distintos, completamente (ou parcialmente) iguais Podemos replicar toda a arvore ou apenas algumas regiões ou objetos. Replicação PUSH ou PULL PUSH: O servidor envia as mudanças PULL: O cliente coleta as mudanças
Porque replicar bases LDAP Economia de banda Distribuição de carga Garantia de serviço Alta disponibilidade Backup
Replicação com o SLURP Utiliza um daemon separado do slapd, o slurpd O servidor é quem envia as mudanças na base para o(s) cliente(s), modo PUSH. Os clientes necessitam estar disponíveis para receber as atualizações no momento em que o servidor envia. Foi totalmente removido da versão 2.4 Baseado em arquivo de log Em caso de falha, necessário intervenção manual
Replicação com o SLURP
Replicação com o SyncRepl Totalmente integrado no slapd LDAP Content Synchronization protocol Provê 3 modos de replicação: SingleMaster, MirrorMode e Multimaster Opera em PUSH ( Melhorado ) ou PULL O cliente sempre solicita as mudanças para o servidor independente da forma de operação. A base cliente não necessita ser previamente carregada Pode se replicar qualquer ponto da base Mais tolerante a falhas
Replicação com o SyncRepl Replicação SingleMaster Existe apenas um servidor da rede que recebe escrita Todos os outros servidores devem encaminhar as escritas na base Ldap para o servidor Master. Esta configuração é chamada UpdateRef Em caso de falha do servidor Master, a rede fica sem um servidor que receba escrita de dados Ldap
Replicação com o SyncRepl Replicação SingleMaster em modo PULL De tempos em tempos o cliente solicita as alterações
Replicação com o SyncRepl Replicação SingleMaster em modo PUSH Primeiramente o cliente solicita as alterações Após, o servidor estabelece conexão e envia as alterações
Replicação com o SyncRepl Replicação MirrorMode Opera da mesma forma que o SingleMaster, porém 2 servidores operam como master e replicam suas bases entre si Os dois servidores Master podem receber atualizações (escritas), porém somente 1 por vez A escolha do servidor Master ativo deve ser feita por um árbitro externo Provê um cenário básico de LoadBalance e FailOver
Replicação com o SyncRepl Replicação MirrorMode
Replicação com o SyncRepl Replicação MultiMaster Todos os servidores do pool são master e por conta disso podem receber escritas Toda alteração é então replicada para os outros servidores A base se mantém igual em todos os servidores, não importando em qual servidor seja realizada a alteração Pode ser utilizado em um cenário complexo de balanceamento de carga e/ou alta disponibilidade
Replicação com o SyncRepl Replicação MuiltMaster
Quando utilizar a replicação OpenLdap Ambientes de missão crítica Muitos serviços dependem do Ldap Samba, Squid, Qmail, Aplicativos, Apache, etc Redes separadas geograficamente, mas que necessitem da mesma base Muitos acessos ao servidor
Conclusão Com o crecimento da utilização do OpenLdap, temos que ter a segurança que o serviço nunca pare, pois outros serviços da rede dependem dele A replicação OpenLdap é uma ótima escolha para se distribuir as bases em diversos servidores e garantir o funcionamento do OpenLdap em casos de falha Dependendo da utilização do OpenLdap, deve se escolher o modo correto de operação: SingleMaster, MirrorMode ou MultiMaster. Para balanceamento de carga sempre precisamos de um árbitro externo.
Referências www.openldap.org Documentação oficial do OpenLdap http://www.zytrax.com/books/ldap/ www.wikipedia.org
Dúvidas??? Sérgio Cioban Filho cioban@gmail.com http://cioban.googlepages.com Obrigado pela atenção