Deploy XenApp servers with XenDesktop Machine Creation Services

By | June 23, 2012

Maybe you already experienced the simplicity of deploying XenDesktop virtual desktops with Citrix Machine Creation Services (MCS). MCS has several advantages. You don’t have to prepare an image, just install a reference machine and shutdown. Updating is very simple, just power on the reference machine, install updates, shutdown and update MCS. The other advantage is that when you use MCS in combination with XenServer, you can use IntelliCache, which is a great way to offload your storage. As I mentioned in a previous blog, MCS will also come to XenApp. Unfortunately it did not made it to XenApp 6.5, but it will probably come next year when XenApp and XenDesktop will merge in the same architecture. But why wait till next year? You can already deploy your XenApp servers with MCS. In fact, you can deploy any server with MCS! Please note that this is not officially supported by Citrix. But if you want to try, this is how you can do it.

These are the steps I followed:

  1. Install your master XenApp server on XenServer. Join it to the domain. Install XenApp, and configure it as a production server.
  2. Install all software and updates.
  3. Test it as if it was a production server.
  4. Remember to use DHCP for your XenApp servers because we will clone it.

Now you have a server that’s ready to go in production. Here comes the MCS part.

  • MCS will take care of the machine IDs in Active Directory. When using XenDesktop, the Virtual Desktop Agent (VDA) will also install the Machine Identity Service. This will take care of unique IDs of the machines. Although it is not really necessary to create new SIDs, see http://blogs.technet.com/b/markrussinovich/archive/2009/11/03/3291024.aspx, it would be nice if we had. On the XenApp server, we don’t want the VDA, because that’s meant for XenDesktop. But when you look at the XenDesktop install dvd, you can find the Machine Identity Service in x64\Virtual Desktop Agent Service as a separate install; MachineIdentyServiceAgent_x64.msi. Install it in your XenApp server. This will take care of a unique server ID.
  • The identity service takes care of Windows only. We also need a tool to take care of XenApp, so the server will join the XenApp farm with its own unique name. We can use serveral tools:
    • Citrix prep tool for cloning XenApp servers. Use the setup console or command C:\Program Files (x86)\Citrix\XenApp\ServerConfig\XenAppConfigConsole.exe and choose Prepare for imaging. This will remove all IDs from XenApp and generalizes the image. Then shutdown the XenApp server.
    • XenApp Cloning tools from Citrixtools.net. This will install a service that will adjust the ID of the XenApp server at startup. Shutdown the server. I used this tool.
    • Or use any other cloning tool for XenApp servers.
  • Our master server is ready for deployment now with MCS. Make sure it is turned off now.
  • If you already have XenDesktop running, log on to the XenDesktop Desktop Studio. Otherwise, first install a XenDesktop Controller. You can use an existing XenDesktop Controller that is also used for XenDesktop deployments. The XenApp deployment will not interfere.
  • In Desktop Studio create a new Catalog
  • Select Pooled machines, Random assignment. Select the XenApp master server as Master Image on your XenServer host. Select the number of XenApp servers to create with enough CPU and memory. Let XenDesktop Create new accounts.
  • That’s it! XenDesktop Studio will clone the requested number of XenApp servers and will create id en differencing disks. That’s the only thing we do in XenDesktop Studio. Further management is done from XenServer console and XenApp console.
  • Now power up your new servers from XenServer. Your XenApp servers will automatically join the XenApp farm when they startup. You can manage them from the XenApp console, just like other XenApp servers.
  • And here comes the best part, the XenApp servers also use IntelliCache on XenServer! So you don’t need expensive storage. Disk blocks from the master image will be cached on local disk in the XenServer hosts.
  • Updating the XenApp servers will work the same as in XenDesktop. Startup your master image and make the required adjustments. Then shutdown the master image. Go to XenDesktop Studio, select the catalog and update the catalog from the new master image.

Remember that this procedure is experimental and not supported. Use at your own risk. But as you can see, MCS and IntelliCache will also work for XenApp servers.