Sorry to give a non-answer, but what you're asking raises an eyebrow. If you really need a clustered file system, I would expect some kind of explanation as to why.
Answer: None of the above -- go with a "filesystem" that isn't a POSIX compliant file system, but rather a HTTP service oriented towards file storage, replication and redundancy. Examples include MogileFS (self-hosted, originally created by Brad Fitzpatrick) or Amazon Simple Storage Service (hosted service), or Windows Azure's blobs (.NET, hosted service).
Based on your previous questions you appear to be just starting out, i.e. greenfield development. If so, then generally speaking you're better off purchasing file storage as a service at market price, rather than trying to build something yourself. Getting availability and replication right on a large scale is hard.