Architecture d'annuaire hautement disponible avec OpenLDAP

LINAGORA
LINAGORALINAGORA
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é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
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
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 initié en 1998
(OpenLDAP v1), avec
support LDAPv2
● Conforme LDAPv3 en
2000 (OpenLDAP v2)
● Codé en C
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
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
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é +++ +++ + ++ -
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 !
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
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
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 !
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
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...
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
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
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
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
● 6Go de RAM
● Réseau : 1Gbit/s
● + 80 000 comptes
Performances
minimum
● 5 écritures/s
● 1000 lectures/s
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
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...
– capable de gérer la réplication
– 4 solutions de haute disponibilité compatibles
et performantes
● Le tout uniquement avec de l'open-source !
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
21 mai 2014 Solutions Linux 2014 25
Des questions ?
1 sur 25

Recommandé

Industrialisez le développement et la maintenance de vos sites avec Drupal par
Industrialisez le développement et la maintenance de vos sites avec DrupalIndustrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec DrupalLINAGORA
1.3K vues49 diapositives
OpenStack - open source au service du Cloud par
OpenStack - open source au service du CloudOpenStack - open source au service du Cloud
OpenStack - open source au service du CloudLINAGORA
1.7K vues35 diapositives
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal par
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéalOpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéalJonathan Clarke
4.8K vues39 diapositives
Infrastructure as code drupal par
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupalChristophe Villeneuve
512 vues47 diapositives
OpenStack & DevOps, l'Open Source au service du Cloud par
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudMichel-Marie Maudet
2.4K vues47 diapositives
Présentation du marché P2I UGAP « Support sur Logiciels Libres » par
Présentation du marché P2I UGAP « Support sur Logiciels Libres »Présentation du marché P2I UGAP « Support sur Logiciels Libres »
Présentation du marché P2I UGAP « Support sur Logiciels Libres »LINAGORA
1.8K vues20 diapositives

Contenu connexe

Tendances

OpenStack dans la pratique par
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratiqueOsones
5.6K vues41 diapositives
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro... par
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...jihbed
506 vues41 diapositives
Support formation vidéo : Construire et administrer vos conteneurs avec Docker par
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSupport formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSmartnSkilled
379 vues144 diapositives
Codons notre infrastructure par
Codons notre infrastructureCodons notre infrastructure
Codons notre infrastructurecontinuousphp
3K vues80 diapositives
Open Source et contribution : Une association gagnante par
Open Source et contribution : Une association gagnanteOpen Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnanteChristophe Villeneuve
233 vues56 diapositives
Rex docker en production meeutp-docker-nantes par
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
914 vues39 diapositives

Tendances(20)

OpenStack dans la pratique par Osones
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratique
Osones5.6K vues
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro... par jihbed
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
jihbed506 vues
Support formation vidéo : Construire et administrer vos conteneurs avec Docker par SmartnSkilled
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSupport formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
SmartnSkilled379 vues
Séminaire LinID/LinPKI septembre 2011 par LINAGORA
Séminaire LinID/LinPKI septembre 2011Séminaire LinID/LinPKI septembre 2011
Séminaire LinID/LinPKI septembre 2011
LINAGORA936 vues
Solutions Linux2007 Déploiement D\'une Solution Libre d\'Inventaire Et De G... par Gonéri Le Bouder
Solutions Linux2007   Déploiement D\'une Solution Libre d\'Inventaire Et De G...Solutions Linux2007   Déploiement D\'une Solution Libre d\'Inventaire Et De G...
Solutions Linux2007 Déploiement D\'une Solution Libre d\'Inventaire Et De G...
Bases de données Spatiales - POSTGIS par Omar El Kharki
Bases de données Spatiales - POSTGISBases de données Spatiales - POSTGIS
Bases de données Spatiales - POSTGIS
Omar El Kharki2.5K vues
Retour AFUP du forumphp 2017 par AFUP_Limoges
Retour AFUP du forumphp 2017Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017
AFUP_Limoges87 vues
Systèmes d'Exploitation - chp3-gestion mémoire par Lilia Sfaxi
Systèmes d'Exploitation - chp3-gestion mémoireSystèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoire
Lilia Sfaxi18.6K vues
Software-Defined Storage par SUSE
Software-Defined StorageSoftware-Defined Storage
Software-Defined Storage
SUSE258 vues
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014] par ANEO
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
ANEO735 vues
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016 par Fabien Arcellier
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Fabien Arcellier1.4K vues

En vedette

Médias sociaux : être visible avant tout par
Médias sociaux : être visible avant toutMédias sociaux : être visible avant tout
Médias sociaux : être visible avant toutCibleWeb
460 vues21 diapositives
Téléphonie libre par
Téléphonie libreTéléphonie libre
Téléphonie libreLINAGORA
711 vues15 diapositives
Présentation du cabinet ISlean consulting par
Présentation du cabinet ISlean consultingPrésentation du cabinet ISlean consulting
Présentation du cabinet ISlean consultingISlean consulting
1.3K vues9 diapositives
LinSM par
LinSMLinSM
LinSMLINAGORA
867 vues13 diapositives
Web 2.0, SBS / ESS et collaboratif d'entreprise par
Web 2.0, SBS / ESS et collaboratif d'entrepriseWeb 2.0, SBS / ESS et collaboratif d'entreprise
Web 2.0, SBS / ESS et collaboratif d'entrepriseLINAGORA
977 vues15 diapositives
Vue d'avion d'un hébergeur libre par
Vue d'avion d'un hébergeur libreVue d'avion d'un hébergeur libre
Vue d'avion d'un hébergeur libreLINAGORA
725 vues15 diapositives

En vedette(20)

Médias sociaux : être visible avant tout par CibleWeb
Médias sociaux : être visible avant toutMédias sociaux : être visible avant tout
Médias sociaux : être visible avant tout
CibleWeb460 vues
Téléphonie libre par LINAGORA
Téléphonie libreTéléphonie libre
Téléphonie libre
LINAGORA711 vues
Présentation du cabinet ISlean consulting par ISlean consulting
Présentation du cabinet ISlean consultingPrésentation du cabinet ISlean consulting
Présentation du cabinet ISlean consulting
ISlean consulting1.3K vues
Web 2.0, SBS / ESS et collaboratif d'entreprise par LINAGORA
Web 2.0, SBS / ESS et collaboratif d'entrepriseWeb 2.0, SBS / ESS et collaboratif d'entreprise
Web 2.0, SBS / ESS et collaboratif d'entreprise
LINAGORA977 vues
Vue d'avion d'un hébergeur libre par LINAGORA
Vue d'avion d'un hébergeur libreVue d'avion d'un hébergeur libre
Vue d'avion d'un hébergeur libre
LINAGORA725 vues
OBM + Roundcube, intégration réussie par LINAGORA
OBM + Roundcube, intégration réussie OBM + Roundcube, intégration réussie
OBM + Roundcube, intégration réussie
LINAGORA1K vues
Prestations webmarketing de Cibleweb par CibleWeb
Prestations webmarketing de CiblewebPrestations webmarketing de Cibleweb
Prestations webmarketing de Cibleweb
CibleWeb355 vues
CapDémat Evolution plateforme de GRU pour collectivités par LINAGORA
CapDémat Evolution plateforme de GRU pour collectivitésCapDémat Evolution plateforme de GRU pour collectivités
CapDémat Evolution plateforme de GRU pour collectivités
LINAGORA1.9K vues
Trucs et astuces pour tout comprendre des licences libres par LINAGORA
Trucs et astuces pour tout comprendre des licences libresTrucs et astuces pour tout comprendre des licences libres
Trucs et astuces pour tout comprendre des licences libres
LINAGORA889 vues
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b... par Clément OUDOT
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...
Clément OUDOT1.9K vues
Dba oracle-v1 par infcom
Dba oracle-v1Dba oracle-v1
Dba oracle-v1
infcom5.1K vues
Examens Khaled Jouini ISITCOM ORACLE BD par infcom
Examens Khaled Jouini ISITCOM ORACLE BDExamens Khaled Jouini ISITCOM ORACLE BD
Examens Khaled Jouini ISITCOM ORACLE BD
infcom3.6K vues
60 raisons de pratiquer l'intelligence economique dans votre entreprise par Yann-Patrick KONAN
60 raisons de pratiquer l'intelligence economique dans votre entreprise60 raisons de pratiquer l'intelligence economique dans votre entreprise
60 raisons de pratiquer l'intelligence economique dans votre entreprise
Yann-Patrick KONAN6.1K vues
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ... par Ludovico Caldara
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...
Ludovico Caldara14K vues
Haute Disponibilité et Tolérance de Panne par Elior Boukhobza
Haute Disponibilité et Tolérance de PanneHaute Disponibilité et Tolérance de Panne
Haute Disponibilité et Tolérance de Panne
Elior Boukhobza6.3K vues
Architectures haute disponibilité avec MySQL par Olivier DASINI
Architectures haute disponibilité avec MySQLArchitectures haute disponibilité avec MySQL
Architectures haute disponibilité avec MySQL
Olivier DASINI8K vues

Similaire à Architecture d'annuaire hautement disponible avec OpenLDAP

Etat de l'art des systèmes embarqués, utilisation du logiciel libre par
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel librePierre Ficheux
1.6K vues46 diapositives
OpenShift en production - Akram Ben Assi & Eloïse Faure par
OpenShift en production - Akram Ben Assi & Eloïse FaureOpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse FaureParis Container Day
1.3K vues54 diapositives
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim... par
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Modern Data Stack France
2.4K vues23 diapositives
REX Openshift à la Poste par
REX Openshift à la PosteREX Openshift à la Poste
REX Openshift à la PosteMembré Guillaume
1.4K vues53 diapositives
Alphorm.com Support de la Formation PromoxVE 4.x par
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm
23.9K vues286 diapositives
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014 par
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014O10ée
1K vues48 diapositives

Similaire à Architecture d'annuaire hautement disponible avec OpenLDAP(20)

Etat de l'art des systèmes embarqués, utilisation du logiciel libre par Pierre Ficheux
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Pierre Ficheux1.6K vues
OpenShift en production - Akram Ben Assi & Eloïse Faure par Paris Container Day
OpenShift en production - Akram Ben Assi & Eloïse FaureOpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse Faure
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim... par Modern Data Stack France
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Alphorm.com Support de la Formation PromoxVE 4.x par Alphorm
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.x
Alphorm23.9K vues
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014 par O10ée
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
O10ée1K vues
Formation linux temps réel - Malakoff 7 octobre 2014 par eurogicielgroup
Formation linux temps réel - Malakoff 7 octobre 2014Formation linux temps réel - Malakoff 7 octobre 2014
Formation linux temps réel - Malakoff 7 octobre 2014
eurogicielgroup163 vues
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter... par XavierPestel
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
XavierPestel808 vues
Formation linux temps réel - Rennes 14 octobre 2014 par eurogicielgroup
Formation linux temps réel  - Rennes 14 octobre 2014Formation linux temps réel  - Rennes 14 octobre 2014
Formation linux temps réel - Rennes 14 octobre 2014
eurogicielgroup300 vues
Formation linux temps réel - Toulouse 4 novembre 2014 par eurogicielgroup
Formation linux temps réel - Toulouse 4 novembre 2014Formation linux temps réel - Toulouse 4 novembre 2014
Formation linux temps réel - Toulouse 4 novembre 2014
eurogicielgroup215 vues
BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ... par Cédrick Lunven
BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...
BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...
Cédrick Lunven14 vues
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ... par Jérôme Petazzoni
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Jérôme Petazzoni5.2K vues
Cours Devops Sparks.pptx.pdf par boulonvert
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
boulonvert474 vues
Apache Cassandra - Concepts et fonctionnalités par Romain Hardouin
Apache Cassandra - Concepts et fonctionnalitésApache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalités
Romain Hardouin3K vues
Autour de Node.js - TechConf#3 par Luc Juggery
Autour de Node.js - TechConf#3Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3
Luc Juggery1K vues
2014.12.11 - TECH CONF #3 - Présentation Node.js par TelecomValley
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js
TelecomValley1.1K vues

Plus de LINAGORA

Personal branding : e-recrutement et réseaux sociaux professionnels par
Personal branding : e-recrutement et réseaux sociaux professionnels Personal branding : e-recrutement et réseaux sociaux professionnels
Personal branding : e-recrutement et réseaux sociaux professionnels LINAGORA
1.4K vues73 diapositives
Construisons ensemble le chatbot bancaire dedemain ! par
Construisons ensemble le chatbot bancaire dedemain !Construisons ensemble le chatbot bancaire dedemain !
Construisons ensemble le chatbot bancaire dedemain !LINAGORA
732 vues60 diapositives
ChatBots et intelligence artificielle arrivent dans les banques par
ChatBots et intelligence artificielle arrivent dans les banques ChatBots et intelligence artificielle arrivent dans les banques
ChatBots et intelligence artificielle arrivent dans les banques LINAGORA
2.9K vues51 diapositives
Deep Learning in practice : Speech recognition and beyond - Meetup par
Deep Learning in practice : Speech recognition and beyond - MeetupDeep Learning in practice : Speech recognition and beyond - Meetup
Deep Learning in practice : Speech recognition and beyond - MeetupLINAGORA
6.8K vues56 diapositives
Advanced Node.JS Meetup par
Advanced Node.JS MeetupAdvanced Node.JS Meetup
Advanced Node.JS MeetupLINAGORA
2K vues59 diapositives
Call a C API from Python becomes more enjoyable with CFFI par
Call a C API from Python becomes more enjoyable with CFFICall a C API from Python becomes more enjoyable with CFFI
Call a C API from Python becomes more enjoyable with CFFILINAGORA
1.1K vues47 diapositives

Plus de LINAGORA(20)

Personal branding : e-recrutement et réseaux sociaux professionnels par LINAGORA
Personal branding : e-recrutement et réseaux sociaux professionnels Personal branding : e-recrutement et réseaux sociaux professionnels
Personal branding : e-recrutement et réseaux sociaux professionnels
LINAGORA1.4K vues
Construisons ensemble le chatbot bancaire dedemain ! par LINAGORA
Construisons ensemble le chatbot bancaire dedemain !Construisons ensemble le chatbot bancaire dedemain !
Construisons ensemble le chatbot bancaire dedemain !
LINAGORA732 vues
ChatBots et intelligence artificielle arrivent dans les banques par LINAGORA
ChatBots et intelligence artificielle arrivent dans les banques ChatBots et intelligence artificielle arrivent dans les banques
ChatBots et intelligence artificielle arrivent dans les banques
LINAGORA2.9K vues
Deep Learning in practice : Speech recognition and beyond - Meetup par LINAGORA
Deep Learning in practice : Speech recognition and beyond - MeetupDeep Learning in practice : Speech recognition and beyond - Meetup
Deep Learning in practice : Speech recognition and beyond - Meetup
LINAGORA6.8K vues
Advanced Node.JS Meetup par LINAGORA
Advanced Node.JS MeetupAdvanced Node.JS Meetup
Advanced Node.JS Meetup
LINAGORA2K vues
Call a C API from Python becomes more enjoyable with CFFI par LINAGORA
Call a C API from Python becomes more enjoyable with CFFICall a C API from Python becomes more enjoyable with CFFI
Call a C API from Python becomes more enjoyable with CFFI
LINAGORA1.1K vues
[UDS] Cloud Computing "pour les nuls" (Exemple avec LinShare) par LINAGORA
[UDS] Cloud Computing "pour les nuls" (Exemple avec LinShare)[UDS] Cloud Computing "pour les nuls" (Exemple avec LinShare)
[UDS] Cloud Computing "pour les nuls" (Exemple avec LinShare)
LINAGORA563 vues
Angular v2 et plus : le futur du développement d'applications en entreprise par LINAGORA
Angular v2 et plus : le futur du développement d'applications en entrepriseAngular v2 et plus : le futur du développement d'applications en entreprise
Angular v2 et plus : le futur du développement d'applications en entreprise
LINAGORA794 vues
Comment faire ses mappings ElasticSearch aux petits oignons ? - LINAGORA par LINAGORA
Comment faire ses mappings ElasticSearch aux petits oignons ? - LINAGORAComment faire ses mappings ElasticSearch aux petits oignons ? - LINAGORA
Comment faire ses mappings ElasticSearch aux petits oignons ? - LINAGORA
LINAGORA4.3K vues
Angular (v2 and up) - Morning to understand - Linagora par LINAGORA
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
LINAGORA480 vues
Offre de demat d'Adullact projet par LINAGORA
Offre de demat d'Adullact projet Offre de demat d'Adullact projet
Offre de demat d'Adullact projet
LINAGORA2.6K vues
La dématérialisation du conseil minicipal par LINAGORA
La dématérialisation du conseil minicipalLa dématérialisation du conseil minicipal
La dématérialisation du conseil minicipal
LINAGORA933 vues
Open stack @ sierra wireless par LINAGORA
Open stack @ sierra wirelessOpen stack @ sierra wireless
Open stack @ sierra wireless
LINAGORA3.9K vues
Présentation offre LINID par LINAGORA
Présentation offre LINIDPrésentation offre LINID
Présentation offre LINID
LINAGORA2.2K vues
Matinée pour conmrendre consacrée à LinID.org, gestion, fédération et contrôl... par LINAGORA
Matinée pour conmrendre consacrée à LinID.org, gestion, fédération et contrôl...Matinée pour conmrendre consacrée à LinID.org, gestion, fédération et contrôl...
Matinée pour conmrendre consacrée à LinID.org, gestion, fédération et contrôl...
LINAGORA2.8K vues
Matinée pour conmrendre consacrée à LinShare.org, application de partage de f... par LINAGORA
Matinée pour conmrendre consacrée à LinShare.org, application de partage de f...Matinée pour conmrendre consacrée à LinShare.org, application de partage de f...
Matinée pour conmrendre consacrée à LinShare.org, application de partage de f...
LINAGORA1.1K vues
Open Source Software Assurance by Linagora par LINAGORA
Open Source Software Assurance by LinagoraOpen Source Software Assurance by Linagora
Open Source Software Assurance by Linagora
LINAGORA1.5K vues
Présentation de l’extension Lightning pour Thunderbird par LINAGORA
Présentation de l’extension Lightning pour ThunderbirdPrésentation de l’extension Lightning pour Thunderbird
Présentation de l’extension Lightning pour Thunderbird
LINAGORA1K vues
Présentation de la nouvelle version de Mozilla Thunderbird par LINAGORA
Présentation de la nouvelle version de Mozilla ThunderbirdPrésentation de la nouvelle version de Mozilla Thunderbird
Présentation de la nouvelle version de Mozilla Thunderbird
LINAGORA939 vues
Présentation de la roadmap OBM, 28 août 2012 par LINAGORA
Présentation de la roadmap OBM, 28 août 2012Présentation de la roadmap OBM, 28 août 2012
Présentation de la roadmap OBM, 28 août 2012
LINAGORA1.2K vues

Architecture d'annuaire hautement disponible avec OpenLDAP

  • 1. architecture d'annuaire hautement disponible avec OpenLDAP Solutions Linux – 21/05/2014 David Coutadeur
  • 2. 21 mai 2014 Solutions Linux 2014 2 À propos du conférencier
  • 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. 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. 21 mai 2014 Solutions Linux 2014 5 OpenLDAP
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 21 mai 2014 Solutions Linux 2014 19 Assemblons tous ces composants
  • 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 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. 21 mai 2014 Solutions Linux 2014 22 C'est la fin... Bientôt !
  • 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. 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. 21 mai 2014 Solutions Linux 2014 25 Des questions ?