The UltraMonkey Solution

Ultra Monkey is a project to create load balanced and highly available services on a local area network using Open Source components on the Linux operating system, including heartbeat and ldirectord from the Linux-HA project.

Configuation example

Now we're going to using UltraMonkey to contruct a highly-available VS/NAT web cluster with two load balancers and three web servers. The topology is illustrated in the following figure. In the example, virtual IP address and gateway IP address are 10.23.8.80 and 172.18.1.254, which are floating between the two load balancers (LD1 and LD2), and the ip addresses of three real servers are 172.18.1.11, 172.18.1.12 and 172.18.1.13 respectively.

The configuration files of UltraMonkey are the same at LD1 and LD2. The configuration files for above examples are as follows:

/etc/ha.d/ha.cf:

logfacility     local0
keepalive 2
deadtime 10
warntime 10
initdead 10
nice_failback on
udpport 694
bcast   eth1
node    ld1
node    ld2

/etc/ha.d/haresources:

ld1 IPaddr::10.23.8.80/24/eth1 IPaddr::172.18.1.254/24/\
eth1 ldirectord::ldirectord.cf

/etc/ha.d/ldirectord.cf:

checktimeout=10
checkinterval=2
autoreload=no
logfile="local0"
quiescent=yes

virtual=10.23.8.80:80
	fallback=127.0.0.1:80
	real=172.18.1.11:80 masq
	real=172.18.1.12:80 masq
	real=172.18.1.13:80 masq
	service=http
	request="index.html"
	receive="Test Page"
	scheduler=wlc
	persistent=600
	protocol=tcp
	checktype=negotiate