我正在使用 openldap 2.4.40,我需要将现有的 ldap 数据库、配置和模式(基本上所有与 ldap 服务器相关的内容)迁移到新机器。
问题是,我使用 cn=config 配置,而不是旧的 slapd.conf 文件。
openldap 和其他第三方网站提供的文档仅帮助迁移 slapd.conf LDAP 服务器,而不能帮助迁移具有较新的 cn=config 配置文件的 LDAP 服务器。
而且我还有新的模式(属性类型和对象类),有没有办法尽可能轻松地将它们迁移到新机器?
除了重新配置并手动将我的模式逐一添加到新机器之外,我还需要其他方法。
这样做很可能是为了关闭旧机器。
总结是否有任何方法可以方便地将 LDAP 数据库、架构、配置从 1 个 LDAP 服务器迁移到新的 LDAP 服务器,以便关闭旧机器
谢谢。
*答案发布于下方
- 胡利奥
答案1
解决方案 :
因此,这就是我为使这个工作成功所做的事情。
- 在主服务器上停止 Slapd
来自主服务器的 Slapcat 数据库(有 2 个数据库需要导出。我使用“-n”标签
slapcat -n 0 -l (config file location)
这将导出所有架构和 cn=config 以及
slapcat -n 1 -l <database backup ldif path>
这将导出您在 LDAP 中保存的所有用户数据。
- 将 2 个 ldif 文件通过 SCP 传输到新服务器(确保您在服务器上安装了 LDAP,并且确保配置几乎相同,以使此操作更容易)
- 在新服务器上停止 slapd。
删除文件夹的内容
/etc/ldap/slapd.d
使用 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>
- 更改 /etc/ldap/slapd.d 文件夹中的权限(chown 和 chmod)。我将其 chown 设置为 openldap,并将其 chmod 设置为 755
同时将 /var/lib/ldap 文件夹(chown 和 chmod)中的权限更改为 openldap
如果您有 TLS 连接的证书。将证书和密钥从旧服务器复制到新服务器的相同位置。更改位置的权限。
- 启动 slapd。
一切就绪。
希望这能帮助其他人
答案2
将两棵树(cn=config
以及常规数据)导出到 LDIF,然后将它们重新导入到新服务器(cn=config
首先)。完成。
此外,cn=config
本质上只是 LDIF 文件的集合,可能只需将该集合复制到新服务器上的相同相对位置(当slapd
未运行时)。