PHP on a cluster with NAS storage
Posted: Thu Nov 03, 2005 5:48 am
Hi,
I am developing a PHP-based application that allows users to store uploaded files such as photos, and want to build it to scale to a large traffic load and mass storage.
Before launching this live I want to set up a cluster of Web servers and arrange for a NAS device (Network Attached Storage) that would store the files. The requirement is to give each stored file the same namespace on all Web servers so each server could manipulate (read, write) files without storing anything locally. This could then scale to terrabytes of storage.
I need fast NAS for real-time access, not a NAS backup device.
I still need to finalize whether to run the PHP app on Linux servers, or Windows 2003 servers, as there is a very good PHP accelerator (Phalanger) that runs on Windows .NET only and I am considering to use it.
Please avoid the discussion of whether I should use Linux or Windows servers and try to assist with the following specific points:
1. Have any of you had experience with NAS storage with PHP and can give me recommendations?
Is there a cluster-solution for mass storage that we should look into, that is not NAS
(and is not SAN, either)?
2. How would I need to modify my app's PHP code to manipulate files once they are stored on on NAS?
Specifically, code that reads and write files.
This question is divided in two:
A. If I eventually run on Linux servers with NFS
B. If I eventually run on Windows .NET servers with the PHP accelerator
3. I am currently using MySQL, though may upgrade in the future to Oracle. Since MySQL is mostly file based, has anyone had experience in running it on a NAS?
Thanks!
I am developing a PHP-based application that allows users to store uploaded files such as photos, and want to build it to scale to a large traffic load and mass storage.
Before launching this live I want to set up a cluster of Web servers and arrange for a NAS device (Network Attached Storage) that would store the files. The requirement is to give each stored file the same namespace on all Web servers so each server could manipulate (read, write) files without storing anything locally. This could then scale to terrabytes of storage.
I need fast NAS for real-time access, not a NAS backup device.
I still need to finalize whether to run the PHP app on Linux servers, or Windows 2003 servers, as there is a very good PHP accelerator (Phalanger) that runs on Windows .NET only and I am considering to use it.
Please avoid the discussion of whether I should use Linux or Windows servers and try to assist with the following specific points:
1. Have any of you had experience with NAS storage with PHP and can give me recommendations?
Is there a cluster-solution for mass storage that we should look into, that is not NAS
(and is not SAN, either)?
2. How would I need to modify my app's PHP code to manipulate files once they are stored on on NAS?
Specifically, code that reads and write files.
This question is divided in two:
A. If I eventually run on Linux servers with NFS
B. If I eventually run on Windows .NET servers with the PHP accelerator
3. I am currently using MySQL, though may upgrade in the future to Oracle. Since MySQL is mostly file based, has anyone had experience in running it on a NAS?
Thanks!