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:
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/