我想完全迁移整个数据库,包括conf、schema、(所有内容)从非常旧的Debian 4( etch )实例到新的Debian 11(靶心)。
源系统正在运行slapd 2.3.30和目的地slapd 2.4.57
我发现了一些关于如何做到这一点的主题,例如这个:如何将 LDAP 迁移到其他计算机 但在我的例子中,这不起作用。我收到以下错误:
> slapcat -n 0 -l schema.backup.ldif
/etc/ldap/slapd.conf: line 183: rootdn is always granted unlimited privileges.
/etc/ldap/slapd.conf: line 193: rootdn is always granted unlimited privileges.
/etc/ldap/slapd.conf: line 202: rootdn is always granted unlimited privileges.
/etc/ldap/slapd.conf: line 231: rootdn is always granted unlimited privileges.
slapcat: could not open database
我也尝试过-F指向/etc/ldap/slapd.conf和-F指向/etc/ldap/ 目录切换但没有帮助。
只需完成备份即可-n 1交换机未导入到新服务器并出现错误 - 这是预期的:
> slapadd -l database.ldif
slapadd: line 1: database #1 (dc=localdomain) not configured to hold "dc=system,o=domain,c=com"; no database configured for that naming context
Closind DB...
无论如何,即使它起作用了,它也会缺少整个配置和模式,所以这不是我需要的。
我设法在关闭 slapd 守护进程的情况下将备份转储到源旧系统上:
> slapcat -l backup.ldif
然后我将其与 slapd.conf、模式文件和证书一起复制到新机器并运行:
slaptest -f slapd.conf -F slapd.d/ -d 256
61264867 slapd.conf: line 150: <replogfile> keyword is obsolete (ignored)
61264867 slapd.conf: line 153: <replica> keyword is obsolete (ignored)
61264867 slapd.conf: line 183: rootdn is always granted unlimited privileges.
61264867 slapd.conf: line 193: rootdn is always granted unlimited privileges.
61264867 slapd.conf: line 202: rootdn is always granted unlimited privileges.
61264867 slapd.conf: line 231: rootdn is always granted unlimited privileges.
61264867 bdb_db_open: warning - no DB_CONFIG file found in directory /var/lib/ldap: (2).
Expect poor performance for suffix "dc=system,o=domain,c=pl".
61264867 bdb_db_open: database "dc=system,o=domain,c=pl": db_open(/var/lib/ldap/id2entry.bdb) failed: No such file or directory (2).
61264867 backend_startup_one (type=bdb, suffix="dc=system,o=domain,c=pl"): bi_db_open failed! (2)
slap_startup failed (test would succeed using the -u switch)
它看起来并不完美但允许我导入备份数据库:
# slapadd -l backup.ldif
612648c3 bdb_db_open: warning - no DB_CONFIG file found in directory /var/lib/ldap: (2).
Expect poor performance for suffix "dc=system,o=domain,c=com".
-#################### 100.00% eta none elapsed 21s spd 88.2 k/s
Closing DB...
看起来不错。无论如何它没有启动,尝试使用 -d 256 进行调试,但在 journalctl -xe 中没有任何有趣的内容:
slapd[2728]: Starting OpenLDAP: slapd
slapd[2734]: failed!
我可以使用 slapcat 来获取该数据,但它不会运行 slapd 守护进程。
我还能做什么?也许我做错了?
有没有通用的好方法将整个 OpenLDAP 服务器迁移到新机器?
感谢帮助 :)