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