Is it OK for users to use either of a pair of replicated servers ?

John cyrus at jelmail.com
Fri Feb 1 07:04:25 EST 2013


On 01/02/13 11:18, Adam Tauno Williams wrote:
> On Fri, 2013-02-01 at 10:01 +0000, John wrote:
>> Hello, I have just set up a second server for a small email group and I
>> now have replication working between them.
> Great.
>
>> I was very happy to note that it replicates both ways.
> It does???  What version is this?
I have one box running 2.4.13 and another, the master, at 2.4.17. I need 
to update the other but haven't got around to it yet. I'm just doing 
some testing.

v2.4.13 4255a887 2011-12-30
v2.4.17 d1df8aff 2012-12-01

I was surprised when things appeared to replicate both ways.

>
>> My use-case is basically this: to have two servers, one acting as a
>> primary and another as a backup. The primary will be the one that goes
>> out to the internet to grab emails for users. Apart from that difference
>> the two servers are identical. Either can take on the primary role.
>> Users can connect their IMAP email clients to either server. One of the
>> pair runs sync_server and the other regularly connects to it to keep the
>> two servers in sync. It's a basic configuration intended for use by a
>> small number of people.
> As far as I know that will not work.
I've only been doing this for a day. I've got two mail clients sitting 
side by side - one is connected to the master and the other to the 
replica. I can definitely type mails on either client and see them 
appear on the other (after a small delay).

I find that I have to kick the replication at the moment (with a 
"sync_client -u myuser") for the updates to come back to the master. The 
updates to the replica seem pretty much instantaneous.

I do have messages in the logs which I don't yet understand and this 
might be because it doesn't actually work - I don't know yet:

Feb  1 11:55:38 localhost sync_client[239]: MAILBOX received NO 
response: IMAP_MAILBOX_CRC Checksum Failure
Feb  1 11:55:38 localhost sync_client[239]: CRC failure on sync for 
user.john, trying full update
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: highestmodseq 
higher on replica user.john, updating 36158 => 36160
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: only on replica 
user.john 57616
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: only on replica 
user.john 57617
Feb  1 11:55:38 localhost sync_client[239]: MAILBOX received NO 
response: IMAP_MAILBOX_CRC Checksum Failure
Feb  1 11:55:38 localhost sync_client[239]: CRC failure on sync for 
user.john.Queue, trying full update
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: highestmodseq 
higher on replica user.john.Queue, updating 13 => 16
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: only on replica 
user.john.Queue 3
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: only on replica 
user.john.Queue 4
Feb  1 11:55:38 localhost sync_client[239]: MAILBOX received NO 
response: IMAP_MAILBOX_CRC Checksum Failure
Feb  1 11:55:38 localhost sync_client[239]: CRC failure on sync for 
user.john.hosts.root^blurb, trying full update
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: highestmodseq 
higher on replica user.john.hosts.root^blurb, updating 6035 => 6036
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: record mismatch 
with replica: user.john.hosts.root^blurb more recent on replica
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: master uid:3620 
modseq:6034 last_updated:1359719530 internaldate:1359716512 flags:( NonJunk)
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: replica uid:3620 
modseq:6035 last_updated:1359719721 internaldate:1359716512 flags:( NonJunk)
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: record mismatch 
with replica: user.john.hosts.root^blurb more recent on replica
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: master uid:3620 
modseq:6034 last_updated:1359719530 internaldate:1359716512 flags:( NonJunk)
Feb  1 11:55:38 localhost sync_client[239]: SYNCNOTICE: replica uid:3620 
modseq:6035 last_updated:1359719721 internaldate:1359716512 flags:( NonJunk)
Feb  1 11:55:38 localhost sync_client[239]: seen_db: user john opened 
/srv/mail/cyrus/user/j/john.seen

Any thoughts?

>> I'd like to confirm that the replication mechanism implemented with
>> sync_server and sync_client is ok for this kind of set-up. It certainly
>> appears to work just fine like this but I haven't found anything in the
>> documentation saying that two-way replication like this is ok (i.e.
>> where users can log in to either server).
> I believe that multi-master is a feature for 2.5.x.
---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: 
http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe: 
https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus



More information about the Info-cyrus mailing list