19 mars 2024

Tuto Openldap, partie V : Sauvegarde et restauration

Cinquième partie de la série de tuto sur OpenLDAP consacrée à la sauvegarde et restauration des données.

Jusque la, nous avons vu l’installation, les overlays,inséré nos premières données, et appris comment les modifier.

Voyons maintenant comment effectuer des sauvegardes de tout cela.

Rappel, j’utilise des alias que je défini au début de cet article.

 

I – Sauvegarde

On va prendre connaissance de l’endroit ou sont stockées les données.

# lsearch -b "cn=config" "(&(objectClass=olcDatabaseConfig))" olcDbDirectory

Ce qui va donner :

dn: olcDatabase={-1}frontend,cn=config

dn: olcDatabase={0}config,cn=config

dn: olcDatabase={1}mdb,cn=config
olcDbDirectory: /var/lib/ldap

La ligne qui nous intéresse est /var/lib/ldap.

A – Configuration

Cette commande peut être lancée avec le service LDAP en fonctionnement.

# slapcat -b cn=config > save_config.ldif

B – Données

Comme pour la configuration, cette commande peut être lancée avec le service en fonctionnement.

# slapcat -b dc=debugo,dc=fr > save_data.ldif

 

II – Restauration

A – Configuration

On commence par arrêter le serveur si celui ci tourne :

# service slapd stop

On va supprimer l’existant :

# rm /etc/ldap/slapd.d/ -r

On va recréer :

# mkdir /etc/ldap/slapd.d/

On réinjecte :

# slapadd -F /etc/ldap/slapd.d -b cn=config -l save_config.ldif

On redonne les droits

# chown -R openldap:openldap /etc/ldap/slapd.d/

On peut relancer :

# service slapd start

 

B – Données

On commence par arrêter le serveur si celui ci tourne :

# service slapd stop

On va supprimer l’existant (repertoire que nous avons noté au début) :

# rm /var/lib/ldap/ -r

On va recréer :

# mkdir /var/lib/ldap/

On réinjecte :

# slapadd -b dc=debugo,dc=fr -l save_data.ldif

On redonne les droits

# chown -R openldap:openldap /var/lib/ldap/

On ré-indexe :

# slapindex

On relance le serveur :

# service slapd start

 

 

Et voila ! Ces manipulations sont simple, mais ne les négligez pas, il reste assez facile de fusiller un annuaire LDAP avec quelques fausses manipulations…

Dans l’article suivant, nous allons voir la réplication.

15 réflexions sur « Tuto Openldap, partie V : Sauvegarde et restauration »

  1. Bonjour,

    Merci pour la série de tuto c’est top ! Je la suis jour après jour ! Question, quand est-ce que la partie réplication va sortir ? Je me base sur votre blog pour mon projet de fin d’année et j’ai beau avoir péché des infos un peu partout la partie synchro ne fonctionne pas :'(

    1. Bonjour Vincent. Ce devrait arriver bientôt.
      J’avais prévu de ne pas la traiter de suite (envie de faire une pause sur le ldap)
      Du coup, je vais quand même travailler dessus et la mettre à disposition le plus vite possible.
      En attendant, n’hésitez pas à lire le reste du blog, vous trouverez surement d’autre tutos intéressants 😉

  2. Trop cool merci tu me sauve ! Tu es la doc la plus claire que j’ai pu trouver j’ai bien compris pas mal de choses sur le LDAP grâce à toi 😀
    Yes les tutos virtu m’intéresse bien 😉

    1. Pas de soucis. En effet, le LDAP est plutôt barbare si on ne prend pas le temps de comprendre bien certains concepts. C’est pour cela que je détaille un max, etc… Le tuto sur la réplication arrive ce soir ou demian. Mes tests en cours fonctionnent. Me reste plus qu’a écrire tout cela. Au passage, ce sera de la réplication maitre-maitre…

  3. Bonjour, encore merci pour tous ces articles et votre méthodologie très au point.

    Lors que je teste la restauration sous Debian 9, je rencontre une erreur:

    slapadd -b cn=config -l /tmp/save_config_20190909.ldif
    5d767a73 could not stat config file « /etc/ldap/slapd.conf »: No such file or directory (2)
    slapadd: bad configuration file!

    le fichier slapd.conf est dans /usr/share/slapd. Est-ce une bonne pratique de créer un lien ou est-ce de la bidouille?

    Merci

    1. Bonjour.
      Désolé pour la réponse tardive.
      Heu, je me demande si j’ai pas oublié un truc. Faut que je reteste.
      Avec un touch /etc/ldap/slapd.conf ca donne quoi ?

  4. Bonjour Nicolas,
    et merci d’avoir répondu.
    Je viens seulement de tester et voici le résultat:

    root@ant-olp-001:~# slapadd -b cn=config -l /tmp/save_config_20190909.ldif
    slapadd: could not add entry dn= »cn=config » (line=1):
    _ 1.44% eta none elapsed none spd 5.5 M/s
    Closing DB…

    J’avais mis le sujet de côté quelques jours, et je vais regarder de plus près.
    Merci encore

  5. Bonjour Nicolas,
    Je rattaque sur le sujet. J’ai eu un peu de mal avec lsearch en début de tuto. Je suis passé par « ldapsearch -QLLLY EXTERNAL -H ldapi:///  » sans quoi je n’obtenais aucun résultat.
    Ensuite, pour restaurer j’avais mélangé des commandes avec slapadd -b au lieu de -F. Cette fois c’est bon.
    Par contre j’ai restauré sur un autre serveur en vue d’une réplication, et je ne démarre pas (Failed to start LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol).
    Est-ce qu’il y aurait moyen d’avoir des logs un peu plus parlant? Est-ce qu’il ya des prérequis pour que la restauration fonctionne sur un autre serveur?
    Merci

    1. Salut et désolé pour le retard.
      As tu crée les alias ladd,etc, comme je l’indique au début du tuto ? 😉

  6. Simple rajout pour le problème que j’ai rencontré: Dans les logs de démarrage on trouvait une ligne « main: TLS init def ctx failed: -1 » que je n’avais pas vue.
    J’avais activé TLS sur le serveur d’origine…
    J’ai paramétré la partie SSL (même nom de fichiers de certificats clef privée/clef publique/certificats CA).
    … et c’est tout bon!

  7. Je dois bien avouer que je ne comprends pas pourquoi il est indiqué de supprimer la sauvegarde de /etc/ldap/slapd.d à la restauration des données. Dans ce cas quid de la restauration de la configuration ?

    Je pense qu’il faut, si on supprime le répertoire /etc/ldap/slapd.d, à la fois restaurer la configuration ET les données…

    1. Je me répond…
      PIOTR TU DEVRAIS RÉAPPRENDRE À LIRE !

      En effet j’ai zappé que pour la config c’est dans /etc/ldap/slapd.d et que les données sont dans /var/lib/ldap !
      No comments…

      Sinon, suite à une alerte à la ré-indexation à propos du fait de l’exécuter en « root » je suggère de l’exécuter avec les droits « openldap » plutôt :
      # sudo -u openldap slapindex
      Ça me semble beaucoup mieux…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *