Clustered File Server on Windows 2012 With Local Storage

dfsfailoverclusterfile-serverwindows-server-2012

So I have a SQL Always-On group that requires a file share witness. I want that file share witness to be redundant and since I have no other need for a file server on this network, I'd like to do it with the least number of servers.

I thought I'd set up 2 servers with DFS but this article says not to do that because DFS could sometimes use one server's data and sometimes use another, messing up the quorum: http://windowsitpro.com/high-availability/q-why-cant-i-host-file-share-witness-cluster-dfs-share

So it seems I need a true/real Windows Failover Cluster, set up in the File Server role. The problem is that all the articles I read talk about using shared storage. But shared storage (e.g. a SAN) would require a 3rd server and then again I have a single point of failure (the SAN). And, I'd really prefer to buy just 2 new servers instead of 3. I see I can also use Windows' Storage Spaces as an alternative to a SAN but that requires 3 discs so that's even worse insofar as buying hardware.

What's the best way to set up a redundant file share for a witness without buying too many servers or having a single SAN point failure? Obviously, I'd like to use local storage but can I set up the file cluster so that it uses server 1's hard drive all the time when server 1 is the primary and server 2's hard drive all the time when server 2 is the primary, and use DFS to replicate data in case one of the servers died? I think this way would avoid the "only DFS" concern mentioned in the above article and still keep me at just 2 servers.

Best Answer

Based on the shared storage requirement I assume it's AlwaysON FCI (Failover Cluster Instances) The easiest solution for you would be deploying a virtual SAN. Virtual SAN will take the local storage of the 2 SQL nodes you have and present it back to them as a highly available virtual disk. Now if one of the SQL cluster nodes fail you still have one live copy of your data and graceful SQL failover. Although most of the Virtual SAN products are commercial only, it is also possible to get free ones with different level of restrictions:

  1. Datacore vitrual SAN - Emulates FC storage only, free only for non-production use. Need to submit a form and answer some questions to get it.
  2. Free HP VSA - emulates iSCSI, has 1 TB limitation (shouldn't be an issue with SQL), but requires at least 3 servers. Not sure if production use is allowed.
  3. StarWind Virtual SAN Free - Emulates iSCSI, NFS & SMB3. There also at least 2 free license offerings. One is a 2-node license available for all, it can provide fault tolerant NFS & SMB3 storage. Production use is supported. Second one is a full blown Free 2-node Virtual SAN which delivers fault tolerant storage via iSCSI, DMA, NFS, and SMB3. Production use also supported. To get that one you need to be either an MCP/MVP or VCP/vExpert or an active online communities contributor. (I currently got the second one, you'll have to contact them to get one)

Here's a video on SQL AlwaysOn FCI deployment with virtual SAN storage (it's in Azure but the process is the same)http://www.edwinmsarmiento.com/running-a-sql-server-failover-clustered-instance-on-microsoft-azure/