Hercules Load Balancer Virtual Appliance

Average user Rating:
4.333335
120 Customer Ratings (Login to rate)


A tiny but mighty tcp load balancer


Features

Collegiate:
No

One-line Description:
A tiny but mighty tcp load balancer

Filename:
hercules.zip

Size Compressed:
2.5

Allocated Memory:
32

Username:
root

Password:
root

VMware Tools Installed?:
No

Operating System:
Linux-2.6.15

Applications:
Pen : 0.17.0, BusyBox : 1.1.3, uClibc : 0.9.28, Dropbear : 0.48.1, thttpd : 2.25b, udhcp : 0.9.9-pre

Description:
Hercules Load Balancer Virtual Appliance
Hercules is a tiny but mighty load balancer appliance. It can be used
to balance requests using any of these TCP protocols:

  • HTTP
  • HTTPS
  • SMTP
  • FTP
  • POP3
  • LDAP

It runs on a linux os built from scratch to have a minimal
footprint. It can run with just 32MB memory for normal usage and you
can increase memory requirements for the appliance as you need. It also
has a built in web server, ssh server, dhcp client. You can administer
the machine remotely via ssh. It is setup for dhcp so the networking is
setup automatically. A webserver is installed to both serve up this
page and to help you test different configurations. The load balancing
functionality is provided by the excellent open source project pen.
The amount of disk space used by it is 4.0 MB. The virtual disk will
expand as needed and has a maximum size of 100 MB. This is the
minum size of a virtual disk that can be created in Vmware
Workstation.  The compressed/zipped image of this appliance
is 2.5 MB !
Power it up and you are ready to go !
Why would you want this appliance

  • You want to distribute traffic to your web / application / smtp / pop3 / ftp / ldap servers so you can provide high availability.
  • You dont want to buy a high priced harware load balancer that is a black box to you.
  • You dont want to spend days of valuable time setting one up.
  • You want to put some your old spare pcs to work without having to reinstall operating systems and administration tools.
  • You want to be able to cluster your load balancers so that you can get fail over support.
  • You want to understand how load balancers work so you can grasp the concepts.
  • You want to try out new configurations without major installations and setups.
  • You can run as many load balancers as you want for any purpose.
  • You want to write your own load balancing algorithm and market it.

How was the appliance built
Hercules runs on a custom built tiny footprint version of linux.

  • The ability to run things in a resource constrained environment while still providing top notch functionality was considered paramount. A tiny version of  a linux os was built using BusyBox and uClibc.
    uClibc is the tiny version of the glib library. BusyBox provides tiny versions of the linux toolset.
  • A virtual appliance must have the ability to automatically detect and configure its network interfaces so that it can be accessible on the network immediately after booting up. A tiny dhcp client udhcp is used for providing dhcp client support.
  • The virtual appliance must also have the ability to be accesses/administered remotely in a secure manner. Dropbear ssh client and server were used to provide this functionality.
  • A tiny webserver was needed to serve up the help page. A version of thttpd was compiled with uClibc and used in the applicance.
  • Finally the load balancing application used was pen.
  • The shell used is Ash. All the libraries and binaries are stripped of all debugging sysmbols to make them even more smaller.
  • Added startup scripts for the daemons.
  • The linux kernel used is 2.6.15, compiled to remove all ununeeded things to make it as small and lean as possible.
  • The final system after bootup uses 4.0 MB of disk space !!

 
How to use the appliance

  • Start VMware player or Workstation.
  • Open hercules.vmx.
  • Click "Start this Virtual Machine".
  • The os will boot up, get a dhcp address, start the load balancer, start the web server, and show a login prompt. A message will also be printed out with the url to use to access a help page. 
  • Log in as root with password root. Add users as you like and change the password !
  • The load balancer is currently configured to accept requests on port 80 and then forward the request to the web server on port 9999, which will display the help page! 
  • You can configure it to load balance by modifying the /etc/init.d/pen script for your needs.(server addresses etc)
  • pen --help will list all the various options. Also checkout the links section for other articles on pen and load balancing.
  • Pen comes with a lot of other configuration options, including sticky sessions. Please refer to the Pen web page for setting up any other configuration that you may be interested in.
  • You can type hercules anytime in the shell to redisplay the help message that was printed after boot up.
  • Ash shell is provided along with most of the usual linux commands.
  • Vi is available as the text editor.

Virtual Machine Configuration

  • Memory : 32MB
  • Hard Drive : One IDE disk expandable to 100 MB
  • Networking : Bridged
  • Processors : 1

Links and Resources

Licenses

I honor the GPL and will send anybody the sources to the GPL software in Hercules Virtual Appliance. If you want to recieve copies of the software please send me US$7 (cost of media and shipping) and I will gladly mail you the sources.Please send the check to:Prabhakar Chaganti955 Ballentree CourtAlpharetta, GA 30005


Vendor: prabhakar

Date Created: 05/25/2006
Last Updated: 05/27/2006

Technical Specifications

Operating System:

Linux-2.6.15

VMware Tools installed: No

Size: 2MB

Allocated Memory (RAM): 32

Applications Installed:

Pen : 0.17.0, BusyBox : 1.1.3, uClibc : 0.9.28, Dropbear : 0.48.1, thttpd : 2.25b, udhcp : 0.9.9-pre


Virtual Appliance Account Information

Username: root
Password: root

Download link provided by the submitter, not VMware. Report broken downloads here.

<< BACK

  • Welcome, Guest
  • Login
    You must be a Communities member to submit entries.