[Dovecot] Migration from v1 to v2 with hashed directory structure
Steffen Kaiser
skdovecot at smail.inf.fh-brs.de
Fri Mar 1 11:41:44 EET 2013
-----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