Migrating 32bit to 64bit Debian Lenny

Ross Boylan ross at biostat.ucsf.edu
Mon Sep 7 17:34:03 EDT 2009

Did you install cyrus on the new server before or after the steps
described below?  It sounds as if it was before, just by the references
to shutting it down on the new server and
to /usr/lib/cyrus/cyrus-db-types.active.

Also, do you have any sense of the speed and accuracy of this method as
opposed to imapsync?

Ross Boylan

On Wed, 2009-09-02 at 09:19 -0600, Bill Cameron wrote:
> Hi,
> I've seen some questions about migrating from 32 bit to 64 bit. We
> migrated last weekend and these are the steps we took.
> Old server:
>     - rsync the cyrus data while cyrus is running
>        rsync -vaH --delete -e ssh /var/lib/cyrus/ new-server:/var/lib/cyrus
>        rsync -vaH --delete -e ssh /var/spool/cyrus/ new-server:/var/spool/cyrus
>        rsync -vaH --delete -e ssh /var/spool/sieve/ new-server:/var/spool/sieve
>     - shut down cyrus
>     - repeat rsyncing of the three directories to provide stable
> environment and databases. This will be a lot faster than the original
> rsync.
>     - dump /var/lib/cyrus/mailboxes.db to a text file
>        /usr/sbin/ctl_mboxlist -d > mboxlist.txt
>     - copy this text file to the new server
> New server:
>     - make sure cyrus is shutdown
>     - switch to user 'cyrus'
>        su - cyrus
>     - remove some of the databases
>        rm /var/lib/cyrus/db/*
>        rm /var/lib/cyrus/db.backup1/*
>        rm /var/lib/cyrus/db.backup2/*
>        rm /var/lib/cyrus/deliver.db
>        rm /var/lib/cyrus/tls_sessions.db
>        rm /var/lib/cyrus/mailboxes.db
>     - build new mailboxes.db from mboxlist.txt file
>        /usr/sbin/ctl_mboxlist -u < mboxlist.txt
>     - check /var/log/mail.err and /var/log/mail.info for any errors
> from the above command and the following commands. There should only
> be one error about missing timestamp file but it is automatically
> created.
>     - run the following commands and check logs for errors
>        /usr/sbin/ctl_cyrusdb -r
>           - the above command will verify mailboxes.db and annotations.db
>        /usr/sbin/tls_prune
>           - the above command will create a new tls_prune database
>        /usr/sbin/ctl_cyrusdb -c
>        /usr/sbin/cyr_expire -E 3
>     - you can also run the squatter command but it doesn't really need
> to run until it's scheduled time. It takes a awhile to run.
>     - start cyrus and check that it is working correctly.
>     - you will need to reset any annotations (e.g.: expire) on
> mailboxes/folders. We didn't have any annotations set on mailboxes so
> I didn't try migrating that database.
> The database types are defined in /etc/imapd.conf. They don't appear
> in the default Lenny conf file since they use the predefined default
> types. The man page for imapd.conf lists those defaults:
> annotation_db: skiplist, duplicate_db: berkeley-nosync... The current
> database types are listed in /usr/lib/cyrus/cyrus-db-types.active.
> We had to take the server off-line to migrate some other applications
> on the server so I didn't use imapsync. We are using imapsync to
> migrate from Lotus Notes to cyrus.
> Bill C.
> ----
> Cyrus Home Page: http://cyrusimap.web.cmu.edu/
> Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

More information about the Info-cyrus mailing list