Hi,
Quoting Andrea Venturoli <ml@xxxxxxxxxxx>:
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:
michael.menge@xxxxxxxxxxxxxxxxxxxx
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