HPE Community read-only access December 15, 2018
This is a maintenance upgrade. You will be able to read articles and posts, but not post or reply.
Hours:
Dec 15, 4:00 am to 10:00 am UTC
Dec 14, 10:00 pm CST to Dec 15, 4:00 am CST
Dec 14, 8:00 pm PST to Dec 15, 2:00 am PST
Serviceguard
cancel
Showing results for 
Search instead for 
Did you mean: 

Serviceguard for linux multi-node package

 
SOLVED
Go to solution
khafa
Occasional Visitor

Serviceguard for linux multi-node package

hello,

I am looking for information about serviceguard for linux multi-node packages. I would like to know when you configure (for example apache) as a multi-node package what ip address to listen for since we can not use a relocatable IP. If for example we are running on a 2-node cluster with the apache package running on both nodes how do we load-balance it?

I've googled a lot and read the serviceguard documentation but did not find anything informative

thank you
5 REPLIES
Matti_Kurkela
Honored Contributor
Solution

Re: Serviceguard for linux multi-node package

Welcome to the ITRC Forums!

ServiceGuard's "multi-node package" does not offer load balancing between nodes. It's for situations when there is an application or a cluster filesystem that can allow a disk to be accessed by multiple nodes at the same time, if (and only if) the communication between the nodes is working.

In those cases, the nodes must typically keep in sync with each other; if one node loses network connectivity with the rest of the cluster, it must *immediately* stop accessing the shared disks, as it has no idea of what the other nodes might be doing. ServiceGuard can act as a well-tested system of interlocks for this.

For load balancing, there are several solutions.

The cheapest way is to use DNS round-robin: just define two IP addresses for the DNS name of your service. This has two major disadvantages, though:

- if one of the nodes fails, you must immediately make a DNS update that removes the failed node from the round-robin, or about 50% of incoming requests will still be directed to the failing node. You must at all times keep the TTL values of the DNS round-robin entries short enough, so that the update can propagate quickly to the caches of the DNS servers around the world.

- DNS round robin makes no guarantees that the second request from one client will go to the same node as the first one. If your web service holds any session information that is not stored in a database shared between the nodes or maintained by the client in URL strings or cookies, this technique will cause problems. For stateless services, this is not an issue.

There may be some solutions that are based on quickly switching the IP address between nodes using gratuitous ARPing. These solve the first problem of the DNS round-robin, but not the second. Furthermore, if your network switch has security features, they may restrict the use of this technique.

The most robust way to load-balance Web services is to use a separate device that forwards the requests coming in to its public service address to the various nodes. This can be e.g. a Linux machine or a dedicated box of network hardware.

There are also several "large enterprise" load balancing solutions for situations when your nodes are geographically widely separated and may be in different networks, but they're a massive overkill for your two-node cluster.

Google for "Linux Virtual Server" for a good example.

Also read the Wikipedia article about load balancing for a nice overview of the issue.

http://en.wikipedia.org/wiki/Load_balancing_(computing)

MK
MK
khafa
Occasional Visitor

Re: Serviceguard for linux multi-node package

Thank you MK for your detailed and clear reply.
For the loadbalancing part we generally use loadbalancers but I was wondering if ServiceGuard is providing (in multi-node mode) loadbalancing feature so that for small scale web apps I could bypass the loadbalancer and use ServiceGuard. It's clear in my head now. Thank you once more.
Steven E. Protter
Exalted Contributor

Re: Serviceguard for linux multi-node package

Shalom,

serviceguard is a high availability environment, not a load balancing environment.

If you team it up however with a round robin DNS system, allocating half the web traffic to one IP address and half to the secondary, you can achieve load balancing.

Actually you can probably do it without serviceguard, but that is a good tool for maintaining the integrity on shared storage.

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
khafa
Occasional Visitor

Re: Serviceguard for linux multi-node package

thank you everybody.
khafa
Occasional Visitor

Re: Serviceguard for linux multi-node package

got a satisfactory solution in MK's post