On 3.12.2013, at 16.01, Alan McGinlay - SICS <alanm@sics.se> wrote:
I am working on a complete migration from an old solaris machine running Cyrus IMAP v2.3.14 and wish to migrate all users to a new ubuntu vm running Dovecot 2.0.19.
v2.0 is rather old.
All email is copied over and stored in dovecot as you would expect. Then I switch the user to the new server on the imapproxy and restart the client (thunderbird or whatever). This is where all email headers are downloaded again as if they were new! There are *Many* users here who would complain intensely if this happened and I was really wanting the migration to be as invisible as possible.
Is there a way to do what I have described without the clients redownloading headers / full messages?
I don’t think imapsync supports Dovecot’s dovecot-uidlist, so it can’t preserve the IMAP UIDs.
- I have looked at dsync but the docs state that the mailbox should not be accessed during sync, this is not possible for me (it doesn't say why this is the case however)
dsync is intended for these kinds of migrations. I’m not sure where you read that mailbox shouldn’t be accessed during it? Anyway v2.0 dsync is rather bad. Even if you end up using Dovecot v2.0, for the migration you could use Dovecot v2.2 dsync binary (installed e.g. under /tmp/dovecot-2.2). v2.2.9 dsync+imapc performance is very good when mail_prefetch_count=10 (or more).