我使用的是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 :
所以这是我做了这个工作。
来自主服务器的Slapcat数据库(有2个需要导出的数据库,我使用“-n”标签
slapcat -n 0 -l (config file location)
这一个将导出所有架构和cn = config和
slapcat -n 1 -l <database backup ldif path>
这将导出您保存在LDAP中的所有用户数据。
删除文件夹的内容
/etc/ldap/slapd.d
使用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>
还要将/ var / lib / ldap文件夹(chown和chmod)的权限更改为openldap
如果您有TLS连接的证书。 将旧服务器中的证书和密钥复制到新的服务器,以确定相同的位置。 更改地点的权限。
这应该是好的去。
希望这可以帮助其他人
将这两个树( cn=config和您的常规数据)导出到LDIF中,将它们导回到新服务器( cn=config first)。 完成。
另外, cn=config基本上只是LDIF文件的一个集合,并且可能只是将此集合复制到新服务器上的相同相对位置(而slapd未运行)。