atom feed11 messages in org.freebsd.freebsd-clusterRe: clustering freebsd
FromSent OnAttachments
Michael GrantNov 9, 2002 8:04 am 
AlexNov 9, 2002 10:44 am 
Greg LewisNov 9, 2002 11:05 am 
Michael GrantNov 9, 2002 1:12 pm 
Rouzer, Charles A (Chuck)Nov 9, 2002 2:24 pm 
Joshua GoodallNov 9, 2002 2:29 pm 
Omer Faruk SenNov 10, 2002 12:08 am 
Alexander LeidingerNov 10, 2002 3:13 am 
Alexander LeidingerNov 10, 2002 3:19 am 
Michael GrantNov 10, 2002 5:24 am 
Andy SpornerNov 11, 2002 2:58 am 
Subject:Re: clustering freebsd
From:Joshua Goodall (jos@roughtrade.net)
Date:Nov 9, 2002 2:29:46 pm
List:org.freebsd.freebsd-cluster

On Sat, Nov 09, 2002 at 10:13:15PM +0100, Michael Grant wrote:

It's possible that what I want doesn't exist (yet). I would like to make something highly reliable, but not necessarily something that involves failover to a hot spare. In my mind, I'd rather have 2 or more boxes there available to answer requests rather than one sitting there uselessly until the other fails.

Typically one would specify a load balancer sitting in front of the application servers. The LB is responsible for handing off inbound connections to a destination server, using a variety of algorithms and detecting server failures.

Where I have used them, I've preferred the appliance-style dedicated LB hardware (e.g. the Foundry ServerIron). There are a couple of software tools in the ports collection (net/balance and net/loadd) but I've not tried them.

In a true HA situation, I'd deploy two LB's that share a virtual IP address (e.g. via VRRP).

Behind the LBs is where server clustering comes in.

Right now, none of the following are possible with FreeBSD out of the box:

a) Shared-mount filesystems b) Distributed resource locking c) Cluster membership service d) Atomically reliable group communications e) System-system-image management.

Together these five elements form the basis of most application clustering toolkits (e.g. TruCluster, Sun Cluster, VMS, Oracle Parallel Server).

You can do some of the above at the application layer with software tools. The Spread toolkit (www.spread.org or ports/net/spread, of which I'm the maintainer) can be used to synthesise application clusters. It'll give you (c) and (d). Spread is one of the two targets of the postgresql-r project. See also http://www.spread.org/

You'll usually need to modify applications to be cluster-aware, however, and that's not trivial. Those multi-CPU systems where you don't are basically NUMA machines. I believe ccNUMA on FreeBSD is a long-term goal of Andy Sporner's, and good luck to him.

Joshua

To Unsubscribe: send mail to majo@FreeBSD.org with "unsubscribe freebsd-cluster" in the body of the message