J_L*_*DAP 19 openldap configuration ldap migration schema
我使用的是 openldap 2.4.40,我需要将我现有的 ldap 数据库、配置和架构(基本上与 ldap 服务器相关的所有内容)迁移到新机器上。
问题是,我使用 cn=config 配置而不是旧的 slapd.conf 文件了。
openldap 和其他 3rd 方网站提供的文档仅有助于迁移 slapd.conf LDAP 服务器,而不是具有较新 cn=config 配置文件的 LDAP 服务器。
而且我有新的模式(属性类型和对象类),有没有办法尽可能轻松地将它们迁移到新机器上?
除了重新配置并将我的模式一个接一个地手动添加到新机器之外,我需要其他方法。
这样做的目的是最有可能关闭旧机器。
TL;DR有什么方法可以方便地将 LDAP 数据库、模式、配置从 1 个 LDAP 服务器迁移到新的 LDAP 服务器,目的是关闭旧机器
谢谢你。
*在下面发布了答案
- 胡里奥
J_L*_*DAP 21
解决方案 :
所以这就是我所做的工作。
来自主服务器的 Slapcat 数据库(有 2 个数据库需要导出。我使用“-n”标签
slapcat -n 0 -l (config file location)
Run Code Online (Sandbox Code Playgroud)这将导出所有架构和 cn=config 和
slapcat -n 1 -l <database backup ldif path>
Run Code Online (Sandbox Code Playgroud)
这将导出您保存在 LDAP 中的所有用户数据。
删除文件夹的内容
/etc/ldap/slapd.d
Run Code Online (Sandbox Code Playgroud)使用 slapadd 将配置导入到新服务器
slapadd -n 0 -l (config ldif location)
Run Code Online (Sandbox Code Playgroud)
-n 0 用于将配置添加回 LDAP
slapadd -n 1 -l (database ldif location)
Run Code Online (Sandbox Code Playgroud)
-n 1 用于将数据库添加回 LDAP
*编辑:不知何故,这些命令在我的第二个第三个......上不起作用......等等。所以我已经证实它有效的正确命令是
slapadd -n 0 -F /etc/ldap/slapd.d -l <config backup ldif path>
Run Code Online (Sandbox Code Playgroud)
和
slapadd -n 1 -l <data backup ldif path>
Run Code Online (Sandbox Code Playgroud)
还将 /var/lib/ldap 文件夹(chown 和 chmod)中的权限更改为 openldap
如果您有 TLS 连接的证书。将证书和密钥从旧服务器复制到新服务器到相同的确切位置。更改地点的权限。
去应该很好。
希望这可以帮助其他人
将两个树(cn=config和您的常规数据)导出到 LDIF,然后将它们导入新服务器(cn=config首先)。完毕。
此外,cn=config本质上只是一个 LDIF 文件的集合,可能只是将此集合复制到新服务器上的相同相对位置(slapd未运行时)。