Microsoft VDI – High Availability Deployment Options
Published Sep 07 2018 07:22 PM 4,759 Views
First published on CloudBlogs on Mar, 01 2010

The Microsoft Virtual Desktop Infrastructure (Microsoft VDI) involves multiple role services. To develop a true high availability solution for this setup, you need to understand the high availability solution for each role service. This blog post identifies the key pieces of the Microsoft VDI solution and provides details on the high availability options available.

Key Microsoft role services that should be made highly available
  1. Remote Desktop Session Host (RD Session Host) in redirection mode
  2. Remote Desktop Connection Broker (RD Connection Broker)
  3. Remote Desktop Virtualization Host (RD Virtualization Host)
  4. Remote Desktop Web Access (RD Web Access)
  5. Remote Desktop Licensing (RD Licensing) and Remote Desktop Gateway (RD Gateway)
High availability options for each role service 1. RD Session Host in redirection mode

A high availability solution for the RD Session Host server consists of high availability of the hardware, as well as high availability of the Remote Desktop Session Host role service.  You can use multiple RD Session Host servers and round robin DNS to provide high availability at both levels. High availability is obtained by virtue of the Remote Desktop Protocol (RDP) client trying all the IP addresses returned by the DNS server. All the RD Session Host servers should be running in active-active mode .

2. RD Connection Broker

Similar to RD Session Host, the RD Connection Broker role service can be made highly available at both the hardware and the service level by clustering multiple servers running the RD Connection Broker role service. Failover clustering guarantees that in the event of hardware or software (service) failure on the active node, a failover is triggered. In other words, a new active node would be selected at that time.  A step-by-step guide about how to configure an RD Connection Broker server in active-passive mode for high availability will be available soon on TechNet.

3. RD Virtualization Host

The Microsoft VDI solution supports highly available Hyper-V virtual machines. Setting up a failover cluster environment with multiple Hyper-V hosts will ensure that in the event of a hardware failure on a Hyper-V host, the virtual machines will fail over to another Hyper-V host and automatically start. If the Remote Desktop Virtualization Host Agent service fails, this service is configured to restart automatically. Thus all the Hyper-V virtual machines would be available all the time.

4. RD Web Access

High availability of the RD Web Access role service is achieved by deploying it in an active-active mode. Multiple RD Web Access servers can be configured as part of a Network Load Balancing (NLB) cluster to achieve this. You could also use round robin DNS in place of an NLB cluster to make the RD Web Access role service highly available.

5. RD Licensing and RD Gateway

For high availability of RD Licensing and RD Gateway, see the following:

· Deploying Remote Desktop Licensing Step-by-Step Guide ( )

· Improving TS Gateway availability using NLB ( ... )

Unsupported high availability deployment configurations

There are two deployment configurations that are not supported:

  1. Clustering RD Connection Broker servers on RD Virtualization Host servers.
  2. An active-active RD Connection Broker installation.
More information about setting up highly available VDI

A step-by -step guide for high availability of all the components mentioned above will be published soon.


· Active/Active failover cluster model . All nodes in the failover cluster are functioning and serving clients. If a node fails, the resource will move to another node and continue to function normally, assuming that the new server has enough capacity to handle the additional workload.

· Active/Passive failover cluster model . One node in the failover cluster typically sits idle until a failover occurs. After a failover, this passive node has enough capacity to serve the new application without any performance degradation.

Version history
Last update:
‎Sep 07 2018 07:22 PM