|What is Wackamole?|
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.
problems will Wackamole solve, and how is different from other
Wakamole operates on a cluster of tightly connected machines (all on the same
LAN). It works by managing a pool of IP addresses that you expect to be
available at all times. These IP addresses are virtual (meaning no machine has
any of those IPs as its default IP address). Wackamole will work to ensure
that all of the IP addresses in the pool are assigned as virtual IPs
to the machines in the cluster. No IP address is held by more than one machine
and every IP address is available.|
This allows you to run a service using multiple DNS RR records without the
worry of one of the machines crashing -- if the machine crashes, the virtual
IP addresses it was responsible for will be managed by the remaining machines
in the cluster.
There is no other software like Wackamole. Wackamole is quite unique in that
it operates in a completely peer-to-peer mode within the cluster. Other
products that provide the same high-availability guarantees use a "VIP"
method. A networking appliance assumes a single virtual IP address and "maps"
requests to that IP address to the machines in the cluster. This networking
appliance is a single point of failure by itself, so most industry accepted
solutions incorporate classic master-slave failover or bonding between two
identical appliances. These networking appliances can be:
- simple commodity servers running user applications to provide
- operating system features like IPVS under Linux or similar such features under Windows 2000 and FreeBSD,
- hardware networking component like Foundry ServerIron, Cisco LocalDirector or other content-aware switch, Cisco Arrowpoint content switched, Extreme Networks' load-balancers and other such hardware products.
|How it works:|
Wackamole is an application that runs as root in a cluster to make it
highly available. It uses the membership notifications provided by the Spread toolkit to generate a consistent state that is agreed upon among all
of the connected Wackamole instances. Wackamole uses this knowledge
to ensure that all of the public IP addresses served by the cluster will be covered by exactly one Wackamole instance.
Wackamole works towards achieving a balanced distribution of the clusters IP
space between its instances. First, each instance immediately claims its
preferred IP address. Then, if the number of virtual IP addresses acquired by
any two machines does differ by more than one, Wackamole will work towards
making the them differ by one or less. Wackamole has the ability to balance
all the IP addresses at once or do it gradually.
|Under what license(s) is Wackamole available?|
Wackamole is released under the CNDS
Open Source License. PLEASE READ THE LICENSE.
Please remember that the author of this software maintains
intellectual property rights and
under his sole discretion can release this revision and any later revision
under alternative licenses as he sees fit.
|Wackamole: latest release|
wackamole version 2.1.4 was released on December 28th, 2007 (12.28.2007).|
Supporting the following platforms:
- Linux (since release 1.0.0)
- FreeBSD (since release 1.2.0)
- Solaris 8 (since release 1.2.0)
- MacOSX (since release 1.2.0)
|ChangeLog (full version)|
wackamole changes from 2.1.3 to 2.1.4
- Fix interfaces with numbers in them on Solaris (e1000g0)
- Get config.w32.h into the distribution (thanks Wez)
|Where was Wackamole created?|