Say you have four VPS instances running. One is an nginx proxy which handles requests for your two middle layers VPS instances running a web app via FastCGI and the final VPS is running the database.
What would be the best method to share storage between the three backend instances using only the resources available on each VPS (no access to a SAN)? I know that NFS is obviously one way of sharing data but as far as I am aware you can't combine separate storage areas from different VPS instances into one using NFS.
Is there a better way to achieve some kind of storage sharing between these nodes so that if I want to bring up another node to handle extra load I don't need to have some fancy method in place to keep all (non-database) app data in sync. This needs to be accessible using a standard POSIX file system interface so that the running apps do not need to be rewritten to use a new technology (otherwise I'd just use Amazon S3 or something similar).
Any help is appreciated.