Sql-server – Add shared folder to AlwaysOn AG Failover

availability-groupshigh-availabilitymicrosoft-dynamicssql-server-2012

We have setup a 2 node Synchronous AG with automatic failover to provide HA for our ERP application (Dynamics GP)

The GP desktop client loads a number of shared reports and dictionaries from a file share currently located on one of the database servers. In order to provide complete high availability this share needs to be available in the event of a failure of the primary replica.

At first I thought I would just copy the folder and setup shares on the secondary replica but realized SMB is not accessible through the AG listener.

My second thought was to move the share to another location however this still introduces a single point of failure and defeats the purpose of HA.

My only 2 real choices are to somehow add the folder as a resource to the cluster, however the 2 nodes are virtual machines and creating a shared SAN disk would be complex

Or a messier option would be to create a task that checks the server name and in the event of a failover would update DNS to direct clients via UNC to the correct server share.

What would be the recommended approach for this?

Best Answer

The recommended way to do this is the way you don't want to do it--by creating a shared disk and the necessary cluster resources for a file share.

Other cluster options would require some sort of replication functionality. Carbonite Availability GeoCluster will allow you to create software replicated disk resource to accomplish this, and there are some other products that will do the same thing. However, using third-party products introduces some risk because if there is a defect your cluster group may fail over or even fail to come online. Accordingly, I personally would not opt for one of these solutions.