Re: Cyrus Murder with different Cyrus IMAP Server versions

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

 



On Wed, 2 Mar 2016, Jack Snodgrass via Info-cyrus wrote:

I have a older Cyrus 2.2 version setup and running in production.

I want to move to a newer Cyrus 2.4 system with minimal downtime.

The goal is 1) limit down time and 2) keep the SAME ip address for the users imap configs.

I can convert my existing Cyrus 2.2 ( Debian v6 ) to Cyrus 2.4 ( Debian v8 ) but will be down around 8 ( at least ) for the two debian upgrades and converting 200gig of Cyrus 2.2 mail to Cyrus 2.4 - indexes and what not.

I was thinking.. maybe another approach would be to setup Cyrus Murder ( 2.2 ) on my existing Cyrus 2.2 box and connect it up with a new Cyrus 2.4 server ( on a new Debian v8 box ) and just move mail accounts over one at a time until all of the mail was off of the old box. Once all of the mail was off of the old Cyrus 2.2 box, I could then upgrade that to debian v8 and Cyrus 2.4 and then have 2 systems that the mail could be split between.

Can I run a Murder 2.2 server and have it talk with a Cyrus 2.4 IMAP box or do the versions have to be the same?

In a Cyrus Murder, you want the frontend server to be upgraded last. If a newer frontend is used, it will issue newer IMAP commands that the older backend doesn't support. When you are upgrading an existing Murder cluster, you upgrade in this order: mupdate master, backends, then frontends.

Murder does allow you to (mostly) transparently move mailboxes between backends. I have upgraded many times by simply moving the mailboxes to a new backend server with newer versions of the OS and Cyrus. However, you'll need to create 2 new hosts - a frontend and mupdate master. Then you'll need to move the DNS CNAME from the existing 2.2 server to the frontend.

A Murder is a bit complicated (don't forget about mail delivery too!), so let me suggest an alternative that keeps the downtime short.

Build a new server with Debian 8. I'd probably install Cyrus v2.5.latest by hand. Compiling Cyrus is very easy on Debian. Cyrus v2.5 has a major advantage over v2.4 - you can run a script to upgrade the mailbox format instead of waiting for the user to open the mailbox. See the release notes for upgrade instructions:

  http://cyrusimap.org/imap/release-notes/2.5/x/2.5.0.html

Anyways, build the new server with Debian and whatever version of Cyrus makes you comfortable. Then, weeks before you plan to make the cutover, use rsync to copy to the mail from the old server to the new server. Of course, the first run will take a long time to copy 200GB. Successive rsyncs will take less time as the deltas are smaller. In the week before the scheduled outage, run rsync every night.

During your outage window, stop Cyrus on the old server, run a final rsync, then swap IP addresses and/or DNS names, and start Cyrus on the new server.

There are a couple advantages to this approach. You'll be able to test how the new server works with your actual mail. You can make configuration changes if needed. You can also time how long the rsync will take, so you know how much time to schedule for the outage. Even if there isn't much data to rsync on the final pass, it can still take a long time to calculate the differences between the 2 filesystems.

Before I ran Cyrus Murder, this is how I upgraded our Cyrus server to new hardware.

	Andy
----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
To Unsubscribe:
https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus



[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