Re: Migration from 2.5 to 3.4

Michael Menge <[email protected]>
Newsgroups gmane.mail.imap.cyrus
Message-ID <20210913213822.Horde.d300hbmQVpG44k1b-PqTlvO@webmail.uni-tuebingen.de>
Hi,

Quoting Andrea Venturoli <[email protected]>:

> Hello.
>
> In the next week I'm changing a couple of servers where 2.5 is  
> running and I'm thinking of taking advance of this opportunity to  
> migrate to 3.4.
> I've never performed a replication before, though.
>
> My idea would be:
> _ set up the new server as replica;
> _ set up the old as master;
> _ call sync_client a few time;
> _ firewall the old server so that it receives no changes from clients or MTA;
> _ call sync_client the last time;
> _ shut down the old server;
> _ change the IP of the new server to be the same as the old one;
> _ remove the replica settings.
>
> Is this list correct?


i have no experience with cyrus 3.2 of 3.4, but 15 years with cyrus  
2.3 to 3.0.
This should work fine. There is one potential pitfall I see regarding  
the replication.
The replication protocol used change between 2.5 and 3.0 from "csync"  
to "imap"
As 2.5. is unable to sync via IMAP you have to use csync with sync_server


I also would change one thing. And i would add an additional step


- use rolling replication.

   If you configure cyrus to use rolling replication it will create a  
log to tell
   the sync_client where something has changed.
   With this you only need one initial sync_client run, and one sync_client run
   with the "-r" option.

   You can monitor the sync change log(s) and can start switching to  
the new server
   as soon as there are no logs.

   this will reduce the number of runs for sync_client and will  
shorten the downtime
   for switching as there is no "final" sync_client run.

-  You should restart cyrus on the new server after switching the IP

    If your setup allows your services to listen to "0.0.0.0" instead
    of a specific IP you can configure the new server so that you don't
    need to restart the cyrus service after switching the IPs (the sync_server
    would still be running without being needed)


> Unfortunately I see the failover chapter is still missing from the docs...

In your case failover is not complicated. The tricky part is switching  
forth and back
and automation / split brain / active-active setups

In your case the difference between a replica and a master with out  
replication are
the services running / configured in cyrus.conf

The replica needs the sync_sever or imap server depending on the replication
protocol used and no other service. You can configure the other services used
by the master (lmtp, pop, sieve, ...) if you only allow replication  
write access and
prevent all other write access


The master needs the other services and does not need the sync_server




--------------------------------------------------------------------------------
Michael Menge                          Tel.: (49) 7071 / 29-70316
Universität Tübingen                   Fax.: (49) 7071 / 29-5912
Zentrum für Datenverarbeitung          mail:  
[email protected]
Wächterstraße 76
72074 Tübingen


------------------------------------------
Cyrus: Info
Permalink: https://cyrus.topicbox.com/groups/info/T31d4933e422af363-M4fabe69f2e88cc1d113d29e4
Delivery options: https://cyrus.topicbox.com/groups/info/subscription
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.