[Dovecot] migrate machines and upgrade

Donny Brooks dbrooks at mdah.state.ms.us
Fri Oct 8 19:11:44 EEST 2010


  On 10/6/2010 4:18 PM, Donny Brooks wrote:
> I am about to be migrating mail servers and have a few questions. First a little background:
>
> Old mail server:
> Fedora 11
> dovecot-1.2.11-3.fc11.x86_64 installed from yum repo
> mbox mail format
> OpenLDAP authentication
> 250+ users
>
> New mail server:
> Fedora 13
> dovecot-2.0.1-1_118.fc13.x86_64 installed from atrpm rpm file
> Maildir mail format
> OpenLDAP authentication
> 250+ users
>
> I plan to use dsync on the new machine to migrate the mail off the old machine and mbox format to the new machine and Maildir. I think I read where I can do the migration without interfering with normal mail delivery and then when i get ready to do the final move I just kill dovecot on the old machine, dsync once more, and start the service on the new machine. What would be the best way to accomplish this?
>
> And as for the configuration changed between 1.2.11 and 2.0.1, where to start? I see there is now a conf.d directory for 2.0.1. How will this tie in to the 1.2.11 config? Any pointers there?
>
> Other option is to move the mbox mail as it sits to the new machine, install 1.2.X branch dovecot on new machine, and let the convert plugin do all the work. However I like the idea of the dsync doing the sync with minimal downtime.
>
> Thanks in advance.
>
Ok, I found the way to convert the configuration. However I am still 
having issues trying to get the right way to migrate the users from the 
old machine on 1.2.11 and mbox to the new one on 2.0.1 and Maildir. I am 
trying the dsync commands on the wiki to use ssh to no avail due to it 
still being 1.2.11 on the old server. I am slowly trying various mirror 
commands, but if anyone has any pointers that can help speed this along 
I will be much appreciative.

Here is what I have tried thus far:

As root I su to my user on the new server:
-bash-4.1# su - dbrooks
then tried the dsync command as in the wiki:

-bash-4.1$ dsync -u dbrooks mirror dbrooks at roark
dsync(dbrooks): Error: userdb lookup: 
connect(/var/run/dovecot/auth-userdb) failed: Permission denied 
(euid=879(dbrooks) egid=100(users) missing +r perm: 
/var/run/dovecot/auth-userdb, euid is not dir owner)
dsync(dbrooks): Fatal: User lookup failed: Internal error occurred. 
Refer to server log for more information.
No go so I go back to root login and try it that way, still on the new 
machine:
-bash-4.1$ logout
-bash-4.1# dsync -u dbrooks mirror dbrooks at roark
root at roark's password:
bash: dsync: command not found
dsync-local(dbrooks): Error: read() from worker server failed: EOF

Now I try the ssh command from the new machine as root:
-bash-4.1# ssh dbrooks at roark dsync -u dbrooks
dbrooks at roark's password:
bash: dsync: command not found
-bash-4.1#


I am lost. I am sure it is something simple I am missing.

Donny B.


More information about the dovecot mailing list