So migrieren Sie LDAP (Datenbank, Schema, Konfiguration) auf einen anderen Computer

16

Ich verwende openldap 2.4.40 und muss meine vorhandene LDAP-Datenbank, Konfiguration und das Schema (im Grunde alles, was mit LDAP-Server zu tun hat) auf eine neue Maschine migrieren.

das problem ist, ich benutze cn = config configuration nicht mehr die alte slapd.conf datei.

Die von openldap und anderen Websites von Drittanbietern bereitgestellte Dokumentation hilft nur bei der Migration des LDAP-Servers slapd.conf, nicht des LDAP-Servers mit der neueren Konfigurationsdatei cn = config.

Und ich habe auch ein neues Schema (Attributtyp und Objektklasse). Gibt es eine Möglichkeit, diese so einfach wie möglich auf eine neue Maschine zu migrieren?

Ich brauche eine andere Möglichkeit, als mein Schema einzeln manuell auf dem neuen Computer neu zu konfigurieren und hinzuzufügen.

Dies geschieht mit der Absicht, die alte Maschine höchstwahrscheinlich auszuschalten.

TL; DR Gibt es eine Möglichkeit, die LDAP-Datenbank, das LDAP-Schema und die LDAP-Konfiguration bequem von einem LDAP-Server auf einen neuen LDAP-Server zu migrieren, um den alten Computer auszuschalten?

Vielen Dank.

* Veröffentlichte die Antwort unten

- Julio

J_LDAP
quelle
2
Sie sollten Ihre Lösung wirklich als Antwort und nicht als Änderung Ihrer Frage veröffentlichen.
Sven

Antworten:

17

Die Lösung :

Hier ist, was ich getan habe, damit dies funktioniert.

  1. Stoppen Sie Slapd auf dem Hauptserver
  2. Slapcat-Datenbanken vom Hauptserver (Es müssen 2 Datenbanken exportiert werden. Ich verwende das Tag "-n"

    slapcat -n 0 -l (config file location)
    

Dieser exportiert das gesamte Schema und cn = config und

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

Mit dieser Option werden alle Benutzerdaten exportiert, die Sie in LDAP behalten.

  1. SCPen Sie die 2 ldif-Datei auf den neuen Server (stellen Sie sicher, dass Sie LDAP auf dem Server installiert haben und dass die Konfiguration nahezu identisch ist, um dies zu vereinfachen)
  2. halt slapd auf dem neuen server.
  3. Löschen Sie den Inhalt des Ordners

    /etc/ldap/slapd.d
    
  4. Verwenden Sie slapadd, um die Konfiguration auf den neuen Server zu importieren

    slapadd -n 0 -l (config ldif location)
    

    -n 0 fügt die Konfiguration wieder zu LDAP hinzu

    slapadd -n 1 -l (database ldif location)
    

    -n 1 dient dazu, die Datenbank wieder zu LDAP hinzuzufügen

* EDIT: Irgendwie funktionieren diese Befehle bei meinem 2. 3. nicht ... und so weiter. Also das richtige Kommando, dass ich verifiziert habe, dass es funktioniert, ist

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

und

  slapadd -n 1 -l <data backup ldif path>
  1. Ändern Sie die Berechtigung im Ordner /etc/ldap/slapd.d (chown und chmod). Ich habe es geöffnet, um es zu öffnen und auf 755 zu ändern

Ändern Sie auch die Berechtigung im Ordner / var / lib / ldap (chown und chmod) in openldap

Wenn Sie ein Zertifikat für die TLS-Verbindung haben. Kopieren Sie die Zertifikate und Schlüssel vom alten Server auf den neuen Server genau an den gleichen Speicherort. ändere die Erlaubnis für die Orte.

  1. starte slapd.

und es sollte gut gehen.

Hoffe das hilft anderen Menschen

J_LDAP
quelle
Ich hatte Probleme mit den Berechtigungen für die Datenbankdateien in / var / lib / ldap, die auf den Eigentümer ldap umgestellt werden mussten. Davon abgesehen war dies sehr glatt.
Sheldonkreger
Ich bin
das braucht mehr positive stimmen. Ich habe 2 Wochen lang gejagt und getestet, ob mein Setup funktioniert. DANKE
hanzo2001
Ich
bin
In meinem Fall hat nur das Schema wie erwartet funktioniert, die Daten wurden nicht kopiert. Tatsächlich enthält das Dataset / var / lib / ldap am Zielort keine Zeichenfolge in Bezug auf Benutzer. Es scheint, dass nichts passiert ist. Ich musste die Datenbank in / var / lib / ldap manuell von der Quell- auf die Zielmaschine kopieren. Ich folgte serverfault.com/questions/227813/openldap-replication-problem/…
Fabiano Tarlao
6

Exportieren Sie beide Bäume ( cn=configund Ihre regulären Daten) in LDIF und importieren Sie sie wieder auf den neuen Server ( cn=configzuerst). Erledigt.

Außerdem cn=confighandelt es sich im Wesentlichen nur um eine Auflistung von LDIF-Dateien, und es ist möglicherweise möglich, diese Auflistung einfach an denselben relativen Speicherort auf dem neuen Server zu kopieren (solange sie slapdnicht ausgeführt wird).

Sven
quelle
Wie exportiere ich sie genau? Was ist mit Schema (neue Objektklasse, Attributtypen)? Vielen Dank für die Antwort
J_LDAP
Die Schemas sollten in cn=schema,cn=config(oder so ähnlich) definiert und in der LDIF-Datei enthalten sein.
Sven
Ok, danke für die Antwort. Ich werde es später versuchen. Ich danke dir sehr.
J_LDAP