The Piranha Solution
Piranha is one of the clustering products from Red Hat Inc., it includes the IPVS kernel code, cluster monitoring tool and web-based cluster configuration tool.
The piranha monitoring tool has two main features:
- Heartbeating between active and backup load balancers.
- Checking availability of the services on each of real servers.
The piranha monitoring tool uses one process to heartbeat UDP messages between active and backup load balancers, and fork service monitoring processes so that each process is to monitoring one service at a real server.
Configuation example
Now we're going to using piranha 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.
primary = 10.23.8.1 service = lvs rsh_command = rsh backup_active = 1 backup = 10.23.8.2 heartbeat = 1 heartbeat_port = 539 keepalive = 4 deadtime = 12 network = nat nat_router = 172.18.1.254 eth1:0 nat_nmask = 255.255.255.0 reservation_conflict_action = preempt debug_level = NONE virtual web { active = 1 address = 10.23.8.80 eth0:1 vip_nmask = 255.255.255.255 port = 80 persistent = 600 send = "GET / HTTP/1.0\r\n\r\n" expect = "HTTP" load_monitor = none scheduler = wlc protocol = tcp timeout = 6 reentry = 15 quiesce_server = 0 server webserver1 { address = 172.18.1.11 active = 1 weight = 100 } server webserver2 { address = 172.18.1.12 active = 1 weight = 100 } server webserver3 { address = 172.18.1.13 active = 1 weight = 100 } }