如何将LDAP(数据库,架构,配置)迁移到其他计算机


16

我正在使用openldap 2.4.40,我需要将现有的ldap数据库,配置和模式(基本上是与ldap服务器相关的所有内容)迁移到新计算机上。

问题是,我不再使用cn = config配置而不是旧的slapd.conf文件。

openldap和其他第三方网站提供的文档仅有助于迁移slapd.conf LDAP服务器,而不能迁移具有较新cn = config配置文件的LDAP服务器。

而且我还有新的架构(属性类型和对象类),有没有办法将它们尽可能容易地迁移到新机器上?

除了将配置手动一个接一个地手动重新添加到新计算机之外,我还需要其他方法。

这样做的目的是最有可能关闭旧机器。

TL; DR 是否有任何方法可以方便地将LDAP数据库,架构,配置从1个LDAP服务器迁移到新的LDAP服务器,以关闭旧计算机

谢谢。

*在下面发布答案

-朱利奥


2
您确实应该将解决方案作为答案而不是对问题的修改。
Sven

Answers:


17

解决方案 :

因此,这就是我所做的工作。

  1. 在主服务器上停止拍打
  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文件SCP锁定到新服务器上(确保已在服务器上安装了LDAP,并确保配置几乎相同以简化此操作)
  2. 停止在新服务器上打耳光。
  3. 删除文件夹的内容

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

    slapadd -n 0 -l (config ldif location)
    

    -n 0用于将配置添加回LDAP

    slapadd -n 1 -l (database ldif location)
    

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

*编辑:以某种方式,这些命令在我的第二个三号上将不起作用..等等,尝试一下。因此,我已验证其正常工作的正确命令是

  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并chmod为755

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

如果您具有TLS连接的证书。将证书和密钥从旧服务器复制到新服务器到相同的确切位置。更改地方的权限。

  1. 开始一巴掌。

而且应该很好。

希望这对其他人有帮助


我对/ var / lib / ldap中的数据库文件的权限存在问题,需要将其切换为所有者ldap。除此之外,这非常顺利。
sheldonkreger

很高兴它为您服务很好
J_LDAP

这需要更多的支持。我一直在寻找和测试2周,以使我的设置正常工作。谢谢
hanzo2001

很高兴我的帖子可以帮助其他人
-J_LDAP

在我的情况下,只有架构按预期工作,数据尚未被复制。实际上,目标上的数据集/ var / lib / ldap不包含有关用户的任何字符串...似乎什么也没发生。我必须手动将/ var / lib / ldap中的数据库从源复制到目标计算机;我跟着serverfault.com/questions/227813/openldap-replication-problem/...
法比亚诺Tarlao

6

将两个树(cn=config和常规数据)都导出到LDIF中,然后将它们重新导入到新服务器上(cn=config首先)。做完了

同样,cn=config从本质上来说,这只是LDIF文件的集合,并且可能仅将此集合复制到新服务器上的相同相对位置(slapd不运行时)。


我如何准确导出它们?架构(新的对象类,属性类型)呢?感谢您的回答
J_LDAP

模式cn=schema,cn=config(或类似的东西)中定义,并将包含在LDIF文件中。
斯文

好,谢谢答案。我稍后再试。非常感谢。
J_LDAP
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.