如何将LDAP(数据库,模式,configuration)迁移到其他机器

我使用的是openldap 2.4.40,我需要将现有的ldap数据库,configuration和模式(基本上所有ldap服务器相关的)都迁移到新机器上。

问题是,我使用cn = configconfiguration,而不是旧的slapd.conf文件了。

由openldap和其他第三方网站提供的文档仅帮助迁移slapd.conf LDAP服务器,而不是使用较新的cn = configconfiguration文件迁移LDAP服务器。

还有我有新的模式(attributetype和objectclass),有没有办法将这些迁移到一个新的机器尽可能容易?

我需要其他的方式,而不是重新configuration和手动添加我的模式逐一到新的机器。

这将是最有可能closures旧机器的意图。

TL; DR 是否有任何方法可以方便地将LDAP数据库,模式,configuration从1个LDAP服务器迁移到新的LDAP服务器,以closures旧机器

谢谢。

*发表下面的答案

– Julio

    解决scheme :

    所以这是我做了这个工作。

    1. 在主服务器上停止Slapd
    2. 来自主服务器的Slapcat数据库(有2个需要导出的数据库,我使用“-n”标签

      slapcat -n 0 -l (config file location) 

    这一个将导出所有架构和cn = config和

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

    这将导出您保存在LDAP中的所有用户数据。

    1. 将2个ldif文件传送到新服务器(确保在服务器上安装了LDAP,并确保configuration几乎相同,从而使其更容易)
    2. 停止新服务器上的slapd。
    3. 删除文件夹的内容

       /etc/ldap/slapd.d 
    4. 使用slapadd将configuration导入新服务器

       slapadd -n 0 -l (config ldif location) 

      -n 0用于将configuration添加回LDAP

       slapadd -n 1 -l (database ldif location) 

      -n 1用于将数据库添加回LDAP

    *编辑:不知何故,这些命令将无法正常工作在我的第二次3 ….等等尝试。 所以,我已经确认它的正确命令是

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

      slapadd -n 1 -l <data backup ldif path> 
    1. 更改/etc/ldap/slapd.d文件夹(chown和chmod)中的权限。 我把它变成了openldap,并把它调到755

    还要将/ var / lib / ldap文件夹(chown和chmod)的权限更改为openldap

    如果您有TLS连接的证书。 将旧服务器中的证书和密钥复制到新的服务器,以确定相同的位置。 更改地点的权限。

    1. 开始slapd。

    这应该是好的去。

    希望这可以帮助其他人

    将这两个树( cn=config和您的常规数据)导出到LDIF中,将它们导回到新服务器( cn=config first)。 完成。

    另外, cn=config基本上只是LDIF文件的一个集合,并且可能只是将此集合复制到新服务器上的相同相对位置(而slapd未运行)。