Re: Bidirectional asynchronous replication

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It's almost all good, the main problem is split brain recovery when you delete or rename folders - it could wind up reverting the change if a 'sync user' gets triggered by the other end.

The last piece of the puzzle (yeah, 10 years later!) is going to be having proper tombstone records in the mailboxes.db including name history for each mailbox, so that we know whether a mailbox has been added or deleted.  The mailboxes-by-uuid work, which should be landing on master early next year, is going to add that.

So yeah, I wouldn't do it just yet.  Our load balancing involves shutting down the master slot and running a sync_client to pick up any remaining events before switching configs and bringing the other one up.

Cheers,

Bron.

On Mon, Dec 14, 2020, at 19:48, Paul Dekkers wrote:

Hi,

I recall it was not possible in the past to perform bidirectional (master-master) rolling replication, and it was warned against in the documentation (saying from memory, could also have been the list). I believe there were some parameters like sync_machineid to make things unique per server. This is quite some time ago, maybe when replication was just introduced :-)

Is that still the case, or is it now safe to do master-master replication? In a small test, it seems to work, without causing some kind of replication storm from one server to the other. Perhaps I have to worry about full synchronisation runs, I didn’t stress test it or test every scenario.

I tried on Debian 10 with Cyrus from backports, so version 3.2.5. I did stumble upon some issues, for instance I had to install run a sync_server service, I was unable to get it to talk to the imap port even though authentication succeeds (tcpdump shows sync_client stops immediately after). Also, sync_client bails out of rolling replication and doesn’t try to reconnect/restart if the peer disconnects, and I’d kind of expect it to resume after a hickup.

I would want to run a geographically separated cluster, and ‘automatic' failover (by having DNS records point to one or the other host based on monitoring, or using a load-balancer).

Regards,
Paul


--
  Bron Gondwana, CEO, Fastmail Pty Ltd
  brong@xxxxxxxxxxxxxxxx



[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux