Monday, December 7, 2009

How XENDesktop recovers from a XENServer failed pool master

By:Rick Rohne
According to Citrix Article CTX122458 you can configure a XENDesktop DDC to communicate with two or more XENServers in a Farm with HA configured.  In the case of a failure, the DDC simply goes through the list until it finds the new XENServer master. This got me thinking… It goes through the list???  What happens when you have a large farm?   Does this mean that XENDesktop will not be able to control Virtual Machines for the duration of the outage?  Time to get some Network traces to find out what is going on under the covers…

The Basics
The basis of the article shows that you can add multiple XENServers to the options tab of the XENDesktop DDC configuration as seen here:

1. Create a desktop group as normal using the XENDesktop Setup Wizard or manually in the Delivery Center Console by selecting Citrix Xen VM infrastructure (included with XenDesktop) as the host infrastructure. Specify the address of a single XenServer in the Address field.

2. Select Options and enter:

Does Every Server have to be entered?
Citrix states that you do not have to add all of the XENServers in the Farm to the DDC configuration. I was a little weary about this, so I had to do some testing to see what happens when you don’t list all the servers and one of the “Un-listed” servers becomes the Pool Master.
To my surprise, the answer was definitely NO (You don't have to list all the Pool Members)! When and if the Pool Master fails, the DDC just needs to be able to communicate with one other Member Server in the XENServer Pool. The DDC then performs the Authentication Request and if the authentication succeeds, the Member Server will tell the DDC the IP address of the Pool Master. If no Pool Master is elected, the DDC continues to poll the XENServers until the election has taken place.
The Proof is in the Trace
When the Pool Master experiences a failure; the DDC senses the failure and begins to go down its list of listed XENServers in the list.

The First XENServer that responds may be a Pool Member, however, the Member accepts the authentication request and awaits commands.

The DDC then issues a command to get all records

The XENServer Member recognizes and accepts the command but informs the DDC of the Pool Master IP address in the response.

The DDC then connects to the New Pool Master (Even if it is not listed in the options)

As you can see, you don't have to enter all of the servers in the XENServer farm. I would probably recommend adding at least 4 XENServers in each farm to allow for some flexibility for server reboots and server maintenance...

More on XENDesktop

blog comments powered by Disqus
Microsoft Virtualization, Citrix, XENServer, Storage, iscsi, Exchange, Virtual Desktops, XENDesktop, APPSense, Netscaler, Virtual Storage, VM, Unified Comminications, Cisco, Server Virtualization, Thin client, Server Based Computing, SBC, Application Delivery controllers, System Center, SCCM, SCVMM, SCOM, VMware, VSphere, Virtual Storage, Cloud Computing, Provisioning Server, Hypervisor, Client Hypervisor.