Cómo migrar LDAP (base de datos, esquema, configuración) a otra máquina

16

Estoy usando openldap 2.4.40, y necesito migrar mi base de datos, configuración y esquema ldap existentes (básicamente todo lo relacionado con el servidor ldap) a una nueva máquina.

El problema es que uso cn = configuración de configuración ya no es el viejo archivo slapd.conf.

La documentación proporcionada por openldap y otros sitios web de terceros solo ayuda a migrar el servidor LDAP slapd.conf, no el servidor LDAP con el archivo de configuración cn = config más reciente.

y también tengo un nuevo esquema (tipo de atributo y clase de objeto), ¿hay alguna forma de migrarlos a una nueva máquina tan fácilmente como sea posible?

Necesito otra forma que no sea reconfigurar y agregar mi esquema manualmente uno por uno a la nueva máquina.

Esto se hará con la intención de apagar la vieja máquina muy probablemente.

TL; DR ¿Hay alguna forma de migrar convenientemente la base de datos LDAP, el esquema y la configuración de 1 servidor LDAP a un nuevo servidor LDAP con la intención de apagar la máquina anterior?

Gracias.

* Publicado la respuesta a continuación

- Julio

J_LDAP
fuente
2
Realmente debería publicar su solución como respuesta y no como una edición a su pregunta.
Sven

Respuestas:

17

La solución :

Así que esto es lo que hice para que esto funcione.

  1. Detener Slapd en el servidor principal
  2. Bases de datos Slapcat del servidor principal (Hay 2 bases de datos que deben exportarse. Uso la etiqueta "-n"

    slapcat -n 0 -l (config file location)
    

Este exportará todo el esquema y cn = config y

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

Esta opción exportará todos los datos de usuario que guarde en LDAP.

  1. SCP el archivo 2 ldif al nuevo servidor (asegúrese de haber instalado LDAP en el servidor y asegúrese de que la configuración sea casi idéntica para hacerlo más fácil)
  2. deje de abofetear en el nuevo servidor.
  3. eliminar el contenido de la carpeta

    /etc/ldap/slapd.d
    
  4. use slapadd para importar la configuración al nuevo servidor

    slapadd -n 0 -l (config ldif location)
    

    -n 0 es para agregar la configuración nuevamente a LDAP

    slapadd -n 1 -l (database ldif location)
    

    -n 1 es para agregar la base de datos a LDAP

* EDITAR: de alguna manera, ese comando no funcionará en mi 2da 3ra ... y así sucesivamente intente. Entonces, el comando adecuado que he verificado que funciona es

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

y

  slapadd -n 1 -l <data backup ldif path>
  1. cambie el permiso en la carpeta /etc/ldap/slapd.d (chown y chmod). Lo conocí en openldap y lo modifiqué en 755

También cambie el permiso en la carpeta / var / lib / ldap (chown y chmod) a openldap

si tiene certificado para la conexión TLS. Copie los certificados y las claves del servidor antiguo al nuevo servidor en la misma ubicación exacta. cambiar el permiso en los lugares.

  1. comenzar bofetada.

y debería ser bueno para ir.

Espera que esto ayude a otras personas

J_LDAP
fuente
Tuve problemas con los permisos en los archivos de la base de datos en / var / lib / ldap que debían cambiarse al propietario ldap. Aparte de eso, esto fue muy suave.
sheldonkreger
me alegro de que te funcione bien
J_LDAP
Esto necesita más votos a favor. He estado buscando y probando durante 2 semanas para que mi configuración funcione. GRACIAS
hanzo2001
Me alegra que mi publicación pueda ayudar a otros
J_LDAP
En mi caso, solo el esquema funcionó como se esperaba, los datos no se han copiado. De hecho, el conjunto de datos / var / lib / ldap en el destino no contiene ninguna cadena con respecto a los usuarios ... parece que no ha pasado nada. Tuve que copiar manualmente la base de datos en / var / lib / ldap desde la máquina de origen a la de destino; Seguí serverfault.com/questions/227813/openldap-replication-problem/…
Fabiano Tarlao
6

Exporte ambos árboles ( cn=configy sus datos regulares) a LDIF, impórtelos nuevamente en el nuevo servidor ( cn=configprimero). Hecho.

Además, cn=configes esencialmente una colección de archivos LDIF y podría ser posible copiar esta colección en la misma ubicación relativa en el nuevo servidor (mientras slapdno se está ejecutando).

Sven
fuente
¿Cómo los exporto exactamente? ¿Qué pasa con Schema (nueva clase de objeto, tipos de atributo)? Gracias por la respuesta
J_LDAP
Los esquemas deben estar definidos en cn=schema,cn=config(o algo así) y estarán contenidos en el archivo LDIF.
Sven
Ok, gracias por la respuesta. Lo intentaré más tarde. Muchas gracias.
J_LDAP