Tuesday, August 28, 2012

How Citrix XenDesktop 5.x desktop controllers provide resillence ?

I was asked for the questions below many times:
Is there any load-balancing or failover function in Desktop Controller ?

 My answer is "Yes but Web Interface and Virtual Desktop Agent do it, not Desktop Controllers".

 Desktop Controllers in same site work in peer-to-peer style. They don't know if other desktop controllers die or not. They know the existence of each other due to sharing the SQL database.


 Firstly, we looks at what Web Interface does in load-balancing. When you configure a Web Interface site, you fill in the Site information of XenDesktop like what you did with Citrix XenApp.



 Web interface will contact the Broker Services to ask "What Desktops are for that users ?" Obvious, if one of Desktop Controllers die, Web Interface will ask the others. This will provides resilience.

On the other hand, when you install Virtual Desktop Agent (VDA), you fill in the Desktop Controllers FQDN during installation or modify the registry key for VDA.


This is to let VDA know "what Desktop Controllers available in the environment". VDA try to register one by one according to this registry.
 If one of Controllers dies, VDA can register to the next according to the sequence in the key "ListOfDDCs".

You can find out what VDA does in Windows eventlog of virtual desktop like the following example.


VDA lost contact with Controllers.


VDA try to register other Controllers. The time for VDA to register other Controllers will varies. During the experiment in my lab, I found the time is within 10 second.


Is there any impact on users ?

If someone answer you no impact, they must be sales to get money from you.

When one of Desktop Controllers dies, VDA need time to detect the death (around 2 mins found during in experiment) and  register to other Controllers in order to update the VDA status (i.e. disconnected or ready, in use or unregistered in Desktop Studio).

Web Interface may also produce authentication error if you try to logon immediately after Controller dies. However, the error will disappears if you re-try in 1 or 2 minutes. (If any one know why, please share with us)

Once VDAs has completed the registration, user can connect to virtual desktops by authenticating  at Web Interface.
No impact on existing user connection to virtual desktops even all Desktop Controllers die.


Also, you may find the Web interface is slower than before. It is normal as there are dead Controller entries in Web Interface site configuration.


I hope the information above can help you.

Welcome for correction. :)



No comments:

Post a Comment