New To Clustering Where Do I start

Brian Candler B.Candler at pobox.com
Mon Oct 10 05:40:19 PDT 2005


On Sun, Oct 09, 2005 at 09:00:52AM -0400, Wole Akpose wrote:
> I am new to clustering but I have a project that requires some intelligent
> clustering.
> 
> Two (or more) machines will access the same SATA raid appliance. Machines
> will serve as load balancing servers, but each reading and writing from/to
> same block on storage.

There is no cluster-safe filesystem for FreeBSD that I'm aware of - that is,
where two machines can simultaneously making direct block-level access to
the same blocks on the storage device. If you find a solution, I'd be
interested to know of it.

The options which I know *should* work are:

(1) Master-slave. One machine mounts the RAID array, the other is quiescent.
Whilst the slave can take over the master's IP address fairly easily (e.g.
with carp), you will need to write nasty scripts to kill the master machine,
preferably by turning off its power remotely, then mount the array on the
slave and fsck it before bringing the application up on the slave.

IMO this sort of cluster is likely to _reduce_ the reliability of your
machine, as there are many possible failure modes and it's very hard to
write failover scripts which work correctly in every case.

(1a) Master-slave x 2. One machine is master for dataset A and slave for
dataset B; the other is master for dataset B and slave for dataset A. Each
machine only mounts half the RAID array normally.

This has the same failover problems as (1), but at least you won't be
wasting a whole machine, and you get a little more confidence that the
backup machine will actually work when you need it.

(2) NFS. Lots of front-end machines all access the same data on an NFS
server. NFS has some problems when it comes to file locking, but courier-MTA
won't have a problem with this as it uses Maildir format, and I've
successfully built large mail and web clusters using this approach.

However, the NFS server itself then becomes a single point of failure. You
either have to build a failover NFS server (see 1), or buy yourself out of
trouble with something like a NetApp.

Regards,

Brian.


More information about the freebsd-cluster mailing list