//jerrywalsh.org

coding, hacking, startups, computer security, technology and more

Failover Using Wackamole on FreeBSD

Wackamole is an application that helps with making a cluster highly available. It manages a bunch of virtual IPs, that should be available to the outside world at all times. Wackamole ensures that a single machine within a cluster is listening on each virtual IP address that Wackamole manages. If it discovers that particular machines within the cluster are not alive, it will almost immediately ensure that other machines acquire these public IPs. At no time will more than one machine listen on any virtual IP. Wackamole also works toward achieving a balanced distribution of number IPs on the machine within the cluster it manages.

Wackamole depends on spread for communication with other nodes in the cluster. Spread depends on Bison and Bison 1.X will cause errors while compiling, install /usr/ports/devel/bison2 instead.

1
2
3
4
cd /usr/ports/net/spread && \
make install clean && \
echo 'spread_enable="YES"' >> /etc/rc.conf && \
/usr/local/etc/rc.d/spread.sh restart

Once that's done, download and compile Wackamole .. unfortunately, there isn't a port for this yet.

Wackamole is an excellent tool for ensuring your high-availability applications remain available!