Why you shouldn't share disk resources in a SAN

Why you shouldn't share disk resources in a SAN

I have connected the same SCSI disk across two hosts, giving both hosts as exclusive logins. My SCSI disk is detected and visible from both initiators. Now, when I write a file from initiator 1 to the disk, and force a bus reset, initiator 2 can't see the file. Is there any way to force the initiator to reread the disk from the initiator instead of reading from the cache?

    Requires Free Membership to View

    When you register for SearchStorage.com, you’ll also receive targeted emails from my team of award-winning editorial writers. Our goal is to keep you informed on the hottest topics, the latest news and the biggest challenges you face as a storage professional today.

    Rich Castagna, Editorial Director

    By submitting your registration information to SearchStorage.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchStorage.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

It is not recommended to share disk resources in a SAN (or a SCSI chain) unless there is some form of intelligent locking mechanism underlying the access to the disks. Usually, a form of clustering technology is used to provide that functionality. Windows-based servers could use MSCS (Microsoft Cluster Server) to provide that intelligence, and Unix-based servers can use solutions like VCS (Veritas Cluster Server) or the integrated clustering technology within the operating system itself (if applicable).

Without this software layer, the problem with what you are trying to accomplish is that operating systems generally do not like multiple writers to a single target without locking, since each OS wants the disk resource as its own. Also, most operating systems utilize a form of file system caching within system memory. You could turn off file system caching on the OS, but if one server happens to change the underlying inode structure of the disks, the other OS sharing that disk may crash.

You have two options for what you are trying to do:

  1. Use a NAS protocol like CIFS and NFS over Ethernet to access the shared "files" on the disk.
  2. If block access is required, implement a clustering solution on your servers.
Chris

This was first published in October 2004