We're phasing out a pair of Debian Squeeze machines that share a number of IP addresses in a failover setup (that works independent of our switching gear), powered by wackamole (and spread
beneath it). Their replacements will run Debian Jessie, and should also be capable of hosting IPv6 adresses with the same availability characteristics as the old cluster did.
Originally, I had planned to solve the problem with OpenBSD's ucarp
- it's, in theory, the perfect solution: simple, light-weight, very observable, cleanly implemented, and properly packaged in today's Debian. It focusses on doing one job, and it does it well. The only problem, which is a showstopper: It's not IPv6 capable either.
It seems I'll have to choose between keepalived
, corosync
, vrrpd
, or another clustering framework or single-purpose-solution that I'm presently unaware of. I'm coming here to ask for your opinion on what I should look into first, if I want to arrive at a solution that shares most of ucarp
's qualities, but not its one, critical shortcoming.
I'm not looking to manage a plethora of clustered services, and I don't need a distributed state machine spanning N>=2 hosts. I really just want to fail over a set of IP numbers when I either tell the resource manager to, or the sister host is down. (I'm very aware of the fact that a two-node setup cannot be perfect in this regard, that I won't be SPOF-free, and that I'd need some form of determining quorum or a witness setup to make this work automatically with close-to-100% reliability, but I actually only want to implement the existing system's characteristics with state-of-the-art software that is packaged in Debian.)
Thanks for your advice! :)
[link][2 comments]