Where and how do you start with planning a XenDesktop deployment??? After looking around the web for a bit I came to a conclusion that there really isn't anything out there that lays out exactly what you need and in what order to do it.
So after thumbling around the edocs that Citrix have on XenDesktop, finding some really good knowledge base articles and basically going through the installation of XenDesktop a few times this is what I've come up with.
By no means am I saying this is the correct way or order to do a deployment every single time but it will give you (and me...) a good starting point to work from, highlight a few options you should consider before you get started and basically just help you out.
VM Desktop (Golden Image)
It's important that you plan your "golden image" appropriately and decide on how you want to deploy your virtual desktops, are you going to use MCS or PVS? Are you going install all apps on your image or use XenApp? These are just some of the questions you need to ask yourself before you start, have a read of the Preparing a Master VM eDocs article.
- What OS is required?
- Ensure that the hard disk for the master VM is attached at device location 0.
- Ensure you set enough hard drive space as this cannot be changed at a later date. vCpu's and memory can be changed though.
- Install on the VM the appropriate integration tools for your hypervisor.
- If you plan to deliver desktops from pooled and dedicated machines, join the VM to the domain of which you want users' desktops to be members and ensure that the master VM is available on the host where you want to create the machines.
- Install the Virtual Desktop Agent from the XenDesktop installation media.
- Install any third-party tools require such as AV.
- Install and configure any third-party applications that you do not want to virtualize. Remember Citrix recommends virtualizing applications and delivering them to users' desktops with XenApp.
Note: In the case of streamed machines, image a vDisk from your master target device before you join the master target device to a domain - have a read of the following doc.
If you plan to deliver desktops from pooled and dedicated machines, Citrix recommends that you create a snapshot of your master VM and name the snapshot in a way that allows you to identify the master VM in the future. If you specify a VM rather than a snapshot when creating a pooled or dedicated machine catalog, Desktop Studio will create a snapshot for you but you will not be able to name it.
When installing the VDA ask yourself the following questions before you begin, a lot of this information I found dotted around and there was not a defined things to look out for a consider.
- What VDA do you require? VDA for HDX 3D Pro or just the standard VDA? Remember if you require 3D pro you need to obtain your Key file beforehand.
- Choose advanced Install unless you are setting up a POC without personal vDisks or HDX 3D Pro, in which case you can select Quick Deploy.
- Remember to launch the install through the autorun and not by double clicking on the standalone installer.
- If you are using Personal vDisks what drive letters are already currently in use? if you require to change the drive letter follow this article.
- Do you want HA for the VDA? This is not an alternative to other HA solutions.
- Have you meet all the VDA requirements?
- What discovery method are you going to use to communicate with the controller? AD or registry based?
Planning your Database
XenDesktop 5 and upwards is now fully dependant on an SQL database, all information is stored on the database and controllers communicate only with the database and not with each other. Things to be considered and planned for are.
- Windows authentication must be used when connecting to the database.
- SQL Express can be used but should only be when doing a POC. Remember Express doesn't offer any kind clustering or mirroring.
- Check the database requirements.
- Citrix recommends that you use a HA solution for your database using either the hypervisior's HA feature, SQL mirroring or SQL clustering with mirroring being Citrix's preferred method.
Note: If you want to mirror the XenDesktop database, ensure that the database uses the full recovery model and not the simple model. When Desktop Studio is used to create a database on an external SQL server, the database is configured to use the simple model by default; this means the transaction log cannot be backed up and the database cannot be mirrored. To ensure the database is configured to use the full recovery model, create the database manually and then use Desktop Studio to generate the necessary setup scripts to be run on the database.
Planning your Controller
For desktops to be usable they must register with the correct controller or with any one of the controllers if there are more than one. Here is a good read on Controller planning but things to consider are...
- How will your controller be discovered? AD or registry based?
- Do you require SSL communication between controllers?
- Is your SQL server spec'ed enough to handle possible boot stroms?
- Is the site capacity too much for your controller to handle and will you possibly have to "Scale up" and add more resources to your controller and SQL or will you "Scale Out" and create a new site with its own controller and SQL. Here is a very good article on scaling.
To be totally honest the install of XenDesktop is dead straight forward, its knowing how you want it configured and setup to provide you or your client with the best experience. Things to consider before you start your install on Xendesktop are.
- How are you going to split the components?
- Do you already have an existing license server that you can use?
- What SQL server are you going to use? More about this later.
- Is a firewall enabled on the controller? if so are the necessary ports open?
- Have you installed the prerequisite? or will you let the install do it for you?
Configuring a XenDesktop site
Before you start to configure your XenDesktop environment it's a good idea to have a few of the following details already decided on before you begin as there is nothing worse than having to do something twice!!!
- Specify a site name.
- Licensing server name and port. NOTE: you will not be prompted for a license server if you've installed the license server component on the controller.
- Specify the database to use.
- What hyperversior will you be using? VMware, XenServer or Hyper-V? If you are using vmware you may need to either purchase a CA certificate or amend the the proxy.xml on the vCenter.
- Cluster to use along with the Networking that the VM's will use on the hypervisor.
- Storage to be used along with the personal vDisk storage if required.
Also another thing to consider when thinking about sites is do you require site failover for DR? You have a couple of options here but from a very high overview you have a couple of options.
- Configuring the Web Interface RecoveryFarm setting with a list of alternate sites.
- Use a NetScaler to intelligently load balance and validate that Web Interface and XML services.
- Fault tolerance can be increased yet further by using the Global Server Load Balancing (GSLB) features of NetScaler.
Choosing the Machine Type
It does help to have the machine type that you require decided on before you start to create your catalog's. What machine type you require will also decide what image delivery option you need to take - MCS or PVS. See below for some brief information on MCS vs PVS.
Here is a VERY quick overview of what each desktop is and who it best suits, read the following article for more information.
Pooled - Desktops that are allocated to users on a per-session, first-come first-served basis. Pooled-random machines are assigned to users at each logon and returned to the pool when they log off. Perfect for task workers who require standardized desktops, who share workstation and do not require to install applications.
Dedicated - Desktops that are assigned to individual users. Machines can be assigned manually or automatically assigned to the first user to connect to them. Whenever users request a desktop, they are always connected to the same machine, so you can allow users to personalize their desktops to suit their needs.
Existing - The existing machine type enables you to use XenDesktop to manage and deliver user desktops that you have already migrated to VMs in the data center.
Physical - The physical machine type enables you to use XenDesktop to manage user desktops hosted on dedicated workstations or blade PCs, this enables you to support small numbers of users who have particularly demanding performance requirements.
Streamed - The streamed machine type enables you to deliver desktops to VMs and blade PCs that have been configured to load the operating system over the network from Provisioning services. Target devices are managed in Provisioning services as a device collection and the desktops are delivered from a Provisioning services vDisk imaged from a master target device. Using Provisioning services to deliver desktops enables you to leverage the processing power of existing hardware, while realizing all the benefits of centralized desktop management.
Machine catalog is a collections of VM's or physical computers are managed as a single entity and can only contain one machine type.
Pooled or dedicated machine catalog
Streamed machine catalog
- A host with sufficient processors, memory, and storage to accommodate the number of machines you plan to create.
- master VM from which to create the desktops.
- An admin AD account or enough pre-created AD computer accounts to use.
- VMs or dedicated blade PCs hosting user desktops.
- Active Directory user and computer accounts to assign to the VMs or blade PCs.
Streamed machine catalog
- A Provisioning services deployment with a vDisk.
- Device collections configured to load the vDisk over the network.
- AD computer accounts managed by PVS for each target device in the device collections.
PVS or Machine Creation Service?
As we are talking about machine types and catalogs I thought it best that we now add a little bit about whether to go with a PVS or use MCS. Just a few points to note on this matter and also read this article which has some really good pointers in.MCS Pro's
- Simpler to manage than PVS.
- Ideal for smaller deployments.
- Uses technology within the hypervisor and doesn't require an additional server(s) .
- In some tests, it was shown that MCS required 1.5x as many IOPS on the SAN as PVS.
- MCS can only use dynamic disks, which incurs the expansion penalty during boot storms and reboots.
- MCSs is limited in that it is meant for hosted VDI desktops only, pooled or dedicated.
- Reduced IOPS compared to MCS.
- Ideal for large deployments.
- Organizations looking to utilize a hosted shared desktop model, a streamed VHD model or a Hosted VDI model with blade PCs can use be provided by a PVS.
- To some the additional steps required to manage a PVS prove to complicated.
- Requires additional server(s) to host the PVS.
Without doubt you will have to consider what the needs, wants and experience that a client\user requires. some pointers for things to consider
- How are you going to Delegate Administration Tasks?
- How are you going to manage printers?
- Do you require USB devices within XenDesktop?
- How are you going to configure the HDX policies? do you have a baseline?
- What connection timers will suit your/their needs?
- Do you require Workspace Control to be enabled?
- What applications are required for the client/user? Are they even supported in XenDesktop or even XenApp.
This blog will be an ever expanding post but if you feel you would like to add something please don't hesitate to post your thoughts and i'll add them.
Hope this helps.