[Dovecot] Migration from v1 to v2 with hashed directory structure

Pavel Dimow paveldimow at gmail.com
Fri Mar 1 13:57:57 EET 2013


Tnx will try ;)

On Fri, Mar 1, 2013 at 10:41 AM, Steffen Kaiser
<skdovecot at smail.inf.fh-brs.de> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> On Thu, 28 Feb 2013, Ed W wrote:
>>
>> On 28/02/2013 13:59, Pavel Dimow wrote:
>>>
>>> Hi,
>>>
>>> I want to upgrade to version 2 but I would like to solve a long
>>> standing problem with 'flat' directory structure ie
>>>   we have /var/spool/vmail/mydomain.com/user at mydomain.com and I want a
>>> new server with version 2 to have
>>> hashed directory structure like /var/spool/vmail/mydomain.com/u/s/user
>>> I was wondering it f there is some better solution then dir hashing or
>>> a way to hash a dir other then first two letters.
>>> Also any suggestion how to perform this migration from old to new
>>> server with hashing on the fly?
>>>
>>
>> My thought would be that unless you have millions of users, such a rename
>> process will take only seconds to minutes?  Why not just take the server
>> down for a couple of minutes to do the rename process?
>>
>> If you wanted to be really clever, you could do it live using symlinks to
>> move the dirs, then update the dovecot config?
>
>
> Yeah:
>
> for dir in /var/spool/vmail/mydomain.com/*; do
>  to="$(script_to_map_name "$dir")"
>  if ! test -d "$(dirname "$to")"; then
>     # add -m 0555 if needed
>     mkdir -p "$(dirname "$to")"
>  fi
>  # If a new mails arrives or the user access the box
>  # there will be an error for a (very) short time
>  mv "$dir" "$to"
>  ln -s "$to" "$dir"
>  # no more errors done
>
> Then update the config, reload Dovecot, wait a bit, remove the symlinks.
>
> - -- Steffen Kaiser
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (GNU/Linux)
>
> iQEVAwUBUTB32F3r2wJMiz2NAQK2vgf/V5OCGWdToQJOxCtUlZp+aMslznBpr2Rq
> XrjANVYblMUzipd8HFR7YzbHkgJizm/t5k5+OHg9xX1D9YrsxB9/9k1pMRomAuCv
> nIBWmb4JTIvq2MJihstXZj8q/z3i5OXbb7Mp5o/YgkZqx9OBfD4IJvSRT6d7vuld
> 7xCSc56zF7MlpFfXXN9nBYBFNGXvOEmvgrZNd2BtL6iSWxC7tVZbfkdLfuUS0RKv
> FKIcuESPZNkKmr86NxEegpOz8fs7ZdSrvs5ibqNdDN4+oOnKC55EwOPgY1OOhWmB
> ZdzmDAdy8ztXauWmuznkAP+FzhZV5jIBXlNJLnkj2xGsT5x20/FTvg==
> =nW5U
> -----END PGP SIGNATURE-----


More information about the dovecot mailing list