I received an email from a visitor earlier asking what the difference between a Xenapp controller and worker was. He found that he had eight Xenapp servers in his farm and out of the eight, he had six which he was able to change the election preference on, where as was not able to on the two and they were showing as N/A.
This is due to the two being configured as workers and not controllers. You can check whether a server is a controller or worker by clicking on the server within App Centre, clicking the information tab and looking for session-host mode:
Disabled – Indicates that this server is a controller
Enabled – Indicates that this server is a worker
You can also check if a XenApp 6.5 server is a worker or a controller by browsing the below key via registry HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\IMA\RUNTIME
The DWORD named WorkerRole, you will find value of 0 (zero) which indicates that the server is a controller and if the value is 1 (one) indicates that the server is a worker.
What is the difference:
The difference between a controller server and worker server is based on the options you tick when adding a server to the farm. See screen shot below. Selecting enable session-host mode only would configure the server as a worker.
A worker is unable to participate in an election. The reason is that it has no data collector role installed. It is also of no use to use a worker as a XML broker because it has no XML service installed.
The below chart will explain the differences without me going into too much detail.
Will I experience issues?
No, the visitor who sent me an email mentioned that two of the eight servers were not allowing him to change the election preference so therefore they are workers. He still has the six servers which are controllers. There would have been an issue if there were two controllers and six workers because if the two controllers were to crash, new users would not be able to log on and disconnected sessions cannot be reconnected. So it is important that you have enough controllers within your Xenapp farm.
Why should I use a worker?
There are many benefits. A few are listed below.
1) A Worker does not take up much bandwidth compared to a controller
2) The startup time of you IMA service is quicker as there is no need to download all the information from the data store. The local host cache on your worker will be much smaller in size compared to the controllers.
3) There will be less replication between the data store and XenApp Servers
Some configure all Xenapp servers as controllers