Windows Server Failover Cluster on Azure IAAS VM – Part 1 (Storage)
Hello, cluster fans. This is Mario Liu and I am a Support Escalation Engineer on the Windows High Availability team in Microsoft CSS Americas. I have a good news for you that starting in April 2015, Microsoft will support Windows Server Failover Cluster (WSFC) on Azure IAAS Virtual Machines. Here is the supportability announcement for Windows Server on Azure VMs:
Microsoft server software support for Microsoft Azure virtual machines
https://support.microsoft.com/en-us/kb/2721672
The Failover Cluster feature is part of that announcement. The above knowledge base is subject to change once more improvements for WSFC on Azure IAAS VMs are made. Please check the above link for the latest updates.
Today, I’d like to share the main differences when you deploy WSFC on-premises as compared to within Azure. First, the Azure VM operating system must be Windows Server 2008 R2, Windows Server 2012, or Windows Server 2012 R2. Please note that both Windows Server 2008 R2 and 2012 both require this hotfix to be installed.
At a higher level, the Failover Cluster feature does not change inside the VM and is still a standard Server OS feature. The challenges are outside and relate to Storage and Network. In this blog, I will be discussing Storage.
The biggest challenge to implementing Failover Clustering in Azure is that Azure does not provide native shared block storage to VMs, which is different than on-premises – Fiber Channel SAN, SAS, or iSCSI. That limits SQL Server AlwaysOn Availability Groups (AG) as the primary use case scenario in Azure as SQL AG does not utilize shared storage. Instead, it leverages its own replication at the application layer to replicate the SQL data across the Azure IaaS VMs.
Until now, we have a few more options to work around the shared storage limitation; and that is how we can expand the scenarios beyond SQL AlwaysOn.
Option 1: Application-level replication for non-shared storage
Some applications leverage replication through their own means at the application layer. SQL Server AlwaysOn Availability Groups uses this method.
Option 2: Volume-level replication for non-shared storage
In other words, 3rdparty storage replication.
A common 3rdparty solution is SIOS DataKeeper Cluster Edition. There are other solutions on the market, but this is just one example. For more details, please check SIOS’s website:
DataKeeper Cluster Edition: Real-Time Replication of Windows Server Environments
https://us.sios.com/products/datakeeper-cluster/
Option 3: Leverage ExpressRoute for remote iSCSI Target shared block storage for file based storage from an Azure IaaS VMs
ExpressRoute is an Azure exclusive feature. It enables you to create dedicated private connections between Azure datacenters and infrastructure that’s on your premises. It has high throughput network connectivity to guarantee that the disk performance won’t be degraded.
One of the existing examples is NetApp Private Storage (NPS). NPS exposes an iSCSI Target via ExpressRoute with Equinix to Azure IaaS VMs.
Availability on Demand - ASR with NetApp Private Storage
https://channel9.msdn.com/Blogs/Windows-Azure/Availability-on-Demand-ASR-with-NetApp-Private-Storage
For more details about ExpressRoute, please see
ExpressRoute
https://azure.microsoft.com/en-us/services/expressroute/
There will be more options to present “shared storage” to Failover Clusters as new scenarios present in the future. We’ll update this blog along with the KB once new announcements become available. As long as you fix the storage, you’ve built the foundation of the Cluster.
In my next blog, Part 2, I’ll go through the network part and the creation of a Cluster.
Stay tuned and enjoy the Clustering in Azure!
Mario Liu
Support Escalation Engineer
CSS Americas | WINDOWS | HIGH AVAILABILITY
Comments
- Anonymous
September 25, 2015
The comment has been removed - Anonymous
September 28, 2015
The comment has been removed- Anonymous
February 08, 2017
Problem with SQL Always On is that it requires multiple copies of your data, and when you have 50+TB databases, that starts to become problematic. With true FOC clusters with shared storage, there is only one copy of the data that is presented to either the primary or secondary node depending on who has "ownership" of the volumes.When will Azure support shared storage FOC clusters, so that we can migrate our HA SQL workloads without taking the storage hit?
- Anonymous
- Anonymous
November 24, 2015
@unmesh we have had many people implement BizTalk on Azure follow the advice in the blog referenced by @Mario. - Anonymous
January 06, 2016
Thanks for this, Mario! - Anonymous
February 25, 2016
This is awesome!Thanks, man :) - Anonymous
June 17, 2016
Hello,Do you have any update about new “shared storage” to don't be necessary the use of express route?Thanks.- Anonymous
November 25, 2016
Hi Caio,Unfortunately from the KB article the only addition I see is that Azure Files can be a source of shared storage. But I don't know if this is purely limited to File Share use cases
- Anonymous
- Anonymous
June 30, 2017
Is there any documentation and or has anyone had any experience creating a Windows Cluster between on-premises node(s) and node(s) in Azure, coupled with SQL Server availability groups? Thanks in advance!- Anonymous
December 06, 2018
I want to install and configure private cloud environment on Windows server 2012 r2 or latest using azure, and one more think please share concept about node in own cloud based on windows server. Help me to do that. if you have tutorial video training or books on it kindly share with me.
- Anonymous