ReplicationLDAP

Un article de EoleWiki.

Pour créer un esclave, vous devez commencer par initialiser sa base de données à partir d'une copie de l'annuaire du serveur maître.



Pour la configuration, on peut s'inspirer de la page sur la page Scribe_1.0-separation.
Je me suis également inspiré de la page [1].


La question est : peut-on mettre plusieurs directives updateref sur l'esclave... (réponse : OUI)


ATTENTION : l'option -s de slapcat est un patch de la commande originale


Sommaire

Le grand test

Bon on va essayer de voir si ça marche avec les moyens du bord !


nommachineIPRNE
Scribe1P3 Tosh83azsaveverv
Scribe2P3 Dell871234567A
EsclaveP2 Tulip85 ----
  1. Esclave :
    on initialise l'annuaire avec seulement "ou=ac-dijon,ou=education,o=gouv,c=fr" et on ajoute le réplicator !
    on donne le droit d'écriture partout au replicator
    on peut mettre suffix="ou=ac-dijon,ou=education,o=gouv,c=fr" MAIS à vérifier car après il faut que le replicator soit SOUS le suffix... => peu utile

  2. Scribe1 et Scribe2 :
    On arrête LDAP
    slapcat -s ou=azsaveverv,ou=ac-dijon,ou=education,o=gouv,c=fr > scribeX.ldif (ou virer les choses en trop manuellement si tu as pas le patch !)
    slapd.conf :
    replica host=<esclave>
       bindmethod=simple credentials=admin
       binddn="cn=replicator,o=gouv,c=fr"
    replogfile /var/lib/ldap/replica/replogfile
    

  3. Esclave :
    slapadd -l scribeX.ldif pour chaque Scribe (verifier les droits ldap dans /var/lib/ldap)
    slapd.conf :
    updatedn "cn=replicator,o=gouv,c=fr"
    updateref "ldap://<scribe1>:389"
    updateref "ldap://<scribe2>:389"
    

  4. Tous :
    Redémarrer LDAP en croisant les doigts !!!


Notes
J'ai toujours pas vérifié si c'était obligatoire mais je recommande fortement de remplir les fichiers /etc/hosts !

Bilan

Incroyable, ça fonctionne !


Résumé des manipulations à réaliser

Etablissement :

ldapsearch -D cn=admin,o=gouv,c=fr -W -x > etab.ldif
scp etab.ldif


Central :

éditer etab.ldif et supprimer :

  • les 6 premières lignes
  • les 3 premiers enregistrements (ne contenant pas l'ou RNE)
  • les enregistrements de la branche utilisateurs-speciaux
  • les 6 dernières lignes
slapadd -l etab.ldif

éditer slapd.conf et ajouter :

updatedn "cn=replicator,o=gouv,c=fr"
updateref "ldap://<etab>:389"

redémarrer ldap


Etablissement :

éditer slapd.conf et ajouter :

replica host=<central>
   bindmethod=simple credentials=admin
   binddn="cn=replicator,o=gouv,c=fr"
replogfile /var/lib/ldap/replica/replogfile

redémarrer ldap


puis tester...

dernières nouvelles

L'option -c de slapadd permet d'ignorer les erreurs (ex : collisions sur utilisateurs-speciaux)

exemple de Patch Eole :

--- eole.ori/slapd.conf 2006-11-21 11:23:23.000000000 +0100
+++ eole.modif/slapd.conf       2006-11-21 11:24:09.000000000 +0100
@@ -84,6 +84,14 @@
 directory      "/var/lib/ldap"


+# définition de l'esclave
+replica host=monserveur
+  bindmethod=simple credentials=admin
+  binddn="cn=replicator,o=gouv,c=fr"
+# fichier des logs pour la réplication
+replogfile /var/lib/ldap/replica/replogfile
+
+
 ## creation des index et validation des "Matching Rules" ##

 # toutes applications