views:

72

answers:

2

I have a PHP based web application which is currently only using one webserver but will shortly be scaling up to another. In most regards this is pretty straightforward, but the application also stores a lot of files on the filesystem. It seems that there are many approaches to sharing the files between the two servers, from the very simple to the reasonably complex.

These are the options that I'm aware of

  • Simple network storage
    • NFS
    • SMB/CIFS
  • Clustered filesystems
    • Lustre
    • GFS/GFS2
    • GlusterFS
    • Hadoop DFS
    • MogileFS

What I want is for a file uploaded via one webserver be immediately available if accessed through the other. The data is extremely important and absolutely cannot be lost, so whatever is implemented needs to a) never lose data and b) have very high availability (as good as, or better, than a local filesystem).

It seems like the clustered filesystems will also provide faster data access than local storage (for large files) but that isn't of vita importance at the moment.

What would you recommend? Do you have any suggestions to add or anything specifically to look out for with the above options? Any suggestions on how to manage backup of data on the clustered filesystems?

A: 

You can look at the Mirror File System that replicate files between servers in real time. It's very easy to install and set up. One mount command does it and you can have a HA, Load Balancing and Backup solution in less than 10 minutes.

http://www.TwinPeakSoft.com/

Fish.Ada

fish.ada94
A: 

It looks like the clustered filesystems are the best bet. Backup can be done as for any other filesystem, although with most of them having built in redundancy, they are already more reliable than a standard filesystem.

El Yobo