LDAP迁移到新的LDAP服务器

我需要将我的LDAP服务器移动到一个新的。 它目前在Ubuntu 7.04服务器上运行。 有没有办法备份这个服务器,在新的Ubuntu 11.04服务器上安装一个新的openldap服务器,并恢复旧的数据库呢?

我已经尝试备份到一个LDIF,并将其恢复到一个新的OpenLDAP服务器,但我想这是无法恢复与它的configuration。

任何帮助表示赞赏,谢谢

你的configuration应该只在一个文件中。 在7.04上,我相信你有一个/etc/ldap/ldap.conf,你的configuration是。 你应该能够把configuration文件移动到一个新的系统上,然后用-f参数来启动这个configuration文件的openldap,或者你也可以转换为使用dynamic后端,你可能不想这样做,因为增加了复杂性。 既然你可以用slapcat转储你的内容,并且可以导入它们,唯一的缺点就是你的configuration文件。

你不能使用复制迁移,ubuntu 7.1自带的openldap 2.2没有syncrepl,只有slurpd。 Ubuntu 11的OpenCLAP 2.4有syncrepl不slurpd。 可以从OpenLDap 2.2在线迁移到OpenLDap 2.3和OpenLDAP 2.3到OpenLDap 2.4,但绝对不是OpenLDap 2.2到OpenLDap 2.4。

你需要备份你的ldap树并重新添加。

使用ldapsearch或slapcat备份旧LDAP服务器系统上的数据

$ldapsearch -x -LLL -b "dc=yourbase,dc=com" -D "cn=Manager,dc=yourbase,dc=com" -W >> mybackup.ldif 

或使用slapcat,但要确保slapd在运行slapcat之前停止。

 $slapcat -l /tmp/backup.ldif 

将其导出到文件后,从备份文件中删除以下属性。 如果使用slapcat方法。

 entryUUID|creatorsName|structuralObjectClass|createTimestamp|entryCSN|modifiersName|modifyTimestamp| contextCSN 

使用ldapadd命令导入ldif文件

 $slapadd -F /etc/openldap/slapd.d/ -n 0 -l /tmp/backup1.ldif 

对于在ubuntu 7.1中使用第三方模式文件的情况,在将模式文件复制到ubuntu11之后,如果发生任何模式违规,如在第三方模式文件中使用的OID可能与ubuntu 11的OpenLDAP版本不兼容,在这种情况下,请联系提供架构文件的供应商。

如果你从一台32位机器移到一台64位机器,OpenLDAP的数据可能不兼容。 我无法在OpenLDAP文档中find有关数据迁移过程的文档,但是Zimbra文档可能能够指出您正确的方向: http ://wiki.zimbra.com/wiki/Network_Edition:_Moving_from_32-bit_to_64- bit_Server

这个为我工作:

通过运行以下命令获取旧服务器上的数据副本:

 ldapsearch -z max -LLL -Wx -D "cn=admin,dc=your,dc=domain" -b "dc=your,dc=base" > save.ldif 

将文件移动到新的服务器,并通过运行以下内容导入它:

 ldapmodify -c -Wx -D "cn=admin,dc=your,dc=domain" -a -f save.ldif