Como migrar LDAP (banco de dados, esquema, configuração) para outra máquina

16

Estou usando o openldap 2.4.40 e preciso migrar meu banco de dados, configuração e esquema ldap existentes (basicamente tudo relacionado ao servidor ldap) para uma nova máquina.

o problema é que eu uso a configuração cn = config e não o arquivo slapd.conf antigo.

A documentação fornecida pelo openldap e outros sites de terceiros apenas ajuda na migração do servidor LDAP slapd.conf, não do servidor LDAP com o arquivo de configuração cn = config mais recente.

e também tenho um novo esquema (tipo de atributo e classe de objeto), existe uma maneira de migrá-los para uma nova máquina o mais facilmente possível?

Preciso de outra maneira que não reconfigurar e adicionar meu esquema manualmente, um por um, à nova máquina.

Isso será feito com a intenção de desligar a máquina antiga com maior probabilidade.

TL; DR Existe alguma maneira de migrar convenientemente o banco de dados LDAP, esquema e configuração de 1 servidor LDAP para um novo servidor LDAP com a intenção de desligar a máquina antiga

Obrigado.

* Postado a resposta abaixo

- Julio

J_LDAP
fonte
2
Você realmente deve postar sua solução como resposta e não como uma edição da sua pergunta.
Sven

Respostas:

17

A solução :

Então aqui está o que eu fiz para fazer isso funcionar.

  1. Pare o Slapd no servidor principal
  2. Bancos de dados Slapcat do servidor principal (Existem 2 bancos de dados que precisam ser exportados. Eu uso a tag "-n"

    slapcat -n 0 -l (config file location)
    

Este exportará todo o esquema e cn = config e

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

Isso ativará a exportação de todos os dados do usuário que você mantém no LDAP.

  1. SCP o arquivo 2 ldif para o novo servidor (verifique se você instalou o LDAP no servidor e verifique se a configuração é quase idêntica para facilitar isso)
  2. pare o slapd no novo servidor.
  3. excluir o conteúdo da pasta

    /etc/ldap/slapd.d
    
  4. use slapadd para importar a configuração para o novo servidor

    slapadd -n 0 -l (config ldif location)
    

    -n 0 é para adicionar a configuração novamente ao LDAP

    slapadd -n 1 -l (database ldif location)
    

    -n 1 é para adicionar banco de dados novamente ao LDAP

* EDIT: De alguma forma, esses comandos não funcionarão no meu segundo 3º .... e assim por diante. Então, o comando adequado que eu verifiquei que funciona é

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

e

  slapadd -n 1 -l <data backup ldif path>
  1. altere a permissão na pasta /etc/ldap/slapd.d (chown e chmod). Eu chown para openldap e chmod para 755

Altere também a permissão na pasta / var / lib / ldap (chown e chmod) para openldap

se você possui certificado para conexão TLS. Copie os certificados e as chaves do servidor antigo para o novo servidor no mesmo local exato. mude a permissão nos lugares.

  1. iniciar slapd.

e deve ser bom ir.

Espera que isso ajude outras pessoas

J_LDAP
fonte
Eu tive problemas com permissões nos arquivos de banco de dados em / var / lib / ldap, que precisavam ser trocados para o proprietário ldap. Fora isso, isso era muito suave.
Sheldonkreger
feliz que funciona bem para você
J_LDAP
isso precisa de mais votos. Eu tenho caçado e testado por 2 semanas para que minha instalação funcione. OBRIGADO
hanzo2001
Que bom que meu post pode ajudar outras pessoas?
J_LDAP 28/09
No meu caso, apenas o esquema funcionou como esperado, os dados não foram copiados. De fato, o conjunto de dados / var / lib / ldap on destination não contém nenhuma string referente aos usuários ... parece que nada aconteceu. Eu tive que copiar manualmente o banco de dados em / var / lib / ldap da fonte para a máquina de destino; Eu segui serverfault.com/questions/227813/openldap-replication-problem/… #
Fabiano Tarlao
6

Exporte ambas as árvores ( cn=confige seus dados regulares) para LDIF, importe-as novamente no novo servidor ( cn=configprimeiro). Feito.

Além disso, cn=configé essencialmente apenas uma coleção de arquivos LDIF e pode ser possível copiar essa coleção no mesmo local relativo no novo servidor (enquanto slapdnão estiver em execução).

Sven
fonte
como exatamente eu os exporto? E o esquema (nova classe de objeto, tipos de atributos)? Obrigado pela resposta
J_LDAP
Os esquemas devem ser definidos em cn=schema,cn=config(ou algo parecido) e estarão contidos no arquivo LDIF.
Sven
Ok, obrigado fot a resposta. Vou tentar mais tarde. Muito obrigado.
J_LDAP