Re: [Dovecot] Transparent Migration from cyrus to dovecot

2013-10-12 Thread Daniel Parthey


Hi Jogi

Jogi Hofmüller j...@mur.at schrieb:
One question still remains in my head.  The migration/dsync page [1]
states that 'The source IMAP/POP3 mailboxes shouldn't be modified while
dsync is running. Also dsync backup means that if the destination has
any changes that don't exist in source IMAP server, the changes are
deleted.'  So how does the setup behave *while* I migrate a user's
mail?

We disabled the login (IMAP, POP3 and SMTP as well) of the user to be migrated 
and kicked the user from the system. Then we deferred the delivery to the user 
mailbox in the MTA with a temporary failure and a message like Mailbox being 
migrated, with the help of a lookup table in the database. This avoids changes 
to the affected mailbox during the sync.

If something goes terribly wrong during sync, you can simply switch the proxy 
back to the old mailbox and re-enable delivery.

No mail will be lost, since it should remain in the remote MTA's mail queue for 
a while in order to be retried and delivered later.

Regards
Daniel


Re: [Dovecot] Transparent Migration from cyrus to dovecot

2013-10-12 Thread Noel Butler

On 12/10/2013 19:22, Daniel Parthey wrote:


No mail will be lost, since it should remain in the remote MTA's mail
queue for a while in order to be retried and delivered later.



No guarantee there, some services are broken and do not retry, hotmail 
used to, and I've heard in some cases, still does, do this, some 
marketing system (ok, so thats no loss) do this - there reasoning is 
because of such high outbound queues, it would only delay first runs and 
upset their clients, again, no loss to me, but one persons spam can be 
anothers ham.


It is after all why we have secondary MX's, on network, and if need be, 
off network.





Re: [Dovecot] Transparent Migration from cyrus to dovecot

2013-10-12 Thread Darren Pilgrim

On 10/12/2013 3:43 AM, Noel Butler wrote:

On 12/10/2013 19:22, Daniel Parthey wrote:


No mail will be lost, since it should remain in the remote MTA's mail
queue for a while in order to be retried and delivered later.



No guarantee there, some services are broken and do not retry, hotmail
used to, and I've heard in some cases, still does, do this, some
marketing system (ok, so thats no loss) do this - there reasoning is
because of such high outbound queues, it would only delay first runs and
upset their clients, again, no loss to me, but one persons spam can be
anothers ham.

It is after all why we have secondary MX's, on network, and if need be,
off network.


Instead of deferring the message and returning a 4xx to the remote 
client, accept it normally and put it into a hold queue or defer the 
delivery transport.  After the switchover, requeue the message.


Re: [Dovecot] Transparent Migration from cyrus to dovecot

2013-10-10 Thread Christian Rohmann
Hey Jogi,

On 06.10.2013 12:39, Jogi Hofmüller wrote:
 Our goal is to do the migration without interrupting the service
 for our users too much.  Currently we tend to using dsync.  So I am
 asking for best practice suggestions, tips and hints from people
 who have done such a thing before.

I work for NetCologne GmbH, an ISP in Cologne, Germany. I did a talk
Austausch einer ISP-Mailplattform ohne Downtime at the mail server
conference the Heinlein-Support company held in Berlin in 2011.

 https://www.youtube.com/watch?v=kLQOkiBebU0

It's sure a bit dated and we started with dovecot 1.2.x, so no dsync
available. But maybe it's a least somewhat entertaining to watch how
we did things and avoided downtime.


Regards

Christian


Re: [Dovecot] Transparent Migration from cyrus to dovecot

2013-10-10 Thread Jogi Hofmüller
Dear Christian,

Am 2013-10-10 17:06, schrieb Christian Rohmann:

 I work for NetCologne GmbH, an ISP in Cologne, Germany. I did a talk
 Austausch einer ISP-Mailplattform ohne Downtime at the mail server
 conference the Heinlein-Support company held in Berlin in 2011.
 
  https://www.youtube.com/watch?v=kLQOkiBebU0

Thanks for the video!  Unfortunately most things that allowed you to do
migration in the file system don't apply for us (e.g. we have mailboxes
in the GB range).  So I think we will go for dsync and dovecot's proxy
features ;)

Regards,
-- 
j.hofmüller

mur.sat -- a space art projecthttp://sat.mur.at/



signature.asc
Description: OpenPGP digital signature


Re: [Dovecot] Transparent Migration from cyrus to dovecot

2013-10-10 Thread Andrew Richards
On Thursday 10 Oct 2013 19:34:51 Jogi Hofmüller wrote:
 Dear Christian,
 
 Am 2013-10-10 17:06, schrieb Christian Rohmann:
  I work for NetCologne GmbH, an ISP in Cologne, Germany. I did a talk
  Austausch einer ISP-Mailplattform ohne Downtime at the mail server
  conference the Heinlein-Support company held in Berlin in 2011.
  
   https://www.youtube.com/watch?v=kLQOkiBebU0
 
 Thanks for the video!  Unfortunately most things that allowed you to do
 migration in the file system don't apply for us (e.g. we have mailboxes
 in the GB range).  So I think we will go for dsync and dovecot's proxy
 features ;)

Perhaps rather 'old-school' now, but I've used Perdition for large transparent 
migrations in the past very successfully,

http://horms.net/projects/perdition/

with Dovecot being your target platform, it makes sense to explore the Dovecot 
[proxy] approach first; Perdition may be handy to have as a backup strategy.

cheers,

Andrew.

Re: [Dovecot] Transparent Migration from cyrus to dovecot

2013-10-08 Thread Jogi Hofmüller
Hi Ed,

Thanks for the encouragement!

Am 2013-10-06 22:56, schrieb Ed W:
 Make use of the proxy feature.  You can add a server entry into your
 userdb, that way you can literally move users over one by one and flip
 their server location.  You can easily test individual users and move
 them over individually.

One question still remains in my head.  The migration/dsync page [1]
states that 'The source IMAP/POP3 mailboxes shouldn't be modified while
dsync is running. Also dsync backup means that if the destination has
any changes that don't exist in source IMAP server, the changes are
deleted.'  So how does the setup behave *while* I migrate a user's mail?

I figured that I would start with a proxy entry for every user.  Then
disabling proxy for the first mailbox and start migrating it.  So new
mail would be delivered to the newly created dovecot mailbox while all
the mail from the old server would start appearing.  From the quote
above I take it that new mail *could* disappear.

OK, this is all still theory since I have not done any tests.  However,
the more I know beforehand, the better the process will work, I hope ;)

[1]  http://wiki2.dovecot.org/Migration/Dsync

Cheers!
-- 
j.hofmüller

Optimism doesn't alter the laws of physics. - Subcommander T'Pol



signature.asc
Description: OpenPGP digital signature


[Dovecot] Transparent Migration from cyrus to dovecot

2013-10-06 Thread Jogi Hofmüller
Hi dovecot people,

We are in the process of preparing the migration from a cyrus 2.1
installation to dovecot.  Dovecot will be installed on new hardware, so
we have separated servers that can/will exist in parallel for a while.

Our goal is to do the migration without interrupting the service for our
users too much.  Currently we tend to using dsync.  So I am asking for
best practice suggestions, tips and hints from people who have done such
a thing before.

Curiously awaiting your replies ;)

Cheers!
PS:  I am subscribed to the list.  So no need to include my address in
replies.  Thanks!
-- 
j.hofmüller

Optimism doesn't alter the laws of physics. - Subcommander T'Pol



signature.asc
Description: OpenPGP digital signature


Re: [Dovecot] Transparent Migration from cyrus to dovecot

2013-10-06 Thread Ed W
Make use of the proxy feature.  You can add a server entry into your 
userdb, that way you can literally move users over one by one and flip 
their server location.  You can easily test individual users and move 
them over individually.


Works brilliantly

Ed W


On 06/10/2013 11:39, Jogi Hofmüller wrote:

Hi dovecot people,

We are in the process of preparing the migration from a cyrus 2.1
installation to dovecot.  Dovecot will be installed on new hardware, so
we have separated servers that can/will exist in parallel for a while.

Our goal is to do the migration without interrupting the service for our
users too much.  Currently we tend to using dsync.  So I am asking for
best practice suggestions, tips and hints from people who have done such
a thing before.

Curiously awaiting your replies ;)

Cheers!
PS:  I am subscribed to the list.  So no need to include my address in
replies.  Thanks!





Re: [Dovecot] Transparent Migration from cyrus to dovecot

2013-10-06 Thread Darren Pilgrim

On 10/6/2013 1:56 PM, Ed W wrote:

Make use of the proxy feature.  You can add a server entry into your
userdb, that way you can literally move users over one by one and flip
their server location.  You can easily test individual users and move
them over individually.

Works brilliantly


Second this.  Pair it with a snapshot-capable FS and you can migrate the 
bulk of data in the background, then do the stop cyrus delivery, offline 
cyrus, copy remaining differences, online dovecot, start delivery to 
dovecot steps in a matter of seconds.