Back to Basis : clone d’un serveur OpenLDAP

26/03/12

C’est un tip très court, qui permet de refaire à l’identique votre serveur OpenLDAP et vous allez voir, c’est très rapide.

Le but du jeu n’est pas de créer de la redondance de service ou du load balancing (auquel cas on préfèrera faire un peer et configurer slapd pour qu’il gère les 2 serveurs de manière cohérente) mais de  créer une image fidèle de la production afin de travailler dessus et de mesurer les conséquences des modifications faites avant de les porter sur le serveur de référence.

Je passe sur l’installation de l’OS. On commence juste après l’installation du package openldap (pour Debian, ce sera slapd) et on suppose que votre clone peut interroger votre serveur de référence.

Petite sauvegarde au cas où de vos conf d’origine. Pour information, sous Debian, tout est sous /etc/ldap, ce qui n’est pas le cas par exemple sous Suse, où on sera sous /etc/openldap. Adaptez en conséquence :)

ldapserv2 # rsync -az /etc/ldap{,.org}

Récupérez vos enregistrements LDAP. A moduler selon que vous ayez autorisé ou pas le read en mode anonyme (-x). Si ce n’est pas le cas, utilisez un -D suivi du dn du compte autorisé (exemple : -D « cn=bofh,dc=k-tux, dc=com ») et d’un -W qui vous permettra d’avoir un prompt pour rentrer le mot de passe du compte.

ldapserv2 # ldapsearch -x -H ldap://ldapserv1 -LLL > ldapserv1-dump.ldif

Dans la même optique, récupérez également les configurations du master, schémas compris, qu’il faut pousser au bon endroit sur votre clone.

ldapserv2 # rsync -avz ldapserv1:/etc/ldap/ /etc/ldap/

Et maintenant, sans rien faire de plus, balancez un slapadd pour pousser vos enregistrements sur le clone :

ldapserv2 # slapadd -f ldapserv1-dump.ldif

Redémarrez le service, le tour est joué !

ldapserv2 # /etc/init.d/slapd restart

[Photo par Jeroen Bennink]