|Michael Grant||Nov 9, 2002 8:04 am|
|Alex||Nov 9, 2002 10:44 am|
|Greg Lewis||Nov 9, 2002 11:05 am|
|Michael Grant||Nov 9, 2002 1:12 pm|
|Rouzer, Charles A (Chuck)||Nov 9, 2002 2:24 pm|
|Joshua Goodall||Nov 9, 2002 2:29 pm|
|Omer Faruk Sen||Nov 10, 2002 12:08 am|
|Alexander Leidinger||Nov 10, 2002 3:13 am|
|Alexander Leidinger||Nov 10, 2002 3:19 am|
|Michael Grant||Nov 10, 2002 5:24 am|
|Andy Sporner||Nov 11, 2002 2:58 am|
|Subject:||Re: clustering freebsd|
|From:||Joshua Goodall (jos...@roughtrade.net)|
|Date:||Nov 9, 2002 2:29:46 pm|
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 Goodall jos...@roughtrade.net "Your byte hit ratio is weak, old man" "If you cache me now, I will dump more core than you can possibly imagine"
To Unsubscribe: send mail to majo...@FreeBSD.org with "unsubscribe freebsd-cluster" in the body of the message