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