[Dovecot] Questiosn about dbox

Sven Hartge sven at svenhartge.de
Mon Jan 24 23:17:22 EET 2011


Javier de Miguel Rodríguez <javierdemiguel at us.es> wrote:

>>> We think that mdbox can help us in this. Does anybody has good
>>> experiences migrating from maildir->mdox in "large" enviroments?
>>> What about mdox performance&  reliability?

>> I haven't recently heard of corruption complaints about mdbox..
>> Previously when there were those, I didn't hear of complains about
>> losing mails or anything, so that's good :)

> Any additional comments about this? We are seriously thinking about 
> migrating to mdbox, but is always scary "to be the first one"

I take this thread and jump in, since we (TH Mittelhessen, Germany) are
also investigating the move to Dovecot and we also have the same
situation as Javier: Courier with Maildir and Bacula as backup
solution, we even have about the same amount of mails in our system.

And I was also wondering which storage format to use: stay at Maildir
(no need to worry about indexes, just restore straight to the users
$HOME/Maildir and be done with it), use sdbox or use mdbox.

mdbox looks nice, but the following from the wiki got me thinking:

"Expunging a message only decreases the message's refcount. The space is
later freed in "purge" step. This is typically done in a nightly cronjob
when there's less disk I/O activity. The purging first finds all files
that have refcount=0 mails. Then it goes through each file and copies
the refcount>0 mails to other mdbox files (to the same files as where
newly saved messages would also go), updates the map index and finally
deletes the original file."

For example, we got m.1, m.2 and m.3 and all files have deleted mails in
it. During expunge, all undeleted mails would go to m.4 and m.5 for
example.

Now Bacula backups the mailstorage and has 2 new files to backup and 3
old ones to "delete/forget" (using the accurate backup option).

Wouldn't this massivly increase the size of the backup because I end up
backing many mails multiple times?

With Maildir, a mail only gets backupped twice (or if it is moved to a
different folder), if it is read in between to backup runs, since the
filename changes but with mdbox, a mail may get backupped every day (in
the worst case) if it is moved to a new data file every day during the
expunge run.

Solution?

I thought of limiting the amount of mails inside the mdbox to one, thus
of course defeating the benefit of having multiple mails inside one
file, but gaining a stable file name over the whole lifetime of a mail
which will never change, even if the file is moved to a different folder
or its state changes.

Am I making any sense here?

Problem: I my end up with hundred thousands of m.* files inside a users
storage area (Don't ask, we really have this kind of user. And no, there
are uneducable about this.), even if the user neatly sorted them into
different IMAP folders.

So, right now I have got the feeling, I am missing something important
here.

Comments?

Grüße,
Sven.

-- 
Sig lost. Core dumped.



More information about the dovecot mailing list