Ceci est une ancienne révision du document !


Replication LDAP avec slurpd

:!: La methode de replication via slurpd n'est pas la méthode conseillée : on constate de nombreux problemes de synchronisation, il vaut mieux utiliser syncrepl pour la réplication (bientot un article la dessus). Pourquoi cet article alors ? tout simplement que syncrepl ne marche pas avec OpenLDAP 2.3 qui est inclus dans la Debian Etch par exemple

:!: Ebauche d'article : a compléter

Prérequis

  • Le serveur esclave doit être physiquement sur une autre machine que le serveur maître. Il n’est pas possible de faire de la réplication d’une base LDAP sur le même serveur que la base principale - de toutes manières cela n’a aucun intérêt.
  • Le type de backend utilisé doit être identique
  • Les versions (au moins majeures ) d’OpenLdap doivent etre identiques sur le maitre et l'esclave. Il est conseillé d'avoir la même version
  • Les serveurs maitre et esclave doivent être à la même l'heure

L'annuaire a répliquer est situé sur ldap-1.mondomaine.com, et la replication se fait sur ldap-2.mondomaine.com, la racine du LDAP a répliquer est “dc=local”

Préparatifs

  • Créer un compte dédié a la réplication dans l'annuaire LDAP. Ce compte sera nommé “Replicator” . Il ne sera pas utilisé sur le maitre, mais aura les droits d'ecriture sur le LDAP au niveau de l'esclave car il servira à effectuer les mises a jour. Le mot de passe de ce compte sera en clair dans le fichier de configuration /etc/ldap/slapd.conf

Configuration du maitre

Il faut maintenant configurer les services slapd et slurpd sur le maître pour que celui ci agisse en tant que tel. Cette configuration se fait dans le fichier /etc/openldap/slapd.conf :

Les directives suivantes sont à ajouter :

  • replogfile : fichier de réplication. C’est ce fichier qui est utilisé par slurpd pour la réplication.
  • replica : directive de compte de réplication. Ces informations seront utilisées par le maître pour contacter et mettre à jour l’esclave :
    • host : adresse IP et port ldap de l’esclave
    • binddn = compte à utiliser pour mettre à jour l’esclave.
    • bindmethod = methode de cryptage et mot de passe du compte de réplication (ici “simple”)

La directive ’replica’ comprend les arguments host, binddn et bindmethod. Si vous passez une ligne entre les arguments assurez vous qu’il y ai au moins un espace en début de ligne .

Il faut donc ajouter dans le fichier slapd.conf :

# Replication configuration (this computer is a slurpd master )
replogfile /var/lib/ldap/replog
replica host=ldap-2.mondomaine.com:389
 binddn="cn=Replicator,dc=local"
 bindmethod=simple credentials="MotDePasseEnClair"

Effectuer la copie des fichiers du maître sur l’esclave

Tout d’abord, copier le fichier slapd.conf, après avoir stoppé OpenLdap sur l’esclave - (esclave) service ldap stop ….(changez de console !! ) - (maitre) scp /etc/openldap/slapd.conf root@10.44.180.6 :/etc/openldap/copiePDC/slapd.conf

Faites ensuite un export de la base LDAP du maître sur l’esclave. Il est nécessaire de stopper le maître à ce moment pour éviter des problèmes d’intégrité de la base. - (maitre) service ldap stop - (maitre) slapcat -l /tmp/maitre.ldif - (maitre) scp /tmp/maitre.ldif root@10.44.180.6 :/etc/openldap/copiePDC/maitre.ldif

Redémarrer ensuite openldap sur le mâitre :

- (maitre) service ldap start Remarquer que le service slurpd démarre également, du aux directives que nous venons d’ajouter. Configurer l’esclave

Nous avons besoin de OpenLdap et des schémas nécessaires aux classes d’objet ldap gérées( NIS, samba, etc, … ).

Remplacer le fichier slapd.conf de l’esclave par celui du maître. ( faites un copie de l’ancien fichier si besoin ).

- (esclave) cd /etc/openldap - (esclave) mv slapd.conf slapd.old - (esclave) cp copiePDC/slapd.conf slapd.conf

Commenter les lignes de réplication ajoutées précédemment :

Modifier la directive ACL pour donner les droits au compte Replicator de modifier l’esclave.

Indiquer également l’adresse du maître et le compte qu’il utilisera (Replicator ), pour modifier l’esclave

Importer la base sur l’esclave. - (esclave) cd /etc/openldap - (esclave) slapadd -l copiePDC/maitre.ldif

Vérifier les droits d“écriture et de lecture dans le répertoire /var/lib/ldap qui doivent être positionnés pour le compte ’ldap’. A défaut, faire :

- (esclave) chown -R ldap:ldap /var/lib/ldap/*

Démarrer l’esclave

- (esclave) service ldap start

sysadmin/ldap_slurpd.1274883298.txt.gz · Dernière modification: 2010/05/26 16:14 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0