[Freeipa-users] Purge old entries in /var/lib/dirsrv/slapd-xxx/cldb/xxx.db4 file
David Goudet
david.goudet at lyra-network.com
Sun Mar 13 20:32:01 UTC 2016
Hi,
After more investigation i found a solution to fix my problem. Hereafter some details.
I think i had two linked problems:
Problem 1: In /var/lib/dirsrv/slapd-xxx/cldb/xxx.db4 there was some old entry about ~five months old, it was probably some Tombstone entry. (Replication state between two dirvsrv master/master was good and stable).
Problem 2: purge attribute "nsslapd-changelogmaxage" had default value 30 day but the volume of data stored in db4 database was greater than ~4 Go which is space available on /var/lib/ partition. So partition was filled with entry which are prior to 30 days.
Problem 1 was solved by removing db4 database (be carreful of impacts, dirsrv replication should work and db well synchronised before do this):
service dirsrv stop && mv /var/lib/dirsrv/slapd-xxx/cldb/xxx.db4 /var/lib/dirsrv/slapd-xxx/cldb/xxx.db4-old && service dirsrv start
Problem 2 was solved by decreasing purge attribute "nsslapd-changelogmaxage" from 30d to 10d (i don't need more data and want to increase partition space).
To know: purge seems to be run every five minutes, so freeing entry is not instantaneous, it occurs after ~6 minutes.
I agree, you are right:
> Also trimming removes changelog records and frees space internally ro the db4 file to be reused, but it will not shrink the file size
I think it is not mandatory but i set default value of following purge parameters:
nsDS5ReplicaPurgeDelay: 604800
nsDS5ReplicaTombstonePurgeInterval: 86400
I follwed the good documentation:
https://access.redhat.com/documentation/en-US/Red_Hat_Directory_Server/9.0/html-single/Configuration_Command_and_File_Reference/index.html
Thanks for your help!
David
----- Original Message -----
From: "Ludwig Krispenz" <lkrispen at redhat.com>
To: "freeipa-users" <freeipa-users at redhat.com>
Sent: Tuesday, December 22, 2015 1:55:06 PM
Subject: Re: [Freeipa-users] Purge old entries in /var/lib/dirsrv/slapd-xxx/cldb/xxx.db4 file
Hi,
On 12/22/2015 11:43 AM, David Goudet wrote:
> Hi,
>
> I have multimaster replication environment. On each replica, folder /var/lib/dirsrv/slapd-xxxx/cldb/ has big size (3~GB) and old entries in /var/lib/dirsrv/slapd-xxx/cldb/xxx.db4 have three month year old:
>
> sudo dbscan -f /var/lib/dirsrv/slapd-xxxx/cldb/ef155b03-dda611e2-a156db20-90xxx06_51c9aed900xxxxxx000.db4 | less
> dbid: 56239e5e000000040000
> replgen: 1445174777 Sun Oct 18 15:26:17 2015
> csn: 56239e5e000000040000
> uniqueid: e55d5e01-26f211e4-9b60db20-90c3b706
> dn: xxxx
> operation: modify
> krbLastSuccessfulAuth: 20151018132617Z
> modifiersname: cn=Directory Manager
> modifytimestamp: 20151018132617Z
> entryusn: 68030946
>
> My questions are:
>
> a) How to purge old entries in file /var/lib/dirsrv/slapd-xxx/cldb/xxx.db4? (what is the procedure)
> b) What is the right configuration to limit increase of this file?
setting changelog maxage should be sufficient to trim changes, but the
age is not the only condition deciding if a recored in the changelog can
be deleted.
- for each replicaID the last record will never be deleted, independent
of its age, so if you have replicas in your topology which are not (or
not frequently) updated directly there will be old changes in the changelog
- if the replica where the trimming is run and if it has replication
agreements to other replicas, changes which were not yet replicated to
the other replica will not be purged. So, if you have some stale
agreements to other replicas this could prevent trimming as well.
Also trimming removes changelog records and frees space internally ro th
edb4 file to be reused, but it will not shrink the file size
>
>
>
> This topic has been already talk on https://www.redhat.com/archives/freeipa-users/2013-February/msg00433.html or https://www.redhat.com/archives/freeipa-users/2015-April/msg00573.html but no response work for me.
> Response here seems to be not applicable https://bugzilla.redhat.com/show_bug.cgi?id=1181341 (Centos 7, Fixed In Version: 389-ds-base-1.3.4.0-1.el7)
>
> I used some attributes from the docuementation: https://access.redhat.com/documentation/en-US/Red_Hat_Directory_Server/9.0/html/Configuration_Command_and_File_Reference/Core_Server_Configuration_Reference.html#cnchangelog5-nsslapd_changelogdir. Old entries are not purged and file increase even after restart service (service dirvsrv start and service dirvsrv stop).
>
> (This test environment values)
> dn: cn=changelog5,cn=config
> objectClass: top
> objectClass: extensibleobject
> cn: changelog5
> ...
> nsslapd-changelogmaxentries: 100
> nsslapd-changelogmaxage: 4m
>
> dn: cn=replica,cn=xxxxx,cn=mapping tree,cn=config
> cn: replica
> nsDS5Flags: 1
> objectClass: top
> objectClass: nsds5replica
> objectClass: extensibleobject
> nsDS5ReplicaType: 3
> nsDS5ReplicaRoot: dc=xxxxx
> nsds5ReplicaLegacyConsumer: off
> nsDS5ReplicaId: 6
> nsDS5ReplicaBindDN: cn=replication manager,cn=config
> nsDS5ReplicaBindDN: krbprincipalname=ldap/xxxxxx
> .LYRA,cn=services,cn=accounts,dc=xxxxx
> nsState:: xxxxx
> nsDS5ReplicaName: d9663d08-a80f11e5-aa48d241-0b88f012
> nsds5ReplicaTombstonePurgeInterval: 200
> nsds5ReplicaPurgeDelay: 200
> nsds5ReplicaChangeCount: 3091
> nsds5replicareapactive: 0
>
> Hereafter some informations about my environment:
> CentOS release 6.5 (Final)
> 389-ds-base-libs-1.2.11.15-65.el6_7.x86_64
> 389-ds-base-1.2.11.15-65.el6_7.x86_64
> ipa-client-3.0.0-47.el6.centos.1.x86_64
> ipa-server-3.0.0-47.el6.centos.1.x86_64
>
> Thanks for your help!
>
> David
>
--
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go to http://freeipa.org for more info on the project
More information about the Freeipa-users
mailing list