cyrus replication how does it work

Wesley Craig wes at umich.edu
Sat Jul 7 14:44:19 EDT 2007


On 07 Jul 2007, at 09:26, ram wrote:
> I was looking at the replication doc here at
>
> http://cyrusimap.web.cmu.edu/imapd/install-replication.html
>
> ( seems incomplete )
>
> Is there a complete documentation somewhere.

The best documentation is in the wiki, and anyone getting a useful  
answer from these lists ought to feel obliged to update that  
documentation.

> I had a few questions
>
> 1) How does replication happen

The various Cyrus programs which run on the primary backend (imapd,  
pop3d, lmtpd) write to a sync log (/var/imap/sync/log in my  
environment) as various data changing events occur.  The data in the  
log typicall names the thing that changed, not what the change was,  
e.g., "MAILBOX user.wes" means that something about the mailbox  
changed.  sync_client reads this log and connects to sync_server  
running on the replica backend.  The data in the log gives  
sync_client a hint of where to look for changes between the primary  
and the replica backends.  sync_client will then examine mailboxes,  
acls, seen state, etc, on the primary backend and ask sync_server for  
similar information on the replica backend.  Changes are transmitted  
from sync_client to sync_server and stored on the replica backend.

> 2) Can it happen to more than one slave

Not in the current implementation, tho changing it to replicated to  
more than one replica backend wouldn't be super complex.  Someone  
familiar with Cyrus internals could do it in a few weeks of coding, I  
would estimate.

> 3) Does replication also replicate the mailboxes ( users ? )

This question doesn't really make much sense to me.  All pertinent  
information is replicated.

:wes


More information about the Info-cyrus mailing list