Re: Replication specifics

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

 




On May 23, 2006, at 4:48 PM, David Korpiewski wrote:

So I got into a big argument with the people in my department about how replication works and I'm seeking some guidance from the community:

(1)The worst fear of any prof here at UMASS is the potential of losing a single email. So my question is this: If we set up replication, and we have to failover to the replica, is there any way to get back email that may not have been replicated -- ones that currently only exists on the defunct master? If the replica updates every 10 seconds, then we have the potential to lose 10 seconds of email. Or worse case, the sync_client dies and we lose 30 minutes or more of emails before we failover!


Once we have the primary/master backend machine working again after a failover (assuming its RAID is still intact) we do a find for any messages that have timestamps just prior to the the machine failing. We then compare this list to the messages on the replica. Since we have delayed expunge on, we can still determine if a specific message was replicated even if the user deleted it.

We also monitor the sync_client process and someone gets alerted if it goes away.

Of course some messages can be lost. But the same is true for any of your smtp machines. If one suffers a catastrophic failure then any messages queued on the machine would be lost.

Do other folks out there plan for this "potential for lost emails" or do you just failover and if a few messages get lost, you don't worry about it?

(2)Also, is there a master sync transaction log file somewhere that specifies what is being done? In other words, if we failed over, could we find a transaction log that would tell us what was not committed and then manually run through it to make the updates? I found the log files in "/var/lib/imap/sync", but these are very uninformative:
for example:
SEEN davidk user.davidk
SEEN davidk user.davidk
SEEN davidk user.davidk

it would be nice to see "SEEN update message READ 12020 for user.davidk.INBOX", but I don't know if this detailed information is somewhere on the system or just resides in memory.

We look there as well (and back it up prior ). Then we just look in the users' folders for the timestamps on messages.


(3) My final question is this: If we do a manual sync_client update, is the update a full copy or is it a "differential" copy? So I want to know if we run a manual sync_client if it is going to overwrite the entire replica's mailstore or just search and find what is different and just update those portions.

I believe it does a diff (I haven't looked at the code)

-Patrick
----
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

[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