The XenDesktop Setup Wizard allows an administrator to quickly create a pooled desktop group with virtual desktop VMs for their XenDesktop environment.  I wanted to share more information on what the XD Setup Wizard does along with promoting it as we have had several customers unaware of the benefits of this wizard.  If you are going to create a desktop group of pooled desktops then you should seriously consider using the XD Setup Wizard as it will save you a tremendous amount of time.  Trust me on this as I needed to create 300 virtual desktops on VMware ESX two years ago which led to me creating this wizard.  But I will save that talk for another time.

First let’s cover the prerequisites and initial configuration…


Before the XenDesktop Setup Wizard is run you need to have a virtual desktop VM template and a base OS image (aka Provisioning Server vDisk).  For detailed setup information on how to accomplish this please refer to the XenDesktop Getting Started Guide.  This guide describes the configuration for the XD Setup Wizard as well as the other components of XenDesktop.  

When you create your virtual desktop VM template you specify the VM hardware parameters for your base virtual desktop VM.   When the XD Setup Wizard is run it reads this VM configuration information and then creates X number of VMs using the same virtual hardware configuration.  For example if you created a VM on XenServer that has 512MB of RAM, 1 virtual CPU, 1 virtual NIC and no virtual hard drive all your new virtual desktop VMs would have that same configuration.  Keep in mind that you do not need to have a nice round number in terms of RAM.  You could try using something like 460MB of RAM per desktop to try and squeeze one or two extra desktop VMs per server.  Of course that would only help if RAM was your bottleneck.  No virtual hard drive for the VM is possible because Provisioning Server (PVS) dynamically streams the base OS image to the VM which does not require a hard drive in the VM.

However, in advanced cases you may want add a virtual hard drive to the VM that will cache information from the streamed base OS image.  This virtual hard drive will be used as the write back cache for the Provisioning Server (PVS) base OS image and will typically be 1 to 2 GB.  Whether or not you want a virtual hard drive depends on your network configuration and storage.  By moving the write back cache off the network storage that also has the PVS base OS image you reduce the load on your network storage and you balance your network load.  However having your PVS base OS image and the write back cache for each desktop on the same storage device makes the configuration easier and can result in better storage utilization.  These are some of the trade offs to consider when you want to have virtual desktops deployments for thousands of users.  If you need to scale your virtual desktop environment to over a thousand users email me at sunil.kumar@citrix.com.

When you create your virtual desktops you will be asked for the base VM template, the base OS image (Provisioning Server virtual disk),  the base host name along with the number of virtual desktops to create, and the name of the desktop group.  In our case let’s use

  • “CXD_VM_TEMPLATE” as the base VM template
  • “CXD_IMAGE” as the base OS image
  • “CXD1, CXD2, … CXD100” as the name of the virtual desktops.
  • “CXD_GROUP” as the desktop group name.

You will be asked for all this information when you run the wizard to create a desktop group.  The attached video walks you through this configuration. 

Now let’s look at what happens when the wizard starts creating virtual desktops …


Step 1: Connect to the hosting infrastructure and create new virtual desktops 

The XD Setup Wizard connects to the XenServer resource pool via the master XenServer.  It instructs XenServer to create X number of VMs.  In our case we created 100 VMs.  A new MAC address is created for each VM that corresponds to the virtual NIC for the VM.  The XD Setup Wizard stores this newly created MAC address for each VM along with the host name specified (CXD1, CXD2, … CXD100).  The XD Setup Wizard uses the first MAC address for the VM if multiple NICs are used.  However I would avoid this configuration because bad things could happen if you try it.  Well actually the worst that could happen is that your virtual desktop would not boot, but because of the complexities of having multiple NICs I would avoid this configuration unless you could not live without having multiple NICs.  We now have 100 VMs created with the XD Setup Wizard storing the host name for each VM along with the MAC address.

Step 2: Configure virtual desktops in Provisioning Server

The XD Setup Wizard adds a target device in Provisioning Server for each of the virtual desktops.  The client name for each of the target devices is the host name.  When the VM boots it replaces the host name of the base OS image with this client name.  Each target device is uniquely identified by the MAC address which is why we stored the MAC address for each VM in the previous step.  Each target device is then set to boot from the specified base OS image (CXD_IMAGE).  In addition Provisioning Server adds each target device to active directory.  You can either let the XD Setup Wizard add computers to the default location or you can specify a custom OU.  We now have 100 provisioning server target (client) devices that correspond to each of the VMs created in the previous step.

Step 3: Add virtual desktops to a new Desktop Group in a Desktop Farm

The wizard now creates the new desktop group we called “CXD_GROUP”.  The 100 virtual desktop VMs created above are now added to this desktop group on the Desktop Delivery Controller (aka the Connection Broker or DDC).  The DDC identifies each of the VMs by their AD host name, but when the VMs are added the DDC can only see the VM name and UUID (Universal Identifier).  The wizard knows the host name for each VM so it informs the DDC of this automatically.  Otherwise the administrator would need to manually associate each VM name / UUID with its corresponding AD host name.  We now have a newly created desktop group with 100 virtual desktops.

Readying the desktop group for use

Once the desktop group is created, the Desktop Delivery Controller takes over and starts the initial setup for the desktop group.  This includes starting the idle virtual desktops.  These idle desktops are used to quickly connect a user to a virtual desktop because the virtual desktop is already running and only the profile needs to be applied when the user logs in.  The DDC informs the XenServer resource pool to start a virtual desktop VM.  When this virtual desktop is started it streams down the base OS image using the Provisioning Server component.  The virtual desktop loads the Virtual Desktop Agent as part of the OS boot process which then registers with the DDCs in the XenDesktop farm.  The desktop group is now ready!

In addition to the XenDesktop Setup Wizard automating all of this for you it only takes seconds per desktop.  Are you now convinced to use the XenDesktop Setup Wizard as opposed to doing everything manually?  You can now run the XD Setup Wizard again to either create a new desktop group or add new VMs to an existing desktop group.  To modify advanced options of the desktop group such as idle pool settings you can run the Access Management Console on the DDC.