speaking of failover, recall about two years ago when I and (IIRC two others, forget who, dont have copy of messages anymore) asked about mysql failover (where it only talked to the second host when the first failed to respond - like postfix does) you mentioned it would go on your "to do list" for future release, this was back in 1.2, now we are at 2.2, how is this option proceeding?
On Fri, 2013-04-19 at 10:43 +0300, Timo Sirainen wrote:
On 19.4.2013, at 9.59, Nikolaos Milas <nmilas@noa.gr> wrote:
Assuming we have two (low traffic) servers (on different data centers) replicated using dsync, what is the best way to automatically direct users to the main server when it is up and to the redundant one when the main server is down?
Using DNS? I've seen that DNS-based failover has generally issues (for example: http://serverfault.com/questions/60553/why-is-dns-failover-not-recommended, which is informative although it refers to web servers).
What is the suggested approach? HAProxy? Heartbeat/Pacemaker?
Well, there are two failure reasons:
a) Dovecot server fails. For that, you could use any kind of a proxy that redirects traffic to the other server (even Dovecot proxy on another server).
b) Network connection to the whole data center dies, or the whole data center loses power or otherwise dies. There's really no other choice to failover that than DNS, unless you manage to route the same IP address to two different data centers and just update the route.
I'd be more worried about b), since you can already fix a) pretty quickly with VMs. Or a) could also be switched to become a Dovecot proxy on demand if there's a bigger problem that can't be immediately fixed.