Highlighted
snickered
Bronze

sharing a LUN between servers...

Jump to solution

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.

0 Kudos
7 Replies
snickered
Bronze

Re: sharing a LUN between servers...

Jump to solution

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.

0 Kudos
Dev Mgr
Diamond

Re: sharing a LUN between servers...

Jump to solution

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

0 Kudos
snickered
Bronze

Re: sharing a LUN between servers...

Jump to solution

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.

0 Kudos
Dev Mgr
Diamond

Re: sharing a LUN between servers...

Jump to solution

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

snickered
Bronze

Re: sharing a LUN between servers...

Jump to solution

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. 

0 Kudos
snickered
Bronze

Re: sharing a LUN between servers...

Jump to solution

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?

0 Kudos
Dev Mgr
Diamond

Re: sharing a LUN between servers...

Jump to solution

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

0 Kudos