Comment migrer LDAP (base de données, schéma, configuration) vers une autre machine

16

J'utilise openldap 2.4.40 et j'ai besoin de migrer ma base de données LDAP, ma configuration et mon schéma existants (essentiellement tout ce qui concerne le serveur LDAP) vers une nouvelle machine.

le problème est que j'utilise la configuration cn = config et non l'ancien fichier slapd.conf.

La documentation fournie par openldap et d'autres sites Web tiers ne permet que de migrer le serveur LDAP slapd.conf, pas le serveur LDAP avec le fichier de configuration cn = config plus récent.

et j'ai aussi un nouveau schéma (attributetype et objectclass), est-il possible de les migrer vers une nouvelle machine aussi facilement que possible?

J'ai besoin d'un autre moyen que de reconfigurer et d'ajouter manuellement mon schéma un par un à la nouvelle machine.

Cela se fera dans le but d'éteindre probablement l'ancienne machine.

TL; DR Existe-t-il un moyen de migrer facilement la base de données LDAP, le schéma et la configuration d'un serveur LDAP vers un nouveau serveur LDAP dans le but d'éteindre l'ancienne machine

Je vous remercie.

* Publié la réponse ci-dessous

- Julio

J_LDAP
la source
2
Vous devez vraiment publier votre solution comme réponse et non comme une modification de votre question.
Sven

Réponses:

17

La solution :

Voici donc ce que j'ai fait pour que cela fonctionne.

  1. Arrêtez Slapd sur le serveur principal
  2. Bases de données Slapcat du serveur principal (Il y a 2 bases de données à exporter. J'utilise la balise "-n"

    slapcat -n 0 -l (config file location)
    

Celui-ci exportera tous les schémas et cn = config et

    slapcat -n 1 -l <database backup ldif path>

Cette opération exportera toutes les données utilisateur que vous conservez dans LDAP.

  1. SCP le fichier 2 ldif sur le nouveau serveur (assurez-vous d'avoir installé LDAP sur le serveur et assurez-vous que la configuration est presque identique pour faciliter les choses)
  2. arrêtez slapd sur le nouveau serveur.
  3. supprimer le contenu du dossier

    /etc/ldap/slapd.d
    
  4. utilisez slapadd pour importer la configuration sur le nouveau serveur

    slapadd -n 0 -l (config ldif location)
    

    -n 0 correspond à l'ajout de la configuration à LDAP

    slapadd -n 1 -l (database ldif location)
    

    -n 1 est pour ajouter la base de données à LDAP

* EDIT: D'une manière ou d'une autre, cette commande ne fonctionnera pas sur mon 2e 3e .... et ainsi de suite essayez. Donc, la bonne commande que j'ai vérifié que cela fonctionne est

  slapadd -n 0 -F /etc/ldap/slapd.d -l <config backup ldif path>

et

  slapadd -n 1 -l <data backup ldif path>
  1. modifiez l'autorisation dans le dossier /etc/ldap/slapd.d (chown et chmod). Je l'ai montré à openldap et l'ai chmodé à 755

Modifiez également l'autorisation dans le dossier / var / lib / ldap (chown et chmod) en openldap

si vous avez un certificat pour la connexion TLS. Copiez les certificats et les clés de l'ancien serveur vers le nouveau serveur au même emplacement exact. changer l'autorisation sur les lieux.

  1. démarrer slapd.

et ça devrait être bon d'y aller.

Espère que cela aide les autres

J_LDAP
la source
J'ai eu des problèmes avec les autorisations sur les fichiers de base de données dans / var / lib / ldap qui devaient être changés en propriétaire ldap. A part ça, c'était très fluide.
sheldonkreger
heureux que cela fonctionne bien pour vous
J_LDAP
cela nécessite plus de votes positifs. Je cherche et teste depuis 2 semaines pour que ma configuration fonctionne. MERCI
hanzo2001
Heureux que mon message puisse aider les autres
J_LDAP
Dans mon cas, seul le schéma a fonctionné comme prévu, les données n'ont pas été copiées. En fait, l'ensemble de données / var / lib / ldap sur la destination ne contient aucune chaîne concernant les utilisateurs ... il semble que rien ne se soit produit. J'ai dû copier manuellement la base de données dans / var / lib / ldap de la source vers la machine de destination; J'ai suivi serverfault.com/questions/227813/openldap-replication-problem/…
Fabiano Tarlao
6

Exportez les deux arbres ( cn=configet vos données habituelles) dans LDIF, réimportez-les sur le nouveau serveur (en cn=configpremier). Terminé.

En outre, il cn=configs'agit essentiellement d'une collection de fichiers LDIF et il peut être possible de simplement copier cette collection au même emplacement relatif sur le nouveau serveur (alors qu'il slapdn'est pas en cours d'exécution).

Sven
la source
comment les exporter exactement? Qu'en est-il du schéma (nouvelle classe d'objets, types d'attributs)? Merci pour la réponse
J_LDAP
Les schémas doivent être définis dans cn=schema,cn=config(ou quelque chose comme ça) et seront contenus dans le fichier LDIF.
Sven
Ok merci pour la réponse. Je vais essayer plus tard. Merci beaucoup.
J_LDAP