I'm looking for a distributed, fault-tolerant file-level (not block-level, preferably) filesystem for use in a small Linux-based HA cluster of sorts. The files that are stored will be fairly small (I'd imagine less than 1% are >1GiB).
The requirements I'm thinking of are
- As-soon-as-possible sync of files across all machines in the cluster (so every node in the cluster holds the same files)
- Visible as a normal filesystem to applications
- Must be able to continue working if any node (even if there are only two nodes) goes down. (This implies a shared-nothing architecture, I suppose.)
It's okay if a node may take its own time to sync with the other node(s) in the cluster after coming back up.
The work load is mostly reads, with very occasional small writes, and even rarer larger file uploads.