Network and Storage Protocols

Shared LUNs


I know that Shared LUNs are supposed to be used only for clustered servers.  I'm curious to know why I couldn't use a shared LUN for 2 independent servers that will be interacting with 2 completely different directory structures.

My situation:  I have a mail archive service that is split into 2 separate servers.  One server houses the database and one server houses the indexes.  I would like to be able to store the indexes and the databases in the same LUN rather than carve out separate LUNs for each.  Is there a technical problem with doing that aside from it not being recommended.  I'm guessing that the recommendation/requirement is based on the fact that you have no way to lock files between two separate servers and could run into data corruption issues.  Am I correct in that assumption?

Is there another option that will allow me to use snapdrive and have more than one server connected to a storage unit? (particularly because these are system services so someone may or may not be logged on to that particular server)

Thanks for any input.




You are correct that the you would run into data corruption if you had the same LUN attached to multiple servers with no software-level locking (like VMWare, MSCS, etc...) to prevent simultaneous file access. 

Have you considered hosting the data as a CIFS volume on the controllers?  We had a similar situation as yours come up and we decided the best/only way to allow multiple servers access without clustering software was hosting the data as a CIFS volume on a NetApp controller.


I figured that was the case.  So, since that's the issue, is there any reason I couldn't share it anyhow since they won't be interacting with the same filesets?

I thought about CIFS but it adds one more level of complexity figuring domain credentials for access to the storage.  I don't want anyone else accessing it from the domain but don't want to have to set up domain credentials for those two servers and have to worry about them authenticating/etc.  Also, when services run as a local service (which is this archiving product) then domain credentials don't do much since the local service instance doesn't have any network privileges anyhow.



I was sort of hoping that this was NFS, then the situation is easy.  With Windows, there is no active-active sharing of LUN's anyway unless you use Veritas Cluster Server.  Windows 2008 can do NFS, so perhaps this is something to play with.  I can't attest to the quality of their NFS implementation, however.

Setting up a CIFS share to be access by a system user isn't that difficult, shares just need to be mapped with a crude "net share" batch script and the filer needs a few lines of configuration.  It would be an advantage if it was on an isolated/private (v)lan segment, of course.  We run a couple of pretty loaded Notes servers using CIFS shares and it is amazingly stable.  There used to be some documentation on NOW on how to set it up, but last I looked I couldn't find it.  I have a working implementation, so I have my documentation, in a way.