cancel
Showing results for 
Search instead for 
Did you mean: 

network load balancer

SOLVED
Go to solution
AVV
Super Advisor

network load balancer

Hi Gurus,


I have a network load balancer requirement in a two node cluster. The setup as below.

1. Nodes are in rhel 5.3
2. Use one net card for hb and another for static server ip.
3. Cluster is oracle rac.

User need a setting as their application has to run on both systems and a service IP (VIP) which to be activated on both nodes and the communication from out side to VIP should divert to both systems through a load balancing set-up. User want this to be done from Linux side. Can some one help me on this as how to set up this. Once again, they need a virtual IP to be activated on both nodes and load to be diverted to each node.

Thanks in advance.
3 REPLIES
Matti_Kurkela
Honored Contributor
Solution

Re: network load balancer

Simply activating one IP address (virtual or not) on two or more nodes simultaneously won't give you a network load balancer.

Instead, it will cause an ARP shouting match between the nodes. This looks somewhat like an IP address hijacking attack, so in an enterprise network it's likely to trigger any network monitoring or intrusion detection alarms.

To achieve load balancing, some special trickery is needed.

The usual way to do this would be to have a third box acting as a NAT router in front of the cluster nodes. This third box could be dedicated load balancer hardware. Or it could be a Linux box, using a feature called Linux Virtual Server, or LVS.

The first figure on this page explains the required set-up:
http://www.linuxvirtualserver.org/VS-NAT.html

If you wish to use Linux in this way, here are the LVS-HOWTOs and other documents:

http://www.linuxvirtualserver.org/Documents.html

RedHat has written a manual about it too:
http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/en-US/Virtual_Server_Administration.pdf


Another way to do it would be to use the CLUSTERIP feature of Linux iptables. This would not require a third box. Althoug the CLUSTERIP feature has been in the Linux kernel for quite a while, it is still marked as EXPERIMENTAL in even the newest Linux kernels.

Here's the information I've been able to find about CLUSTERIP:

http://ben.timby.com/?p=48
http://security.maruhn.com/iptables-tutorial/x8906.html
http://www.rkeene.org/projects/info/wiki/102

The trick of CLUSTERIP is based on using a shared multicast MAC address on all the nodes as their source MAC address. The RFC1812 says a router should never trust a system that claims a multicast MAC as a source address, so this is an intentional violation of an established standard. Some routers might be unwilling to accept such traffic.

Both LVS and CLUSTERIP seem to be included in RHEL 5 distribution, so you shouldn't have to compile anything.

However, it seems at least in CentOS, RHEL's free clone distribution, CLUSTERIP may have a bug. Fortunately it seems to be fixable:
http://ben.timby.com/?p=73

MK
MK
emha_1
Valued Contributor

Re: network load balancer

hi,

I think we should start with defining of what exactly is meant by this request and what is the target.

what exactly do you mean with "network load balancing"? do you want do distribute connections/session? or do you want to distribute number of network requests generated? or do you want to distribute traffic/throughput? or ...

then, why is focus put on network balancing? even if you sophisticatelly balance network there still can be performance problems if demanding sessions are not distributed properly.

next, why operating system has to take care of balancing? ORACLE as well provide some/several (at least) distribution possibilities that could be sufficient.

just to be sure we know what we speak about: you entered your problem into linux/SG section which deals with operating system level (basically active-passive) clustering, but as well you mention you use ORACLE RAC what is application level (active-active) clustering. it doesn't make too much sense to use those two technologies in one environment together. So, what type of clustering in fact do you use?

finally, specify what ORACLE version do you use as well.

emha.
AVV
Super Advisor

Re: network load balancer

Thanks for the info.