informatique:reseau:ldap:migration_hdb_mdb

Ceci est une ancienne révision du document !


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 :
    dn: cn=module{0},cn=config
    changetype: modify
    add: olcModuleLoad
    olcModuleLoad: back_mdb
  • Jouer ce LDIF via ldapmodify :
    ldapmodify -x -D cn=admin,cn=config -W -f /tmp/load-module.ldif
    # Ou :
    ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/load-module.ldif

Stopper OpenLDAP :

service slapd stop

On fait quelques sauvegarde :

rsync -av /etc/ldap/slapd.d/ /etc/ldap/slapd.d.bkp/
slapcat -n 1 > /tmp/ldif

On migre la configuration :

  • On renomme le fichier olcDatabase={1}hdb en tant que olcDatabase={1}mdb :
    cd '/etc/ldap/slapd.d/cn=config'
    mv 'olcDatabase={1}hdb.ldif' 'olcDatabase={1}mdb.ldif'
    mv 'olcDatabase={1}hdb' 'olcDatabase={1}mdb'
  • Éditer le fichier olcDatabase={1}mdb.ldif :
    • supprimer les deux premières ligne liées au CRC. Exemple :
      # AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
      # CRC32 ddd6c93e
    • 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 :

rm -fr /var/lib/ldap/*
slapadd -n 1 -q -l /tmp/ldif
chown openldap: -R /var/lib/ldap

On relance OpenLDAP :

service slapd start

Si tout est ok, vous pouvez supprimer les sauvegardes :

rm -fr /tmp/ldif /etc/ldap/slapd.d.bkp/
  • informatique/reseau/ldap/migration_hdb_mdb.1558446518.txt.gz
  • Dernière modification : 2019/05/21 13:48
  • de bn8