Outils pour utilisateurs

Outils du site


braveo:docinstallreplicldap

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

braveo:docinstallreplicldap [2016/07/19 15:36] (Version actuelle)
Ligne 1: Ligne 1:
 +====== Réplication du Serveur LDAP ======
  
 +
 +Nous souhaitons répliquer l'​intégralité d'un serveur LDAP (maître) sur un autre serveur (esclave). ​
 +
 +Il y a deux solutions possibles, utiliser slurpd ou bien syncrepl.
 +Nous utiliserons cette 2ème méthode. Syncrepl se base sur LDAP Content Synchronisation. Il y peu de modifications à faire sur le serveur maître.
 +
 +
 +La documentation d'​installation du serveur LDAP est disponible ici : [[http://​mdl29.net/​doku.php?​id=braveo:​docinstallsrvldap
 +|installation serveur LDAP]].
 +
 +===== Configuration du maître =====
 +
 +Configurer le maître n'est pas trés compliqué. ​
 +
 +Dans **/​etc/​ldap/​slapd.conf** :
 +
 +   # rootdn directive for specifying a superuser on the database. This is needed ​
 +   # for syncrepl. ​
 +   ​rootdn ​         "​cn=admin,​dc=mdl29,​dc=net" ​
 +   ​rootpw ​         {SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=
 +    ​
 +   ​moduleload syncprov ​
 +   ​overlay syncprov
 +   ​syncprov-checkpoint 100 10
 +   ​syncprov-sessionlog 100
 +
 +
 +Reste enfin à redémarrer le service sur l’annuaire maître pour que la réplication fonctionne.
 +
 +   /​etc/​init.d/​slapd restart
 +
 +===== Configuration de l'​esclave =====
 +Coté esclave, il est existe deux méthodes de réplication lorsqu’on utilise SyncRepl :
 +
 +    * **refreshOnly** : L’esclave se met à jour périodiquement en utilisant les données du maître. Par exemple, il se connecte toute les heures pour vérifier si des données ont été modifiées.
 +    * **refreshAndPersist** : L’esclave conserve une connexion persistante avec l’annuaire maître et les données sont répliquées en temps réel lors de chaque modification sur le maître.
 +
 +L’exemple ci-dessous décrit la configuration d’un esclave en mode **"​refreshAndPersist"​** qui présente beaucoup plus d’intérêt dans le sens ou ce mode permet d’obtenir une synchro en temps réél de l’annaire esclave.
 +
 +
 +==== Schémas du  serveur esclave ====
 +
 +
 +
 +**Une méthode rapide peut-être de copier simplement tous les schémas du maître avec une commande du type :**
 +   scp root@ip_du_serveur_LDAP_maitre:/​etc/​ldap/​schema/​*.schema /​etc/​ldap/​schema/​
 +
 +
 +Bien évidemment,​ il reste à modifier le fichier **slapd.conf** pour correspondre à la configuration du maître. ​
 +
 +Contrairement à slurpd, avec SyncRepl **l’annuaire esclave ne doit pas nécessairement être identique à l’annuaire maître** lorsque l’on démarre la réplication. La méthode la plus simple est donc de supprimer complètement les données existantes sur l’esclave et de démarrer ensuite la réplication. De cette façon, au démarrage du démon, syncrepl va copier l’intégralité de l’annuaire maître sur l’esclave.
 +
 +   /​etc/​init.d/​slapd stop 
 +   rm /​var/​lib/​ldap/​* ​
 +   /​etc/​init.d/​slapd start
 +
 +
 +Dans **/​etc/​ldap/​slapd.conf** : 
 +
 +   # rootdn directive for specifying a superuser on the database. This is needed
 +   # for syncrepl.
 +   
 +   ​rootdn ​         "​cn=admin,​dc=mdl29,​dc=net" ​
 +   ​rootpw ​         {SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=
 +   
 +   ​syncrepl ​  ​rid=100
 +          provider=ldap://​ip_du_serveur_LDAP_maitre:​389 ​
 +          type=refreshAndPersist
 +          retry="​60 10 300 +"
 +          searchbase="​dc=mdl29,​dc=net"​
 +          scope=sub
 +          schemachecking=on
 +          bindmethod=simple
 +          binddn="​cn=admin,​dc=mdl29,​dc=net"​
 +          credentials="​motdepasse_en_clair" ​        
 +   ​updateref ​      ​ldap://​ip_du_serveur_LDAP_maitre:​389 ​
 +
 +On redémarre le service :
 +
 +    /​etc/​init.d/​slapd restart
 +
 +<note important>​Cette configuration impose la vérification des schémas grâce à l’option **schemachecking=on**. Il faut donc impérativement que l’ensemble des schémas utilisés sur le maître soient disponibles sur les esclaves.</​note>​
 +
 +
 +**Explication**
 +
 +   ​***rid:​** Identifiant du serveur. Il semble qu'il doivent être unique entre réplicat
 +   ​***provider:​** Le maître de réplication,​ peut être le master ldap ou un réplicat mis en maître de réplication.
 +   ​***type:​** Le type de réplication refreshAndPersist ou refreshOnly
 +   ​***retry:​** indique la reconnexion en cas de perte de connexion(ici 10 fois toutes les 60s, puis à l'​infini toutes les 300s)
 +   ​***searchbase**:​ le dn de réplication
 +   ​***filter:​** Filtre pour la réplication
 +   ​***scope:​** sub, one
 +   ​***schemachecking:​** si on vérifie la cohérence avec le schéma
 +   ​***updatedn:​** le dn qui va écrire la réplication (pas besoin qu'il soit dans le LDAP)
 +   ​***bindmethod**:​ simple
 +   ​***binddn:​** le dn qui va se connecter au maître de réplication
 +   ​***credentials:​** le mot de passe de ce dn
 +   ​***updateref:​** le serveur maître ldap 
 +
 +
 +==== Écriture depuis un esclave ====
 +
 +
 +La réplication proposée ​ est une réplication de type **maître / esclave**. C’est à dire qu’il n’est possible de faire des modifications que sur le maître. Pour contourner le problème, il est possible d’indiquer à un esclave de transmettre les demandes d’écriture à l’annuaire maître. Pour cela, il suffit d’ajouter la ligne suivante dans le fichier /​etc/​ldap/​slapd.conf de l’esclave :
 +
 +   ​updateref ​      ​ldap://​ip_du_serveur_LDAP_maitre:​389
 +
 +
 +
 + 
 +
 + 
braveo/docinstallreplicldap.txt · Dernière modification: 2016/07/19 15:36 (modification externe)