informatique:reseau:ldap:migration_hdb_mdb

no way to compare when less than two revisions

Différences

Ci-dessous, les différences entre deux révisions de la page.


Prochaine révision
informatique:reseau:ldap:migration_hdb_mdb [2019/05/21 13:48] – créée bn8
Ligne 1: Ligne 1:
 +====== Migration HDB vers MDB ======
  
 +**Postulat de départ :** vous avez un database configurée en tant que //olcDatabase={1}hdb,cn=config// et utilisant le backend //HDB// et vous voulez passez sur une base utilisant le backend //MDB//.
 +
 +Il faut d'abord charger le module //back_mdb// :
 +  * Créer le fichier ///tmp/load-module.ldif// : <code ldif>dn: cn=module{0},cn=config
 +changetype: modify
 +add: olcModuleLoad
 +olcModuleLoad: back_mdb</code>
 +  * Jouer ce LDIF via //ldapmodify// : <code bash>ldapmodify -x -D cn=admin,cn=config -W -f /tmp/load-module.ldif
 +# Ou :
 +ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/load-module.ldif</code>
 +
 +Stopper //OpenLDAP// : <code bash>service slapd stop</code>
 +
 +On fait quelques sauvegarde : <code bash>rsync -av /etc/ldap/slapd.d/ /etc/ldap/slapd.d.bkp/
 +slapcat -n 1 > /tmp/ldif</code>
 +
 +On migre la configuration :
 +  * On renomme le fichier //olcDatabase={1}hdb// en tant que //olcDatabase={1}mdb// : <code bash>cd '/etc/ldap/slapd.d/cn=config'
 +mv 'olcDatabase={1}hdb.ldif' 'olcDatabase={1}mdb.ldif'
 +mv 'olcDatabase={1}hdb' 'olcDatabase={1}mdb'</code>
 +  * Éditer le fichier //olcDatabase={1}mdb.ldif// :
 +    * supprimer les deux premières ligne liées au //CRC//. Exemple : <code># AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
 +# CRC32 ddd6c93e</code>
 +    * **dn :** changer //hdb// en //mdb//
 +    * **objectClass et structuralObjectClass :** changer //olcHdbConfig// en //olcMdbConfig//
 +    * **olcDbCheckpoint :** conserver en l'état
 +    * **olcDatabase :** changer //hdb// en //mdb//
 +    * supprimer les lignes //olcDbConfig//
 +    * ajouter //olcDbMaxSize: 1073741824//
 +
 +On supprime et réimporte les données à partir du dump //LDIF// : <code bash>rm -fr /var/lib/ldap/*
 +slapadd -n 1 -q -l /tmp/ldif
 +chown openldap: -R /var/lib/ldap</code>
 +
 +On relance //OpenLDAP// : <code bash>service slapd start</code>
 +
 +Si tout est ok, vous pouvez supprimer les sauvegardes : <code bash>rm -fr /tmp/ldif /etc/ldap/slapd.d.bkp/</code>