Need guidelines on how to migrate a Cyrus-Imapd server
Adam Tauno Williams
awilliam at whitemice.org
Mon Feb 4 09:20:32 EST 2013
On Mon, 2013-02-04 at 15:01 +0100, Thibault Le Meur wrote:
> Le 01/02/2013 17:03, Thibault Le Meur a écrit :
> > Thanks for the hints
> > I'll go the rsync way then... pity I would have loved to understand what
> > kind of file is to be fed to the "sync_client -u -f" command, in order
> > to give it a try..
> Replying to myself,
> According to an old thread
> (http://lists.andrew.cmu.edu/pipermail/info-cyrus/2007-September/026772.html),
> the file format is:
> USER "$username"
> USER "$username2"
> It is also confirmed that the only way to have singleinstancestore
> preserved is to run the sync_client with the "-f" option so that all
> synchs are done in the same run.
> However it seems that the cache which is used to detect the duplicates
> is rather low (UUID cache on the server side: 1000) so that single
> intance deduplication may not be very efficient.
> Unless this has changed, I agree that the best way to initialize the
> replica is to use rsync and then convert the databases. I'll give it a try.
Correct, from a thread in 2007:
<quote>
Message UUIDs are used to replicate the single instance store (see
docs/text/install-replication). This won't have much effect when you
first replicate a mailstore as sync_server in 2.3 only tracks the last
few thousand messages that have been uploaded. It becomes much more
effective when a replica has been seeded and you switch to "rolling"
replication.
</quote>
<quote>
sync_server maintains a fairly modest UUID cache on the server side:
1000 messages in 2.3. A restart is negotiated after each UPLOAD command.
</quote>
It really does seem best to seed the replica, initially, via rsync
[WATCH THOSE PERMISSIONS!] then to engage rolling replication - the
replica should become current.
Something like -
rsync \
--verbose --recursive \
--perms --owner --group --times \
--links --hard-links --delete \
$master:$root $replica:$root
I also like the --numeric-ids assuming your uidNumber/gidNumber is the
same between systems. That saves a lot of pointless NSS calls.
--
Adam Tauno Williams GPG D95ED383
Systems Administrator, Python Developer, LPI / NCLA
More information about the Info-cyrus
mailing list