Best way to set up an all-linux web server farm

We need to set up a small web farm, ranging from 3-10 web servers. They will all be running CentOS with apache 2.2. They will all be serving the SAME content, via ColdFusion. They will be a load-balancerr in front of all these servers managing the user connections and taking care of fault-tolerance (ie- taking the server out the cluster if it stops responding).

My questions is more focused on the back-end network architecture. Since all servers will be identical and serve the same content, I'm faced with two options:
1. Replicate all content from a master location to each web server, and serve locally
2. Have a file server and share out the document root to each web server

Yes, I'm aware that option #2 creates a single point of failure for the web data as well as being slower than local disk access. Besides these two negatives, the main advantage would be in not needing to replicate (mantain) the data accross all of the web servers.

I'd like to be able to bring up or take down servers as traffic requires, which is why I opt for option #2. However, I'm unsure which protocol and/or setup to use. I've looked at using iSCSI (one system with RW access, and all others with RO access), CIFS, and NFS. Not sure which way to go or if there are alternatives I have not yet considered.

Thanks.
MisterArtLPAsked:
Who is Participating?
 
RowleyCommented:
Keep it simple.

NFS works perfectly for what you require (assuming its Read-Only content), is simple to set up and easy to maintain. I've worked in a number of large scale sites that use NFS no probs. You could also check out freenas or openfiler.
0
 
nociSoftware EngineerCommented:
Besides raw access, have you looked into filesystem options?

AFS, localcached filesystem with central reporitory?
http://www.openafs.org/

of GFS, as you use CentOS , which is a RedHat clone, GFS should be usable,
it would also mean you should be able to setup a mirrorred backend, and with the added bonus of being able to update the filesystem from all systems not just one.
http://sources.redhat.com/cluster/wiki

iSCSI, AoE (Atapi over Ethernet) etc. are basicly replacements of a SCSI resp. ATA cable by a network connection.
0
 
Monis MontherSystem ArchitectCommented:
Go GFS for central storage. NFS is also an option and its easier to maintain than GFS.

If you ever think of replication then you can use DRDB, google it.

Good Luck
0
 
gheistCommented:
CJDBC for coldfusion and replicating content around servers.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.