The Cyrus db (/var/imap/db) is suddenly hundreds of MB!
igor at ipass.net
Thu Oct 6 18:08:13 EDT 2005
On Thu, 6 Oct 2005, Paul Boven wrote:
> Hi Igor, everyone,
> Igor Brezac wrote:
>>>>> Trying to run 'ctl_cyrusdb -r' takes a few minutes but aborts with a
>>>>> coredump. When I try to start Cyrus, it tries to recover the database
>>>>> (but coredumps), then starts copying all these 10MB logfiles into
>>>>> db.backup and we run out of diskspace again.
>>>> change directory to /var/imap before you run ctl_cyrusdb -r:
>>>> cd /var/imap
>>>> ctl_cyrusdb -r
>>> But no, that doesn't make a difference, I did it from /var/imap the first
>>> time I tried, too.
>> I wonder if your db env is corrupt. stop cyrus server and
>> cd /var/imap
>> ctl_cyrusdb -r
>> If that does not work and if you use skiplist for the mailboxes db, you can
>> remove the contents of /var/imap/db and all berkeley dbs (deliver,
>> annotate, etc) and restart cyrus-imap.
> Yes, the mailboxes.db is a skiplist.
> In /var/imap I have these files:
> -rw------- 1 cyrus mail 144 Sep 30 18:28 annotations.db
> -rw------- 1 cyrus mail 1629672 Oct 6 19:50 core
> drwxr-x--- 2 cyrus mail 3584 Oct 6 19:50 db (863MB in here)
> drwx------ 2 cyrus mail 1536 Oct 6 17:00 db.backup1 (580MB in
> drwx------ 2 cyrus mail 512 Oct 6 16:30 db.backup2 (2kb in
> -rw------- 1 cyrus mail 1515520 Oct 6 16:28 deliver.db
> drwxr-x--- 2 cyrus mail 512 Aug 13 2004 log
> -rw------- 1 cyrus mail 5016276 Oct 6 16:06 mailboxes.db
> drwxr-x--- 2 cyrus mail 15360 Oct 6 16:48 proc
> drwxr-x--- 2 cyrus mail 512 Oct 6 16:59 socket
> -rw------- 1 cyrus mail 16384 Oct 6 04:00 tls_sessions.db
> drwx------ 25 cyrus mail 512 Aug 16 2004 user
> Question: What database exactl is in /var/imap/db?
This is berkeley db env. See http://www.sleepycat.com/docs/index.html for
> I understand that it gets
> backed up to db.backup1/db.backup2, but am not sure what it contains, and
> what the consequences of deleting it are... what will my users be missing if
> I do?
nothing. Duplicate suppression will not be as effective initialy.
> Deleting tls_sessions and deliver.db is ok, but what is in
> annotations.db, is that safe to remove to? Is it neccesary?
You do not use annotations, so it is safe to delete as well.
Have you trid to run db_recover first? You need to do all of this while
cyrus is stopped.
More information about the Info-cyrus