sharing a LUN between servers...

Storage

Storage
Information and ideas on Dell storage solutions, including DAS, NAS, SAN and backup.

sharing a LUN between servers...

This question is answered

I have two Windows 2003 R2 x32 servers fully updated running the Microsoft iSCSI intiator version 2.08.  I have successfully connected both servers to a LUN.  I have the LUN formated with NTFS.  When I write to the LUN in one server it doesn't show on the other server until I reboot (or disconnect and reconnect to the LUN).  Why is this happening?  How can I properly share a LUN and see write changes real-time?  TIA.

Verified Answer
  • When you run a cluster, what actually happens is that 1 cluster node can read from and write to the disk, and the other cluster node(s) cannot access the filesystem (the cluster disk driver prevents this for all servers other than the one that owns the cluster resource group that has the disk in question in it). These other servers will see the disk in disk management, and even see the partition, but it won't report a filesystem or drive letter as access to that is blocked by the cluster disk driver.

     

    This is how NTFS works in clustering; by only allowing 1 server at a time access to the disk.

    Member since 2003

All Replies
  • Looks like I found my answer here: http://en.community.dell.com/forums/t/19255086.aspx

    I want to do something that seems fairly simple.  I'd like to have 5 servers all have the same D: drive and all be able to read/write at the same time.  Am I asking for the impossible?  I know Windows sharing is an option but that's what I'm doing right now and it's sloooooooooow.  I have 0 experience with clustering so I don't want to do a lot of research if this isn't even possible.  Maybe "Dev Mgr" will come to the rescue.

  • You're asking for the impossible.

     

    The NTFS filesystem doesn't allow multiple systems simultanious access to the same disk; it'll guaranteed end up corrupting your filesystem. Sometimes issues start as soon as the 2nd server connects, but other times it can take a few minutes/hours/days. It just depends on who (which server) is doing what when.

     

    The only way to have multiple (Windows) servers 'use' the same disk space is to give it all to 1 single server and have that server set up a share, and then have the other servers map that share.

    Member since 2003

  • Thanks for your response.  When you setup a cluster for database purposes you need to format the filesystem as NTFS from what I've read on the internet.  Does SQL take care of the problems that would normally occur when sharing a disk?  Or does clustering services take care of that? 

    I figured I could do a cluster and instead of sharing a database on the NTFS drive just share files.  Or do I need a "cluster aware" application (Exchange, SQL, IIS, etc...) to be running in order to do this?

    How do I setup notifications on this forum?  It's silly to keep checking back for responses.

  • When you run a cluster, what actually happens is that 1 cluster node can read from and write to the disk, and the other cluster node(s) cannot access the filesystem (the cluster disk driver prevents this for all servers other than the one that owns the cluster resource group that has the disk in question in it). These other servers will see the disk in disk management, and even see the partition, but it won't report a filesystem or drive letter as access to that is blocked by the cluster disk driver.

     

    This is how NTFS works in clustering; by only allowing 1 server at a time access to the disk.

    Member since 2003

  • Thanks for the explanation.  Sure is a bummer that I bought this thing and now it's just a big NAS for my purposes.  I really didn't think what I was attempting to do was so complicated. 

  • Thinking about this some more makes me wonder how database clusters work?  It seems like multiple boxes would have to read/write to the database simultaneously.  How does that work?

  • snickered

    Thinking about this some more makes me wonder how database clusters work?  It seems like multiple boxes would have to read/write to the database simultaneously.  How does that work?

    Most clusters are set up active/passive. With those 1 server does everything and the other server is just sitting there doing nothing till the first server fails, or you move the cluster resource group to this server (e.g. scheduled maintenance).

     

    To do an active/active cluster you need multiple virtual disks.

    If for instance you want to run 2 SQL databases, you would create:

    - Q-drive: Quorum (for the cluster itself) -> part of "Cluster Group" in cluster admin

    - K-drive: Datastore for database 1 -> part of a different cluster resource group; e.g. "SQL Database 1"

    - L-drive: Transaction log store for database 1 -> part of "SQL Database 1"

    - M-drive: Datastore for database2 -> part of "SQL Database 2"

    - N-drive: Transaction log store for database 2 -> part of "SQL Database 2"

     

    This way 1 SQL instance runs on 1 cluster node and uses K and L, and the other SQL instance (different database) uses M and N on the other cluster node.

     

    Microsoft's Cluster Service doesn't have a way to allow both servers to actively read from and write to the same disk simultaneously.

    Member since 2003