I'm a developer...treading here on foreign terrain. Please pardon any naivete.
I work on an application that stores data both in a database and the filesystem.
Context: Clustering and Network Shares
In the past when we ran the application clustered (i.e. multiple application servers fronting the data), we have handled the filesystem as follows:
- Node A : shares the "data directory " (via samba or nfs)
- Nodes B,C,D, etc: mounts the "network share" and uses that at its "data directory"
Reduced "disk speed" for nodes B,C,D was suboptimal, but not a big problem.
Also note: The application uses its own file locking mechanism. Concurrent writes are not a problem.
The Questions
So in a modern data center fibre-channel connects servers to SANS, what's the best way to share a "hunk of disk" amongst several servers ?
Is such 'disk sharing' widely used?
Any OS-specific concerns ("works on linux, but not available on Windows")
Any caveats? Hard to configure, unreliable, etc?
I have heard a lot of "we can't do that" from our sysadmins ..which finally when I asked more details, they said "well, technically it's possible, but it's not how we do it here"
thanks in advance,
Update: Thanks for the answers. (They were all good: i had to pick one. Sorry if it wasn't yours) Just as I had (somewhat) expected: my hopes that you could simply attach NTFS or XFS or whatever "regular" filesystem to the same 'hunk of 'disk' proved naive. Clustered filesystem is the ticket. And fancy filesystems aren't on our hosting team's top priorities).