Deploying IaaS VM Guest Clusters in Microsoft Azure

Authors: Rob Hindman and Subhasish Bhattacharya, Program Manager, Windows Server

In this blog I am going to discuss deployment considerations and scenarios for IaaS VM Guest Clusters in Microsoft Azure.

IaaS VM Guest Clustering in Microsoft Azure

guestclustering

A guest cluster in Microsoft Azure is a Failover Cluster comprised of IaaS VMs. This allows hosted VM workloads to failover across the guest cluster. This provides a higher availability SLA for your applications than a single Azure VM can provide. It is especially usefully in scenarios where your VM hosting a critical application needs to be patched or requires configuration changes.

Learn more about the advantages of Guest Clustering in this video:

Supported workloads for Guest Clusters on Azure

The following Guest Cluster configurations are supported by Microsoft:

  • SQL Server AlwaysOn Availability Groups (no shared storage needed)
  • Storage Spaces Direct(S2D) for shared storage for SQL Server FCI
  • S2D for shared storage for RDS User Profile Disk
  • S2D for shared storage for Scale-out File Server (SoFS)
  • S2D for shared storage for File Server (Information Worker)
  • File Server using Storage Replica
  • Generic Application and Services on Guest Clusters

    SQL Server Failover Cluster Instance (FCI) on Azure

    A sizable SQL Server FCI install base today is on expensive SAN storage on-premises. In the future, we see this install base taking the following paths:

    1. Conversion to virtual deployments leveraging SQL Azure (PaaS): Not all on-premises SQL FCI deployments are a good fit for migration to SQL Azure.
    2. Conversion to virtual deployments leveraging Guest Clustering of Azure IaaS VMs and low cost software defined storage  technologies such as Storage Replica (SR) and Storage Spaces Direct(S2D): This is the focus of this blog.
    3. Maintaining a physical deployment on-premises while leveraging low cost SDS technologies such as SR and S2D
    4. Preserving the current deployment on-premises

    sqlserverfci

    Deployment guidance for the second path can be found here

    Creating a Guest Cluster using Azure Templates:

    Azure templates decrease the complexity and speed of your deployment to production. In addition it provides a repeatable mechanism to replicate your production deployments.

    It is easy to create a Guest Cluster in Azure using these “1-click” templates! Learn more in the following video:

    The following are recommended templates to use for your IaaS VM guest cluster deployments to Azure.

    1. Deploying Scale out File Server (SoFS)  on Storage Spaces Direct

      Find template here

      a

    2. Deploying SoFS on Storage Spaces Direct (with Managed Disk)

      Find template here

      b

    3. Deploying SQL Server FCI on Storage Spaces Direct

      Find template here

       

      c

      MVP, Nirmal Thewarathanthri, provides more guidance here and a video below:

    4. Deploying SQL Server AG on Storage Spaces Direct

      Find template here

      template2

    5. Deploying a Storage Spaces Direct Cluster-Cluster replication with Storage Replica and Managed Disks

      Find template here

      template3a template3

    6. Deploying Server-Server replication with Storage Replica and Managed Disks

    Find template here

    template4 template4a

    Deployment Considerations:

    Cluster Witness:

    It is recommended to use a Cloud Witness for Azure Guest Clusters.

    cloudwitness

    Cluster Authentication:

    There are three options for Cluster Authentication for your guest cluster:

    1. Traditional Domain Controller

      This is the default and predominant cluster authentication model where one or two (for higher availability) IaaS VM Domain Controllers are deployed.

    domainjoined

    Azure template to create a new Azure VM with a new AD Forest can be found here

    dj3

    Azure template to create a new AD Domain with 2 Domain Controllers can be found here

    dj2

    2. Workgroup Cluster

    A workgroup cluster reduces the cost of the deployment due to no DC VMs required. It reduces dependencies on Active Directory helping deployment complexity. It is an ideal fit for small deployments and test environments. Learn more here.

    workgroup

    3. Using Azure Active Directory

    Azure Active Directory provides a multi-tenant cloud based directory and identity management service which can be leveraged for cluster authentication. Learn more here

    aad

    Cluster Storage:

    There are three predominant options for cluster storage in Microsoft Azure:

    1. Storage Spaces Direct

      s2d

      Creates virtual shared storage across Azure IaaS VMs. Learn more here

    2. Application Replication

      apprep

    Replicates data in application layer across Azure IaaS VMs. A typical scenario is seen with SQL Server 2012 (or higher) Availability Groups (AG).

    3. Volume Replication

    Replicates data at volume layer across Azure IaaS VMs. This is application agnostic and works with any solution. In Windows Server 2016 volume replication is provided in-box with Storage Replica. 3rd party solutions for volume replication includes SIOS Datakeeper.

    Cluster Networking:

    The recommended approach to configure the IP address for the VCO (for instance for the SQL Server FCI) is through an Azure load balancer. The load balancer holds the IP address, on 1 cluster node at a time. The below video walks through the configuration of the VCO through a load balancer.

     

    Storage Space Direct Requirements in Azure:

    • Number of IaaS VMs: A minimum of 2
    • Data Disks attached to VMs:
      • A minimum of 4 data disks required per cluster i.e. 2 data disks per VM
      • Data disks must be Premium Azure Storage
      • Minimum size of data disk 128GB
    • VM Size: The following are the guidelines for minimum VM deployment sizes.
      • Small: DS2_V2
      • Medium: DS5_V2
      • Large: GS5
      • It is recommended to run the DskSpd utility to evaluate the IOPS provided for a VM deployment size. This will help in planning an appropriate deployment for your production environment. The following video outlines how to run the DskSpd tool for this evaluation.

    Using Storage Replica for a File Server

    The following are the workload characteristics for which Storage Replica is a better fit than Storage Spaces Direct for your guest cluster.

    • Large number of small random reads and writes
    • Lot of meta-data operations
    • Information Worker features that don’t work with Cluster Shared Volumes.

    srcomp

    UDP using File Share (SoFS) Guest Cluster

    Remote Desktop Services (RDS) requires a domain-joined file server for user profile disks (UPDs). This can be facilitated by deploying a SoFS on a domain-joined IaaS VM guest cluster in Azure. Learn about UPDs and Remote Desktop Services here