Wackamole is an application that helps with making a cluster highly available. This application was developed at the Centre for Networking and Distributed Systems at The John Hopkins University and it works by managing a poll of Virtual IP addresses ensuring that all the IPs are evenly assigned to the available machines in the cluster. When one machine fails Wackamole will, almost instantaneously, re-assign it’s Virtual IP to one of the remaining machines. This allows one to publish a list of IP Addresses through DNS RR (Round Robin) records and Wackamole will make sure those IPs are always available, even in the event of one or more machines crashing. Wackamole is licensed under the CNDS Open Source License.
Wackamole runs on top of Spread which is a resilient and fault tolerant network messaging system:
Spread is an open source toolkit that provides a high performance messaging service that is resilient to faults across local and wide area networks. Spread functions as a unified message bus for distributed applications, and provides highly tuned application-level multicast, group communication, and point to point support. Spread services range from reliable messaging to fully ordered messages with delivery guarantees.. http://www.spread.org/
This sounds cool, hein? Well, it gets even better as we will learn how easy it is to configure a cluster to run Wackamole. For this example, I’ve used just a couple of machines running Ubuntu (8.04) because it is fairly easy to deploy Wackamole, but if you are familiar with ./configure, make and make install, this should be a piece of cake!
Continue reading ‘Highly available cluster with Wackamole and Spread’