architecture d'annuaire hautement
disponible avec OpenLDAP
Solutions Linux – 21/05/2014
David Coutadeur
21 mai 2014 Solutions Linux 2014 2
À propos du conférencier
21 mai 2014 Solutions Linux 2014 3
David Coutadeur
● Ingénieur en identité Open-Source depuis 2010 à
LINAGORA
● Expérience...
21 mai 2014 Solutions Linux 2014 4
Plan
● présentation d'OpenLDAP (2)
● points forts
● comparatif avec d'autres annuaires
...
21 mai 2014 Solutions Linux 2014 5
OpenLDAP
21 mai 2014 Solutions Linux 2014 6
Présentation d'OpenLDAP
● Issu du serveur LDAP
de l'université du
Michigan
● Projet ini...
21 mai 2014 Solutions Linux 2014 7
Présentation d'OpenLDAP
● Version stable actuelle : OpenLDAP 2.4 (octobre 2007)
● Versi...
21 mai 2014 Solutions Linux 2014 8
Points forts
● Performances / Efficacité
● Nombreux backends (stockage, proxy, meta)
● ...
21 mai 2014 Solutions Linux 2014 9
Comparatif avec d'autres annuaires
openLDAP OpenDJ
Apache
Directory
Server
Oracle
Direc...
21 mai 2014 Solutions Linux 2014 10
Nouveau mode de configuration
cn=config
● La configuration se trouve dans l'annuaire (...
21 mai 2014 Solutions Linux 2014 11
Protocole de réplication
● « LDAP Content Synchronization Operation », RFC 4533
● Impl...
21 mai 2014 Solutions Linux 2014 12
Envoi d'entrées
Mise à jour
terminée
Nouveau cookie
Envoi d'entrées
modifiées et / ou
...
21 mai 2014 Solutions Linux 2014 13
Implémentation syncrepl
● Pas de maintien d'historique des changements
● Attributs opé...
21 mai 2014 Solutions Linux 2014 14
Architectures syncrepl
● Réplication multi-maîtres
– Les instances sont à la fois maît...
21 mai 2014 Solutions Linux 2014 15
Logiciels libres de HA
● Heartbeat
– Solution de reprise sur échec en GNU/GPL
– Survei...
21 mai 2014 Solutions Linux 2014 16
● Pacemaker / corosync
– Pacemaker : gestionnaire de ressources
– Corosync : moteur de...
21 mai 2014 Solutions Linux 2014 17
● haproxy
– Logiciel très léger (819 Ko) en C de répartition de charge
– Écrit en 2000...
21 mai 2014 Solutions Linux 2014 18
● IPVS / Keepalived / piranha
– IP Virtual Server : système de répartition de charge a...
21 mai 2014 Solutions Linux 2014 19
Assemblons tous ces composants
21 mai 2014 Solutions Linux 2014 20
Quelques exemples d'architectures d'annuaires
Quelques chiffres
● VM vmware
● 4 CPU
● ...
21 mai 2014 Solutions Linux 2014 21
Quelques exemples d'architectures d'annuaires
Quelques chiffres
● VM vmware
● 2 VCPU (...
21 mai 2014 Solutions Linux 2014 22
C'est la fin... Bientôt !
21 mai 2014 Solutions Linux 2014 23
Conclusion
● L'objectif est rempli :
– 1 solution d'annuaire de niveau
professionnel.....
21 mai 2014 Solutions Linux 2014 24
Remerciements
● Un grand merci !
– À l'organisation de Solutions Linux
– À Linagora
– ...
21 mai 2014 Solutions Linux 2014 25
Des questions ?
Prochain SlideShare
Chargement dans…5
×

Architecture d'annuaire hautement disponible avec OpenLDAP

1 135 vues

Publié le

Présentation donnée lors du salon Solutions Linux 2014 par David COUTADEUR, Intégrateur LinID, Linagora.

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 135
Sur SlideShare
0
Issues des intégrations
0
Intégrations
57
Actions
Partages
0
Téléchargements
24
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Architecture d'annuaire hautement disponible avec OpenLDAP

  1. 1. architecture d'annuaire hautement disponible avec OpenLDAP Solutions Linux – 21/05/2014 David Coutadeur
  2. 2. 21 mai 2014 Solutions Linux 2014 2 À propos du conférencier
  3. 3. 21 mai 2014 Solutions Linux 2014 3 David Coutadeur ● Ingénieur en identité Open-Source depuis 2010 à LINAGORA ● Expériences dans des migrations SUN/Oracle vers OpenLDAP ● Integrateur des solutions LinID http://linid.org ● Membre de l'équipe LTB : http://ltb-project.org ● Membre de l'équipe LSC : http://lsc-project.org ● Membre de la core-team de LemonLDAP::NG http://lemonldap-ng.org
  4. 4. 21 mai 2014 Solutions Linux 2014 4 Plan ● présentation d'OpenLDAP (2) ● points forts ● comparatif avec d'autres annuaires ● nouveau mode de configuration cn=config ● protocole de réplication (2) ● implémentation syncrepl ● Architectures syncrepl ● Logiciels libres de HA - heartbeat - pacemaker / corosync - haproxy - keepalived / IPVS / piranha ● quelques exemples d'architectures d'annuaires - architecture 1 - architecture 2 ● conclusion
  5. 5. 21 mai 2014 Solutions Linux 2014 5 OpenLDAP
  6. 6. 21 mai 2014 Solutions Linux 2014 6 Présentation d'OpenLDAP ● Issu du serveur LDAP de l'université du Michigan ● Projet initié en 1998 (OpenLDAP v1), avec support LDAPv2 ● Conforme LDAPv3 en 2000 (OpenLDAP v2) ● Codé en C
  7. 7. 21 mai 2014 Solutions Linux 2014 7 Présentation d'OpenLDAP ● Version stable actuelle : OpenLDAP 2.4 (octobre 2007) ● Version 2.5 en construction. Version 3 envisagée dans la roadmap ● 3 développeurs principaux : – Howard Chu, – Pierangelo Masarati, – Kurt Zeilenga ● Plusieurs backends de stockage : bdb, hdb, lmdb ● Extensible via des overlays : politiques de mots de passe, groupes dynamiques, intégrité référentielle, réécriture des requêtes à la volée ● Nouveau backend de configuration cn=config
  8. 8. 21 mai 2014 Solutions Linux 2014 8 Points forts ● Performances / Efficacité ● Nombreux backends (stockage, proxy, meta) ● Options de sécurité : SSL, SASL, ACLs, ACL sets, limites (en taille et en temps) ● Nombreuses extensions – 18 overlays officiels à ce jour – 15 overlays contribués, disponibles dans les sources, mais à compiler ● Documentation relativement complète ● Et évidemment : opensource
  9. 9. 21 mai 2014 Solutions Linux 2014 9 Comparatif avec d'autres annuaires openLDAP OpenDJ Apache Directory Server Oracle Directory Server Active Directory éditeur communau -taire ForgeRock Fondation Apache Oracle Microsoft maturité 16 ans (09/1998) 4 ans (12/2010) 12 ans (10/2002) 16 ans (1998) 18 ans (1996) technologie C java java C C, C++,C# ? Réplication multi-maître √ √ √ √ √ Console d'administra- tion X √ √ √ √ Open-source (license) √ (OpenLDAP Public License) √ (CDDL 1.0) √ (Apache 2.0) X X Autres embarquable embarquable Performances / efficacité +++ +++ + ++ -
  10. 10. 21 mai 2014 Solutions Linux 2014 10 Nouveau mode de configuration cn=config ● La configuration se trouve dans l'annuaire ( >= 2.3) ● Possibilité de réplication de la configuration entre annuaires ● Certains paramètres sont pris en considération immédiatement (compte super-administrateur et son mot de passe) ● Possibilité d'administrer l'annuaire à distance ● Attention aux erreurs de configuration en cas de réplication !
  11. 11. 21 mai 2014 Solutions Linux 2014 11 Protocole de réplication ● « LDAP Content Synchronization Operation », RFC 4533 ● Implémenté par « syncrepl » dans OpenLDAP ● Objectifs : – Moins verbeux qu'un simple polling – Convergent (inconsistances transitoires) – Support du polling et du listening – Support de la synchronisation partielle – Ne nécessite pas de « contrat » de synchronisation – Ne nécessite pas de maintenir des états par client – Ne nécessite pas de maintenir des historiques des changements
  12. 12. 21 mai 2014 Solutions Linux 2014 12 Envoi d'entrées Mise à jour terminée Nouveau cookie Envoi d'entrées modifiées et / ou de messages « supprimés » Terminé avec ce cookie Accuse réception de l'arrêt Terminé avec ce cookie Arrêt (cancel) Requête initiale Envoi des entrées présentes Envoi des entrées modifiées Requête initiale Protocole de réplication ● Deux modes : Refresh Only = polling Refresh and Persist = listening Envoi d'entrées Terminé avec ce cookie Requête de mise à jour de contenu Boucle Boucle
  13. 13. 21 mai 2014 Solutions Linux 2014 13 Implémentation syncrepl ● Pas de maintien d'historique des changements ● Attributs opérationnels supplémentaires : – Pour chaque entrée : ● entryUUID / parentUUID cfbebb8a-64c0-1033-80c5-7b0923a7f955 ● entryCSN : mis à jour à chaque modification 20140430143816.912528Z#000000#000#000000 – Pour le contexte : ● contextCSN : 20140430144831.206763Z#000000#000#000000 ● Attention à les indexer !
  14. 14. 21 mai 2014 Solutions Linux 2014 14 Architectures syncrepl ● Réplication multi-maîtres – Les instances sont à la fois maîtres et esclaves ● Multi-maîtres à N instances – Évite le SPOF, vraie solution de failover, mais... – Convergence difficile en cas d'écriture simultanée sur de multiples points d'entrée – Casse la cohérence forte des données apportée par X500. (inconsistances transitoires) ● Mode mirroir – Équipement en frontal vient jouer le rôle de failover entre deux maîtres ● Réplication Delta-syncrepl – Maintien d'un changelog – + efficace dans le cas d'écritures fréquentes sur de grosses entrées
  15. 15. 21 mai 2014 Solutions Linux 2014 15 Logiciels libres de HA ● Heartbeat – Solution de reprise sur échec en GNU/GPL – Surveillance des services compatibles « LSB » – Fournit des services intégrés : maintien d'une adresse IP virtuelle – Battement de cœur entre instances des nœuds (broadcast, multicast, unicast, ping) – Quelques stratégies de migration des ressources (ordre, groupe) – Administration des ressources : fichier plat / fichier XML / en ligne de commande – Pas de gestion fine des ressources, de la politique de migration – En perte de vitesse...
  16. 16. 21 mai 2014 Solutions Linux 2014 16 ● Pacemaker / corosync – Pacemaker : gestionnaire de ressources – Corosync : moteur de cluster – Corosync : support de petits ou larges clusters, détection et récupération de nœuds, support des quorums, de ring – Pacemaker : ● primitives LSB, OCF, systemd,... ● Ensemble de primitives : groupe, clone,... ● Contraintes : Location, Ordering, Colocation,... ● Configuration XML, gestion par GUI ou par ligne de commande, surveillance des nœuds – Pas de répartition de charge ! – Gestion de ressources peu utile, car en général, tous les annuaires sont démarrés
  17. 17. 21 mai 2014 Solutions Linux 2014 17 ● haproxy – Logiciel très léger (819 Ko) en C de répartition de charge – Écrit en 2000 (14 ans), dernière version : 1.4.25 – Présent dans des infrastructures web connues : Amazon Web Services, Stack Overflow, Twitter,... – Réputé très stable, rapide et efficace – Fonctionne aux niveaux transport (4) et application (7) – Nombreux algorithmes de répartition : roundrobin, par poids, par connexion la moins chargée, par hash de l'ip source, par hash du l'URI demandée, par en-tête HTTP,... – Vérification du service au niveau TCP, HTTP, LDAP
  18. 18. 21 mai 2014 Solutions Linux 2014 18 ● IPVS / Keepalived / piranha – IP Virtual Server : système de répartition de charge agissant au niveau transport (4), implémenté au niveau noyau – Linux Virtual Server : groupe de serveurs apparaissant comme un seul serveur pour les clients – Keepalived : logiciel de routage écrit en C et basé sur IPVS et LVS ● Permet la reprise sur échec (via mécanisme de VIP et protocole VRRP), et la répartition de charge ● Surveillance des services prise en charge en interne par requêtes TCP (possibilité de scripts externes) ● Répartition de charge impose des contraintes réseau lourdes – Piranha : Service proche de keepalived, mais basé sur des signaux « je suis en vie » (heartbeat) échangés entre nœuds. ● Propose une interface d'administration ● Présent en standard sur Red-Hat
  19. 19. 21 mai 2014 Solutions Linux 2014 19 Assemblons tous ces composants
  20. 20. 21 mai 2014 Solutions Linux 2014 20 Quelques exemples d'architectures d'annuaires Quelques chiffres ● VM vmware ● 4 CPU ● 6Go de RAM ● Réseau : 1Gbit/s ● + 80 000 comptes Performances minimum ● 5 écritures/s ● 1000 lectures/s
  21. 21. 21 mai 2014 Solutions Linux 2014 21 Quelques exemples d'architectures d'annuaires Quelques chiffres ● VM vmware ● 2 VCPU (1,5Ghz) ● 4Go de RAM ● Réseau : 100Mbits/s ● Backend bdb ● 120 000 comptes ● 21 écritures/s ● Lectures : facteur 50
  22. 22. 21 mai 2014 Solutions Linux 2014 22 C'est la fin... Bientôt !
  23. 23. 21 mai 2014 Solutions Linux 2014 23 Conclusion ● L'objectif est rempli : – 1 solution d'annuaire de niveau professionnel... – capable de gérer la réplication – 4 solutions de haute disponibilité compatibles et performantes ● Le tout uniquement avec de l'open-source !
  24. 24. 21 mai 2014 Solutions Linux 2014 24 Remerciements ● Un grand merci ! – À l'organisation de Solutions Linux – À Linagora – À la communauté OpenLDAP ● Restons connectés – IRC: stryg #lemonldap-ng@freenode – Mail: dcoutadeur@linagora.com
  25. 25. 21 mai 2014 Solutions Linux 2014 25 Des questions ?

×