2

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?

5
  • 1
    Have you considered something like DFS for the share location instead of a single server? Commented Jun 7, 2017 at 18:18
  • Just to clarify, did you get a share working but you were having issues getting it to travel with the AG listener? Commented Jun 7, 2017 at 18:32
  • 1
    Why create shares on a SQL Server instance? Just use a file server that I'm sure you have in your environment for other task.
    – user507
    Commented Jun 7, 2017 at 18:37
  • I agree it could be put on a file server, however when that file server is unavailable the application becomes unavailable even though the database is available.
    – Jeremie
    Commented Jun 7, 2017 at 20:47
  • @JohnEisbrener Correct, the share is working fine however if you try to use \\<AGListener>\GPShare you won't get anywhere (assuming the listener only works on the configured port)
    – Jeremie
    Commented Jun 7, 2017 at 20:48

1 Answer 1

0

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.

1
  • 1
    Nah, just add one more layer of abstraction. Create a CNAME and point it at the listener. Then the CNAME can be used for the UNC share. Commented Jun 6, 2019 at 18:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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