Initially only a few TBs of space is needed for a storage solution (<10TBs).
My initial plan is to have a NAS with other servers mounting the data stored on the NAS device, pushing and pulling data from it. Because this will be a small deployment the cost of a SAN can't be justified, and growth expectancy is unknown as of yet. So it will be NAS to being with, but it needs to be expandable.
I see a few problems with this design though;
Firstly; SMB/CIFS is not a good with multiple servers having the same data store mounted, NFS seems like a better option here. Although, as far as I know it's my only option. It would be a native Linux deployment, so are any better protocols available to me other than NFS, or is that my only choice here?
Secondly; As the NAS device gets short of either I/O capacity or space, which ever comes first, another will have to be added (and this process will repeat). How can I drop another NAS onto the network and extending the existing storage share (as far as the view from the other servers is concerned) to include this addition storage space? What is the "NAS equivalent" of adding another storage host in a SAN, and expanding the file system across it? (As far as I know this isn't possible, but I'm asking in case I'm wrong!).
Presumably what I have described in the scenario above, once the first NAS is at capacity, is the basic requirement for a SAN, is this correct? Would a more scalable approach be to add another NAS, and have the servers mount both storage shares, and have the application support the use of multiple storage spaces, rather then trying to implement an ever growing storage space?