informatique:reseau:ldap:migration_bdb_hdb_mdb

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:reseau:ldap:migration_bdb_hdb_mdb [2022/01/11 10:44] bn8informatique:reseau:ldap:migration_bdb_hdb_mdb [2022/11/16 11:57] (Version actuelle) bn8
Ligne 5: Ligne 5:
 **Pré-requis :** Installer le script [[https://gogs.zionetrix.net/bn8/check_slapdd_crc32|check_slapdd_crc32]] pour corriger le //CRC32// des fichiers de configuration d'OpenLDAP. **Pré-requis :** Installer le script [[https://gogs.zionetrix.net/bn8/check_slapdd_crc32|check_slapdd_crc32]] pour corriger le //CRC32// des fichiers de configuration d'OpenLDAP.
  
-Il faut d'abord charger le module //back_mdb// : +Il faut d'abord charger le module //back_mdb//<code bash>ldapmodify -Y EXTERNAL -H ldapi:/// << EOF
-  * Créer le fichier ///tmp/load-module.ldif// : <code>cat << EOF > /tmp/load-module.ldif+
 dn: cn=module{0},cn=config dn: cn=module{0},cn=config
 changetype: modify changetype: modify
Ligne 12: Ligne 11:
 olcModuleLoad: back_mdb olcModuleLoad: back_mdb
 EOF</code> EOF</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> 
  
 On sauvegarde et prépare une copie de la configuration d'OpenLDAP : <code bash>rsync -av /etc/ldap/slapd.d/ /etc/ldap/slapd.d.bkp/ On sauvegarde et prépare une copie de la configuration d'OpenLDAP : <code bash>rsync -av /etc/ldap/slapd.d/ /etc/ldap/slapd.d.bkp/
 +check_slapdd_crc32 -f
 rsync -av /etc/ldap/slapd.d/ /etc/ldap/slapd.d.new/</code> rsync -av /etc/ldap/slapd.d/ /etc/ldap/slapd.d.new/</code>
  
Ligne 22: Ligne 19:
   * On renomme le fichier //olcDatabase={1}hdb// ou //olcDatabase={1}bdb// en tant que //olcDatabase={1}mdb// : <code bash>cd '/etc/ldap/slapd.d.new/cn=config'   * On renomme le fichier //olcDatabase={1}hdb// ou //olcDatabase={1}bdb// en tant que //olcDatabase={1}mdb// : <code bash>cd '/etc/ldap/slapd.d.new/cn=config'
 # Pour HDB : # Pour HDB :
-mv 'olcDatabase={1}hdb.ldif' 'olcDatabase={1}mdb.ldif'+[ -e 'olcDatabase={1}hdb.ldif' ] && mv 'olcDatabase={1}hdb.ldif' 'olcDatabase={1}mdb.ldif'
 [ -d 'olcDatabase={1}hdb' ] && mv 'olcDatabase={1}hdb' 'olcDatabase={1}mdb' [ -d 'olcDatabase={1}hdb' ] && mv 'olcDatabase={1}hdb' 'olcDatabase={1}mdb'
 # Ou pour BDB : # Ou pour BDB :
-mv 'olcDatabase={1}bdb.ldif' 'olcDatabase={1}mdb.ldif'+[ -e 'olcDatabase={1}bdb.ldif' ] && mv 'olcDatabase={1}bdb.ldif' 'olcDatabase={1}mdb.ldif'
 [ -d 'olcDatabase={1}bdb' ] && mv 'olcDatabase={1}bdb' 'olcDatabase={1}mdb'</code> [ -d 'olcDatabase={1}bdb' ] && mv 'olcDatabase={1}bdb' 'olcDatabase={1}mdb'</code>
   * On adapte le fichier //olcDatabase={1}mdb.ldif// :   * On adapte le fichier //olcDatabase={1}mdb.ldif// :
Ligne 31: Ligne 28:
     * **objectClass et structuralObjectClass :** changer //olcHdbConfig// (ou //olcBdbConfig//) en //olcMdbConfig// : <code bash>sed -i 's/olc[HB]dbConfig/olcMdbConfig/g' 'olcDatabase={1}mdb.ldif'</code>     * **objectClass et structuralObjectClass :** changer //olcHdbConfig// (ou //olcBdbConfig//) en //olcMdbConfig// : <code bash>sed -i 's/olc[HB]dbConfig/olcMdbConfig/g' 'olcDatabase={1}mdb.ldif'</code>
     * **olcDbCheckpoint :** conserver en l'état     * **olcDbCheckpoint :** conserver en l'état
-    * supprimer les lignes **olcDbConfig**+    * supprimer les lignes des attributs suivants: 
 +      ''olcDbCacheFree'' 
 +      ''olcDbCacheSize'' 
 +      * ''olcDbChecksum'' 
 +      * ''olcDbConfig'' 
 +      * ''olcDbCryptFile'' 
 +      * ''olcDbCryptKey'' 
 +      * ''olcDbDNcacheSize'' 
 +      * ''olcDbDirtyRead'' 
 +      * ''olcDbIDLcacheSize'' 
 +      * ''olcDbLinearIndex'' 
 +      * ''olcDbLockDetect'' 
 +      ''olcDbPageSize'' 
 +      ''olcDbShmKey''
     * ajouter la ligne ''olcDbMaxSize: 1073741824''     * ajouter la ligne ''olcDbMaxSize: 1073741824''
 +  * On vérifie la nouvelle configuration : <code bash>
 +check_slapdd_crc32 -p /etc/ldap/slapd.d.new/ -f
 +slaptest -F /etc/ldap/slapd.d.new/
 +slapschema -F /etc/ldap/slapd.d.new/ -b cn=config</code>
  
 Maintenant que la configuration est préparer, on va : Maintenant que la configuration est préparer, on va :
Ligne 38: Ligne 52:
   * Exporter au format LDIF les données de l'annuaire   * Exporter au format LDIF les données de l'annuaire
   * Mettre en place la nouvelle configuration   * Mettre en place la nouvelle configuration
-  * Corriger les //CRC// dans la configuration OpenLDAP 
   * Supprimer et réimporter les données de l'annuaire   * Supprimer et réimporter les données de l'annuaire
   * Relancer OpenLDAP   * Relancer OpenLDAP
Ligne 45: Ligne 58:
 <code bash> <code bash>
 DB_DIRECTORY=$( grep -iE '^olcDbDirectory: ' '/etc/ldap/slapd.d.new/cn=config/olcDatabase={1}mdb.ldif'|sed 's/^olcDbDirectory: //' ) DB_DIRECTORY=$( grep -iE '^olcDbDirectory: ' '/etc/ldap/slapd.d.new/cn=config/olcDatabase={1}mdb.ldif'|sed 's/^olcDbDirectory: //' )
 +echo "DB directory: $DB_DIRECTORY"
 [ -n "$DB_DIRECTORY" -a -d "$DB_DIRECTORY/" ] && \ [ -n "$DB_DIRECTORY" -a -d "$DB_DIRECTORY/" ] && \
 service slapd stop && \ service slapd stop && \
 slapcat -n1 > /tmp/ldif && \ slapcat -n1 > /tmp/ldif && \
 rsync -av --delete /etc/ldap/slapd.d.new/ /etc/ldap/slapd.d/ && \ rsync -av --delete /etc/ldap/slapd.d.new/ /etc/ldap/slapd.d/ && \
-check_slapdd_crc32 -f && \ +rm -f $DB_DIRECTORY/*.bdb $DB_DIRECTORY/DB_CONFIG $DB_DIRECTORY/__db.* $DB_DIRECTORY/log.* $DB_DIRECTORY/alock && \
-rm -f $DB_DIRECTORY/*.bdb $DB_DIRECTORY/DB_CONFIG $DB_DIRECTORY/__db.* $DB_DIRECTORY/log.* && \+
 slapadd -n 1 -q -l /tmp/ldif && \ slapadd -n 1 -q -l /tmp/ldif && \
-chown openldap: -R /var/lib/ldap && \+chown openldap: -R $DB_DIRECTORY && \
 service slapd start</code> service slapd start</code>
  
  • informatique/reseau/ldap/migration_bdb_hdb_mdb.1641897842.txt.gz
  • Dernière modification : 2022/01/11 10:44
  • de bn8