Cloning XenApp 6.5 (Or any other version)

I been working with Citrix Provisioning for some time now and I think we are all in agreement that the best option for distributing XenApp servers is to use Citrix Provisioning Services (AKA PVS)

It allows you the ability to make one XenApp server build and bring that same server image up on multiple hosts, physical and/or virtual if you get savy with driver injections, you can read more info on how to inject drivers to your PVS image here).

The goal of PVS is to avoid the administrative overhead of managing multiple different server builds and trying to keep them all identical with respect to applications, registry changes etc… Sometimes you end up with a lot of different PVS images which is normally where mistakes can be made.

Now… I just started working at a new company where PVS is NOT up and running (yet).  I plan on deploying version 6.1 for both XenApp and XenDesktop (I really want to experience the personal vDisk feature!)

Below is the process I followed specifically for a new non PVS Farm running XenApp 6.5

Steps:

  • Install OS and Updates
  • Install & Configure XA65
  • Install XA65 hotfixes
  • Install applications
  • Windows Update
  • Citrix XenApp Cloning Tool – Standard cloning
  • Sysprep
  • Convert VM to Template

Cloning the Production Server:

There are multiple ways you can clone or duplicate the production server. The easiest method is most likely using the cloning feature in your virtual environment. Another method is to restore a recent backup of the production server to the virtual environment, assuming that you backup the entire virtual machine.

Preparing the new cloned VM for Production:

Once you have a clone or “copy” of the existing Production XenApp server that you wish to clone you can begin the process of preparing the server for Production use.

Every persons environment will undoubtedly be unique. Make the best decisions for your own environment when reading this article.

Isolating the cloned VM from Production (This is not 100% needed):

You will need to bring the cloned server up in an isolated network. You don’t want to bring up an exact copy of the existing Production server on the same network for obvious reasons. You can easily do this in VMware by creating a virtual network with no physical adapters tied to it.

The first thing you will want to do is prevent the server from being powered on in the Production environment. Edit the properties of your cloned servers virtual machine and change the network adapter from the production network to the test network. This will ensure that the cloned server is isolated from the Production network once it is powered on.

Note: Your cloned server will most likely already be part of a domain. Assuming that it is, you may want to bring up a copy of a domain controller in the same isolated network. It isn’t necessarily a requirement but it will depend on your environment and level of comfort. You can certainly remove the cloned server from the domain without a domain controller present as long as you know the local administrator account name and password.

Now that you have a copy of a domain controller and the cloned XenApp server added to the isolated network, you can power them on. You will obviously want to make sure the domain controller is up and running before you power on the XenApp server.

Logon to the cloned XenApp server and change the local administrator password. Disjoin the the server from the domain and reboot.

When the server comes back up from it’s reboot, logon using the local administrator account and the newly created password.

Using the XenApp Cloning Tool:

For the next part we will use a Third Party software utility. Cloning a XenApp server requires many changes to the registry, services, databases etc… Citrix has documented these manual steps here.

VirtuAll Solutions has made this process easier with a freely downloadable utility made specifically for cloning XenApp servers. This and many other useful Citrix related utilities and information can be found at the Citrix Tools website located at http://www.citrixtools.net/

The utility we will be using is the XenApp Cloning Tool located here.

Download this utility and upload it to your cloned XenApp server. I find an easy way of doing this is to create an ISO image containing the files and then upload it to the virtual host. Once it’s uploaded, change the virtual machine to use that ISO in it’s virtual CD-ROM drive.

When the ISO is mounted, install the XenApp Cloning Tool onto the cloned XenApp server.

Open the XenApp Cloning Tool. It will look something like this:

Note: The settings in the screenshot may not be the default settings and are not necessarily correct for use with this article.

Look over the information that the software has discovered. Make sure the versions and paths all look correct.

You can ignore the Provisioning Services pieces of the utility as it has nothing to do with our process. For our purposes, we will just be using the default settings. If you have a need and know what you’re doing you can make changes to the default settings.

Click on the “Standard Cloning” button.

The utility will begin shutting down services and changing their startup settings from “Automatic” to “Manual”. It will set its own service to “Automatic”.

Once the utility has completed its process it will present a popup window saying it was successful. At this point you are ready to sysprep the server.

Sysprep the new cloned VM:

Close the XenApp Cloning Tool and launch sysprep. If you do not have sysprep on the server you will need to obtain it from the Microsoft website and upload it to the cloned XenApp server using the same method described earlier.

How you sysprep the server is really up to you. I would choose “Shutdown” from the dropdown menu and then click on the “Reseal” button.

Power the server back on and complete the sysprep process. Choose your licesning options, give the server a new name, pick an administrator account password etc…

Once the server is fully booted with its new name and SID’s the XenApp Cloning Tool service will run and complete the remaining processes for cloning the XenApp server. This includes changes to the services, registry and database. When it completes, it should change its own service to disabled. This prevents it from trying to run the cloning changes again at the next reboot.

Shutdown the server.

Complete the XenApp Cloning Process:

Change the cloned XenApp server’s network adapter back to the Production network.

Power on the cloned XenApp server, logon and join it to the domain.

Reboot the server again, logon and check that all the Citrix services started properly. If they didn’t, you will need to troubleshoot your exact issue and work from there, possibly even running the cloning tool again, but that will be for you to decide based on the problem.

If all went as planned, your Citrix services should all be running and the cloning tool service should be disabled.

Check your Production Citrix Farm and you should see the recently cloned server show up in the list of XenApp servers and everything should look healthy.

Now you can add this server to existing Published Applications, Desktops, Gateway’s etc…

If nessasary, move the server to another virtual host etc…