Come migrare LDAP (database, schema, configurazione) su un'altra macchina


16

Sto usando openldap 2.4.40 e ho bisogno di migrare il mio database ldap esistente, la configurazione e lo schema (praticamente tutto ciò che riguarda il server ldap) su una nuova macchina.

il problema è che uso la configurazione cn = config non più il vecchio file slapd.conf.

La documentazione fornita da openldap e altri siti Web di terzi aiuta solo a migrare il server LDAP slapd.conf, non il server LDAP con il più recente file di configurazione cn = config.

e ho anche un nuovo schema (attributo e classe oggetto), c'è un modo per migrarli su una nuova macchina il più facilmente possibile?

Ho bisogno di altro che riconfigurare e aggiungere manualmente il mio schema uno alla volta alla nuova macchina.

Ciò avverrà con l'intenzione di spegnere molto probabilmente la vecchia macchina.

TL; DR Esiste un modo per migrare comodamente il database LDAP, lo schema, la configurazione da 1 server LDAP a un nuovo server LDAP con l'intenzione di spegnere la vecchia macchina

Grazie.

* Ha pubblicato la risposta qui sotto

- Julio


2
Dovresti davvero pubblicare la tua soluzione come risposta e non come modifica alla tua domanda.
Sven

Risposte:


17

La soluzione :

Quindi, ecco cosa ho fatto per farlo funzionare.

  1. Arresta Slapd sul server principale
  2. Database Slapcat dal server principale (Esistono 2 database che devono essere esportati. Uso il tag "-n"

    slapcat -n 0 -l (config file location)
    

Questo esporterà tutti gli schemi e cn = config e

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

Questa opzione esporterà tutti i dati utente conservati in LDAP.

  1. SCP il file 2 ldif sul nuovo server (assicurati di aver installato LDAP sul server e assicurati che la configurazione sia quasi identica per renderlo più semplice)
  2. stop slapd sul nuovo server.
  3. elimina il contenuto della cartella

    /etc/ldap/slapd.d
    
  4. usa slapadd per importare la configurazione sul nuovo server

    slapadd -n 0 -l (config ldif location)
    

    -n 0 serve per aggiungere nuovamente la configurazione a LDAP

    slapadd -n 1 -l (database ldif location)
    

    -n 1 serve per aggiungere nuovamente il database a LDAP

* EDIT: in qualche modo quei comandi non funzioneranno sul mio secondo 3 ° .... e così via. Quindi il comando corretto che ho verificato che funzioni

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

e

  slapadd -n 1 -l <data backup ldif path>
  1. cambia l'autorizzazione nella cartella /etc/ldap/slapd.d (chown e chmod). Lo chiesi a openldap e lo chmod a 755

Cambia anche l'autorizzazione nella cartella / var / lib / ldap (chown e chmod) in openldap

se si dispone di un certificato per la connessione TLS. Copia i certificati e le chiavi dal vecchio server al nuovo server nella stessa posizione esatta. cambiare l'autorizzazione sui luoghi.

  1. inizia slapd.

e dovrebbe andare bene.

Spero che questo aiuti altre persone


Ho avuto problemi con le autorizzazioni sui file di database in / var / lib / ldap che dovevano essere passati al proprietario ldap. A parte questo, questo è stato molto fluido.
sheldonkreger,

felice che funzioni bene per te
J_LDAP

questo ha bisogno di più voti. Ho cercato e testato per 2 settimane affinché la mia installazione funzionasse. GRAZIE
hanzo2001,

Sono contento che il mio post possa aiutare gli altri
J_LDAP,

Nel mio caso, solo lo schema ha funzionato come previsto, i dati non sono stati copiati. Infatti il ​​set di dati / var / lib / ldap sulla destinazione non contiene alcuna stringa relativa agli utenti ... sembra che non sia successo nulla. Ho dovuto copiare manualmente il database in / var / lib / ldap dalla macchina sorgente a quella di destinazione; Ho seguito serverfault.com/questions/227813/openldap-replication-problem/…
Fabiano Tarlao,

6

Esporta entrambi gli alberi ( cn=confige i tuoi dati regolari) in LDIF, importali nuovamente sul nuovo server ( cn=configprima). Fatto.

Inoltre, cn=configè essenzialmente solo una raccolta di file LDIF e potrebbe essere possibile semplicemente copiare questa raccolta nella stessa posizione relativa sul nuovo server (mentre slapdnon è in esecuzione).


come li esporto esattamente? Che dire di Schema (nuova classe di oggetti, attributi)? Grazie per la risposta
J_LDAP,

Gli schemi dovrebbero essere definiti in cn=schema,cn=config(o qualcosa del genere) e saranno contenuti nel file LDIF.
Sven

Ok grazie per la risposta. Ci proverò più tardi. Grazie mille.
J_LDAP,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.