OpenLDAP BDB日志文件维护和自动删除

时间:2015-02-06 09:41:16

标签: ldap openldap berkeley-db

我对OpenLDAP / BDB在数据目录中创建的日志文件有疑问。这些文件的格式为log.XXXXXXXXXX(X为数字),每个文件的大小相同(可在DB_CONFIG中配置)。

我在OpenLDAP和BDB文档中阅读了很多关于检查点和日志文件维护的内容。这些文件增长非常快并且需要维护似乎是正常的。通常你应该定期备份它们并在之后删除它们。但是如何在长时间运行数据迁移期间处理这个问题?

在我的情况下,运行375个帐户的测试迁移,每个帐户向LDAP服务器触发3个写入请求,生成6个日志文件,每个文件5 MB。问题是,在实时系统上有超过37000个帐户需要迁移,并且不接受创建几千兆字节的日志文件。

因此我尝试配置自动删除日志文件,但建议的解决方案对我不起作用。阅读完文档后,我的结论是我必须通过slapd.conf启用检查点,并在DB_LOG_AUTOREMOVE文件中设置DB_CONFIG标志,如下所示:

我在slapd.conf中的设置:

checkpoint 128 15

我在DB_CONFIG中的设置:

set_flags DB_LOG_AUTOREMOVE
set_lg_regionmax 262144
set_lg_bsize 2097152

但是日志文件仍然存在 - 即使我将检查点设置减少到checkpoint 1 1。如果我在数据目录中运行slapd_db_archive -d所有这些文件,但最后一个文件被删除。

有没有人知道如何让自动删除工作?我很接近放弃并添加一个cron作业以在迁移期间运行slapd_db_archive -d。但我不确定这是否会引起问题。

我们正在使用OpenLDAP 2.3.43和BDB后端(精确的HDB)。

1 个答案:

答案 0 :(得分:0)

在BDB(dunno HDB)中,DB_LOG_AUTOREMOVE删除不引用数据库中当前记录的日志。*文件。这与删除所有日志文件不同。