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.
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.
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.
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.
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.
For high availability of RD Licensing and RD Gateway, see the following:
· Deploying Remote Desktop Licensing Step-by-Step Guide (http://technet.microsoft.com/en-us/library/dd983943(WS.10).aspx)
· Improving TS Gateway availability using NLB (http://blogs.msdn.com/rds/archive/2009/03/24/improving-ts-gateway-availability-using-nlb.aspx)
There are two deployment configurations that are not supported:
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.
why do we need DNS RR for RD Session Host? Isn't the Broker smart enough to route incomming connections only to those Session Hosts that are alive?
Broker is not the one routing the incoming connection to RDSH, it is the other way. User request is sent to the RDSH in redirection mode, which routes the call to the broker.
Are there any ways to avoid RR? As far as I can understand the “Front-end” that talks to RDSH is RDGW. Does it have any mechanism to chose one RDSH from an array?
It is possible to avoid RR, You can configure Network load balancing for your terminal servers. If your scale out you can use 2 terminal server as dedicated redirectors and put only them in a NLB cluster. Works fine here
I've gotten that the failover clustering of "RD Connection Broker server" shold be configured in active-passive mode.
But how should I think about "active-active mode"？
Could I configure the clustered "RD Connection Broker" in active-active mode？
No, RD Connection Broker doesn't support active-active clustering.
Can I ask you a question about this sentence "Clustering RD Connection Broker servers on RD Virtualization Host servers".
Is it means that I am unable to bring up RDCB as a cluster service in the same cluster there my VDI virtual Machines are located and where each node have RDVH service installed? I should make 2 dedicated clusters - one for RDCB and anover one for Hyper-V VMs?