Is it possible to create a 3 node Windows Server 2008 R2 failover cluster without a SAN?

Our goal is to create a clustered MSMQ without any single points of failure. Ideally, the stored messages would be persisted on all nodes of the cluster so that if any single node was taken offline the cluster could continue operation and maintain quorum.

Alternatively, is there another, better way of creating a highly available MSMQ?

(additional most likely irrelevant information) This cluster is going to act as a NServiceBus "distributor" and hold all "pending" messages in our system. It will be the hub that all message traffic goes through.

Edit: to clarify, I'm specifically interested in storing the MSMQ queues replicated on the nodes themselves. I would use either FileShare or a Node Majority quorum to handle cluster quorum.


Shared disk of some sort is required for the disks that the MSMQ data will be stored on.

The cost of the SAN isn't the main issue -- it's rather the fact that the SAN becomes a single point of failure.

SANs aren't really considered a single point of failure. They have redundant controllers, redundant paths from the server to the SAN, redundant paths from the controllers to the spindles. If spindle failure is an issue you can clone the LUN to a second set of disks for maximum redundancy. If you have a second array you can even replicate from one array to another.

Most storage arrays are designed for 99.999% uptime if not more. Some are designed for 99.9999% uptime and some can provide even more uptime than that.

  • Interesting/good point. And, like you said, if we replicate the LUN to a second array we could keep an extremely high SLA even in the case of a catastrophic failure of the primary array. – Mike Sep 22 '10 at 21:37

No, Cluster Services/MSDTC requires a shared block-level quorum volume.

  • Is this quorum different than the Cluster Quorum that can be a fileshare? – Mike Sep 22 '10 at 20:02
  • block-level != fileshare – Antoine Benkemoun Sep 22 '10 at 20:10
  • Mike, happy to be wrong but as far as I am aware quorum has to be block level rather than file level - am I wrong? – Chopper3 Sep 22 '10 at 20:18
  • Looks like the fileshare quorum option may be new in R2 (technet.microsoft.com/en-us/library/cc731739.aspx#BKMK_choices). My real question is, aside from the cluster quorum, can the storage for MSMQ be replicated between the nodes? – Mike Sep 22 '10 at 21:31

Yes, shared block storage is a requirement for the quorum.

If it is the cost of the SAN that is pushing this back, you can use direct attach storage such as something like the Dell MDS 1000.

  • The cost of the SAN isn't the main issue -- it's rather the fact that the SAN becomes a single point of failure. – Mike Sep 22 '10 at 21:26

MSMQ uses one fixed file location to store the messages and log files for a particular queue manager. When a clustered MSMQ service fails over to another node, the files are loaded into memory from the same shared location so that MSMQ can continue working. It is not possible to replicate the MSMQ storage directory to muiltiple locations and have those locations then be available for MSMQ services to load the files from. The messages are all stamped with the name of the MSMQ queue manager so the files can only be loaded by the MSMQ service that has the same queue manager name.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.