VMware Virtual Appliances Community
VMTN_Admin
Enthusiast
Enthusiast

Hercules Load Balancer Virtual Appliance

http://www.vmware.com/vmtn/appliances/directory/300

A tiny but mighty tcp load balancer

0 Kudos
186 Replies
prabhakar
Contributor
Contributor

The help page does not need a password. The root/root is for logging in to the appliance at the console. Does that help?

thanks

0 Kudos
prabhakar
Contributor
Contributor

Also you need a dhcp server that hands out ip addresses on your network. The appliance uses a bridged network connection with DHCP, so when it starts up it sends out a request for an ip address. Are you trying this on a standalone machine?

-prabhakar

0 Kudos
prabhakar
Contributor
Contributor

I have already had a request to update from 2.6.17.3 to the latest version. Linus seems to have released three updates in 10 days. I will update this appliance from 2.6.17.3 to the latest kernel and post it on sf this week.

thanks for trying out hercules ...

-prabhakar

0 Kudos
prabhakar
Contributor
Contributor

Here is an article about load balancing mongrel clusters using Pen. Substitute Hercules for Pen in the article and you have a nice and nifty solution:

  http://www.brainspl.at/articles/tag/pen

Mongrel is a super fast http server in Ruby, that is fast becoming a deployment option for Rails apps. Check it out.

-prabhakar

0 Kudos
rubbolt
Contributor
Contributor

Not to rush you, but would it be possible for u to post the appliance with the updated kernel before next week? We would like to use the load balancer along with the cache appliance in our app architecture next week. We will be testing it initially inhouse before moving it onto the production servers. Once again thanks for the hard work and a nice appliance. I posted over in the other forum too. Smiley Happy

cheers

0 Kudos
prabhakar
Contributor
Contributor

Will update it and post it over the weekend.

-prabhakar

0 Kudos
prabhakar
Contributor
Contributor

Updated the appliance to use the latest kernel -[b]2.6.17.6[/b].

You can download it from :

  http://istanbul.sourceforge.net.

-prabhakar

Message was edited by:

prabhakar

0 Kudos
alefrousen
Contributor
Contributor

Thanks for posting the update. Will kick the tires on it in our project.

-alef

0 Kudos
rubbolt
Contributor
Contributor

Thanks a lot. Appreciate the effort.

cheers

0 Kudos
prabhakar
Contributor
Contributor

You are welcome. Let me know if you run into any issues. Once again, thanks for trying out hercules.

-prabhakar

0 Kudos
modicr
Enthusiast
Enthusiast

Congratulations!

0 Kudos
prabhakar
Contributor
Contributor

Appreciate your feedback. A big thanks to all the users who downloaded the appliance, and tried it out. I will post the stats on the total downloads later today.

-prabhakar

Message was edited by:

prabhakar

0 Kudos
prabhakar
Contributor
Contributor

Here is a rough estimate of the stats as of this morning on the downloads of this appliance collected from MY[/b] bittorrent seeding and sourceforge. These DO NOT include downloads/torrents from Vmware.[/b]

\----


Downloads via torrent : 239

Downloads from SF : 65

Total Downloads : 304

Number of Votes : 148

Percent of downloads that voted : 48.68 %

\----


-prabhakar

0 Kudos
prabhakar
Contributor
Contributor

Here are the stats including appliances downloaded from VMware. Thanks to Brady Miller for pointing me to the vmware torrents stats page.

\----


Downloads via torrent from VMware: 650

Downloads via torrent from me: 239

Downloads from SF : 65

Total Downloads : 954

Number of Votes : 148

Percent of downloads that voted : 15.51 %

\----


-prabhakar

0 Kudos
pencer
Contributor
Contributor

Hi,

I've grabbed the latest build. It starts fine in Workstation5.

Can someone post the correct pen startup script for load balancing two https servers please?

I tried editing /etc/init.d/pen to:

LOGFILE=/var/log/pen.log

PIDFILE=/var/run/pen.pid

CONTROLPORT=8888

CHROOTDIR=/chroot/pen

SERVER1=192.168.0.10:443

SERVER2=192.168.0.11:443

...

/bin/pen -C $CONTROLPORT -X -l $LOGFILE -p $PIDFILE $SERVER1 $SERVER2

...

But it doesn't seem to work?

Thanks.

0 Kudos
Matt_Ghantous
Contributor
Contributor

is the load balancer on SERVER1?

The first server should always be the load balancer. and the next two should be the target hosts, as in

pen -l pen443.log -p pen443.pid -h lbhost:443[/b] host1:443 host2:443

(note you can also leave out lbhost and just put the port number you want to be listening on)

so in your case you probably would want a setup like:

LOGFILE=/var/log/pen.log

PIDFILE=/var/run/pen.pid

CONTROLPORT=8888

CHROOTDIR=/chroot/pen

LBSERVER=192.168.0.9:443 # Load Balancer IP and Port, alternatively just put in the port

SERVER1=192.168.0.10:443

SERVER2=192.168.0.11:443

...

/bin/pen -C $CONTROLPORT -X -l $LOGFILE -p $PIDFILE $LBSERVER $SERVER1 $SERVER2

...

Then when you point your browser at 192.168.0.9:443 the load balancer should choose SERVER1 or SERVER2

If you're still having trouble see http://siag.nu/pen/howto.shtml

0 Kudos
prabhakar
Contributor
Contributor

Hi Pencer,

Like matt has said, the first server is always the load balancer and you can specify your two servers and ports after that. You can also just specify the port and leave out the load balancer server address. Try this:

/bin/pen -C $CONTROLPORT -X -l $LOGFILE -p $PIDFILE 443[/b] $SERVER1 $SERVER2

That should work. Let us know if you still have problems trying to get it to work.

-prabhakar

0 Kudos
pencer
Contributor
Contributor

Thanks for the help. It's obvious now you say it but i'd totally missed the point of putting the LB server IP in!

It still doesn't work for me, but I think that's down to the appliances I'm trying to balance, we have two Citrix Access Gateways.

If in my browser (IE or FF) I type 192.168.0.10:443 for CAG1 I get a page cannot be displayed error. If I type in https://192.168.0.10 or https://192.168.0.10:443 it displays the login page.

So when I browse to 192.168.0.9:443 (my LB server) i get the same page cannot be displayed error as above?

0 Kudos
prabhakar
Contributor
Contributor

If you do not specify the protocol as https, IE or FF will try to load the specified url as a plain http url, but at the port 443 as you specified in the URL. That wont work, and you will get a page not found error. So if you type in [b]https://192.168.0.9[/b][/u], you should get the login page from the CAG.

-prabhakar

0 Kudos
pencer
Contributor
Contributor

Thanks for the help. I noticed just after I'd posted that there was a missing ; from my script after I'd edited it. One day i'll get the hang of vi!

Anyway, it all works fine now.

Would anyone like to help me set up vrrpd?

I've looked on http://siag.nu/pen/vrrpd-linux2.shtml, just not sure how to set additional IP's for each LB server before I start vrrpd.

0 Kudos