I would like to setuo a generic service on a windows 2016 failover cluster but can see there are some issues with shared storage,additional network cards and ip addresses on Azure, is it supported on Azure with sever 2016 and is there any guides on setting up faiover clustering, I an see there are plenty of guides on setting up SQL but that seems to manage the storage itself.
-
Would an availability set and a load balancer not suffice? Have you already seen this: https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-portal-sql-create-failover-cluster – Todd Wilcox Dec 04 '17 at 19:37
-
Unfortunately not its a service that can only run one instance and needs to be clustered in a windows cluater – user3129787 Dec 04 '17 at 19:43
-
1Looks like Storage Spaces Direct (S2D) is used to create shared storage replicated at the volume level, instead of the block level like on-prem. Check out that link for setting up failover clustering for SQL and just don't do the SQL part. – Todd Wilcox Dec 04 '17 at 19:44
-
As per @ToddWilcox reply, S2D works for your scenario and should work for pretty much anything, not only SQL Server. – Bruno Faria Dec 04 '17 at 22:15
2 Answers
Sam is right. You can build Failover Cluster and configure high availability for your application using either S2D which is officially supported in Azure or third-party HA shared storage solutions, for example, StarWind Virtual SAN. The resulting highly-available CSV can be used for virtual machine files and as a backend storage for File Server SMB shares.

- 5,000
- 10
- 14
-
I'd rather hold my breath with S2D at least to a point Microsoft will fix it and bring back to Windows Server 2016... For now the whole thing is SO broken they decided to rip it from the most current build. https://docs.microsoft.com/en-us/windows-server/get-started/server-1709-relnotes – BaronSamedi1958 Dec 27 '17 at 13:59
Up until recently the use of failover clustering was not supported in Azure at all, as sharing Azure storage disks between VMs is not supported.
There is now a supported option, which is to use storage spaces direct to provide your backend storage, which provides a no shared storage cluster to ensure high availability. You can see this documented here. However there is a big caveat here. Storage Spaces Direct is designed for workloads that have large files held open for long periods, so things like SQL databases, VHD's etc. Whilst it will work for more regular workloads with smaller files opened and closed more regularly, this is not something it has been extensively tested with and performance for this workload may not be what you expect. If you choose to go down this route make sure you test thoroughly.
There are other options for providing file services which you may want to consider, I've documented some of these here

- 38,736
- 6
- 78
- 114