|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:||Michael Grant (mg-f...@grant.org)|
|Date:||Nov 9, 2002 1:12:53 pm|
For most application it means rewriting the software for the use in a cluster.
That's a shame, that will make it much much harder, I don't really want to start messing with apache, imapd, or stuff like that where I would end up having to support a parrallel version. Surely there must be an easier way?
Check the port system for the strings cluster, MPI, there is thirty option but i forgot this. (you find it on some site looking for MPI; could be MVP but i'm not sure).
then Greg Lewis wrote:
PVM. There are variants of MPI too, MPICH, LAM, etc. There are even variants for specific hardware like Myrinet.
You may also want to look into the PBS port, although its sort of old and should be updated to a more recent OpenPBS version (I have 2.3.14, which is free from the nastier license terms). There is also a SLURM port that has appeared recently and someone was working on a SGE port too.
These are more HPC clustering tools though and you seem to be looking in the HA space instead.
Wow, alphabet soup! I admit that I've never heard of MPI, PVM, MPICH, LAM, or HPC. I have heard of beowulf. I'll do some more reading on these. Thanks.
"Clustering software" is rather a broad category. There is software in that category that runs on FreeBSD, but you'll need to be more specific to get better answers :).
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.
I imagine having multiple machines, they may be running an identical image of the OS or they may each have their own OS, at any rate, I don't want to take down the entire cluster to upgrade the OS.
I imagine the user's files available on all machines in the cluster. This means that if they log into a shell on one box, they modify a file, the modifications are seen by the other boxes. For example, they modify their web page, all the web servers see the change. They delete a message from their mailbox, all servers in the cluster see the change. So either the data is mirrored in real time or there's some other back end disk farm somewhere.
Whether the sharing is done via iSCSI or double-ended SCSI or a LAN mirror, I'm not sure what's best. The iSCSI stuff sounds pretty neat if you could actually mount the disk read/write on more than one machine and run Vinum on them as Charles Rouzer says. I never heard of this, but it sounds like what I had in mind to share the user data between machines.
I have seen double-ended SCSI used in a failover situation where only one machine mounts the SCSI disk(s) read/write. I saw this at Sun nearly 10 years ago.
I don't believe FreeBSD currently has anything for transparent process migration like BProc or MOSIX (although IIRC MOSIX was originally written for BSD).
As for process migration, that would be nice. Andy's phase-2 stuff sounds like it will do that someday. As of today, I could certainly live with having to kick the shell user's off and having them log back into another server. imap and web users probably wouldn't notice a thing if the server they were connected to went down, maybe just a slight timeout before the clients reconnected to one of the up servers.
It's not my goal to build a cluster to run some massively parrallel program to grind out an answer, my goal is oriented towards spreading out the workload amongst multiple boxes and creating something that's very highly available.
I also do not want to modify each individual application to run on the cluster, I want to run stuff that's out of the box, out of the ports collection or something that I can just type "make install". Imagine if I had to modify apache by hand every time a new version of apache came out! Ok, that's not a reasonable example. Imagine that I use something from the ports collection that nobody took the time to modify to run on some freebsd cluster. I'd have to modify it and probably end up supporting it. That could be a nightmare.
Does this rambling help you understand more what I'm looking for? Does it exist today or is Andy's phase-2 stuff what I want?
Still unanswered, for a cluster of machines, is there some front end machine that somehow directs requests around like NAT/ip-masquerading to the back-end machines? Alex mentioned "Virtual IP addresses". Is this something that happens at the router/hub level?
Thanks for your responses, this is getting interesting!
To Unsubscribe: send mail to majo...@FreeBSD.org with "unsubscribe freebsd-cluster" in the body of the message