[Dovecot] Questions about dbox (sdbox?), mdbox

Brandon Lamb brandonlamb at gmail.com
Sat Jul 17 06:46:14 EEST 2010


On Fri, Jul 16, 2010 at 8:34 PM, Brandon Lamb <brandonlamb at gmail.com> wrote:
> On Fri, Jul 16, 2010 at 4:07 PM, Brandon Lamb <brandonlamb at gmail.com> wrote:
>> On Fri, Jul 16, 2010 at 2:31 PM, Timo Sirainen <tss at iki.fi> wrote:
>>> On 16.7.2010, at 22.19, Brandon Lamb wrote:
>>>
>>>> My question is basically whether the dbox format is ready for
>>>> production environment, is sdbox or mdbox more stable/ready than the
>>>> other or does it matter? What are people's experience/review with
>>>> running this format (and if you reply can you tell me which one you're
>>>> using).
>>>
>>> sdbox is really simple. mdbox is more complex. A few people have used sdbox with v1.x, but it's more or less rewritten with v2.0. With v2.0 I'm not aware of any sdbox installations, but there is at least one somewhat large mdbox installation. They've had some problems, but I think those are mostly gone now.
>>
>> Any recommendation of one over the other? I came across a 2009 mailing
>> list entry where you showed some benchmark tests that had mdbox as the
>> fastest. Without any experience yet, my only possible hangup is being
>> able to restore individual (lost, whatever other reason) mails for
>> customers. Doesnt really happen but being able to restore individual
>> versus their whole mailbox is nice, but it happens so rarely it may be
>> a non issue.
>>
>>>> Is there any docs/wiki page for migrating from maildir -> dbox?
>>>
>>> dsync migrates between any two mailbox formats and does it as perfectly as it can. http://wiki2.dovecot.org/Tools/Dsync
>>
>> Awesome, I'll go do some reading and mess with that
>>
>>>> I have ~450gigs / 14k pop accounts I would have to migrate. Oh thats
>>>> another question, I have seen "hybrid" throw around, can I take this
>>>> to mean dbox/mdbox/both support both formats, maybe only new mail goes
>>>> into the dbox stuff? And if so (or even if not) is there any way to
>>>> actually convert from maildir to dbox?
>>>
>>> v1.x had some kind of a maildir/dbox hybrid.. until I realized it was just a bad idea. You can have per-user mail location defined in userdb though, so you can convert users a few at a time.
>>>
>>>> Another question, if there is such a conversion tool, does it break
>>>> UIDLs and require pop3 clients to redownload messages?
>>>
>>> dsync is awesome and preserves everything. But test it anyway just in case. I'd anyway recommend setting pop3_save_uidl=yes and sometimes after that (when you think everyone's logged in at least once) switching to pop3_uidl_format=%g while still running maildir. With Maildir the new UIDLs are then the filenames and with dbox the UIDLs will be message GUIDs. Those are much more permanent than anything based on IMAP UIDs. Not a requirement, but still :)
>>
>> Cool, if anything I could just have a script login to every users
>> account and logout and that would do the same thing right? Or does it
>> have to perform some kind of list or other action?
>>
>> Any main/major/big reasons to try to go with mdbox over sdbox? sdbox
>> being really simple = less prone to typos and other bad things
>> happening?
>>
>> Oh, what about if i migrate to sdbox, then decide to go with mdbox,
>> will I want to know for sure ahead of time? Granted I guess thats kind
>> of an obvious yes, but any big gotchas to know about if I did?
>>
>> Oh yea and dovecot kicks ass btw =P
>
> Ok I got all migrated over to dovecot2 configuration, and started to
> dive into this converting business... one thing I immediately fell
> into is that the wiki doesnt say anything about namespace issues. I
> return maildir:~/maildir in my current setup via prefetch/sql, and I
> got errors trying to do
>
> dsync -u brandon at olypen.com mirror mdbox:~/mdbox
>
> Do I need some special namespace configuation/setup?
>

I think I may have got it, I added the following to my 10-mail.conf

# maildir
namespace {
    type = private
    separator = /
    prefix =
#   location = maildir:~/maildir
    inbox = yes
    hidden = no
}

# mdbox
namespace {
    type = private
    separator = /
    prefix = "#mdbox/"
    location = mdbox:~/mdbox
    inbox = no
    hidden = no
}


More information about the dovecot mailing list