如何将 LDAP(数据库、模式、配置)迁移到其他机器

如何将 LDAP(数据库、模式、配置)迁移到其他机器

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

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

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

而且我还有新的模式(属性类型和对象类),有没有办法尽可能轻松地将它们迁移到新机器?

除了重新配置并手动将我的模式逐一添加到新机器之外,我还需要其他方法。

这样做很可能是为了关闭旧机器。

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

谢谢。

*答案发布于下方

- 胡利奥

答案1

解决方案 :

因此,这就是我为使这个工作成功所做的事情。

  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 文件通过 SCP 传输到新服务器(确保您在服务器上安装了 LDAP,并且确保配置几乎相同,以使此操作更容易)
  2. 在新服务器上停止 slapd。
  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)。我将其 chown 设置为 openldap,并将其 chmod 设置为 755

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

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

  1. 启动 slapd。

一切就绪。

希望这能帮助其他人

答案2

将两棵树(cn=config以及常规数据)导出到 LDIF,然后将它们重新导入到新服务器(cn=config首先)。完成。

此外,cn=config本质上只是 LDIF 文件的集合,可能只需将该集合复制到新服务器上的相同相对位置(当slapd未运行时)。

相关内容