This week, we’re going to talk about desktop pools and how to create your first desktop pool in your new Horizon environment.
Desktop Pools – Explained
So what is a desktop pool?
Desktop pools are a logical grouping of virtual machines that users can access, and these groupings control specific settings about the pool. This includes how the desktops are provisioned and named, protocols that are available for connectivity, and what physical infrastructure they are deployed on.
Horizon has a few different types of desktop pools. Each pool handles desktops in different ways, and they each have different purposes. The type of pool that you select will be determined by a number of factors including the use case, the storage infrastructure and application requirements.
The type of desktop pools are:
- Full Clone Pools – Each virtual desktop is a full virtual machine cloned from a template in vCenter. The virtual machines require a desktop management tool for post-deployment management. VMs are customized using existing Guest Customization Specifications. These desktops usually persist after the user logs out.
- Linked Clone Pools – Each virtual desktop is based on a parent VM snapshot and shares its disk with the parent virtual machine. Changes to the linked clone are written to a delta disk. The virtual machines are managed by View Composer. Linked Clone desktops can be Floating or Dedicated assignment, and they can be configured to be refreshed (or rolled back to a known good snapshot) or deleted on logoff. Linked Clone desktops are officially deprecated in Horizon 2006, and they will be removed in a future release.
- Instant Clone Pools – Each virtual desktop is based on a parent VM snapshot. The snapshot is cloned to a VM that is deployed to each host, powered up, and then stunned. All guest VMs are then “forked” from this VM and quickly customized. Guest VMs share virtual disks and initial memory maps with the parent VMs. VMs are managed by vCenter and a “next generation” Composer that is built into the Connection Servers.
- Manual Pools – The machines that make up the manual pool consist of virtual and/or physical machines that have had the View Agent installed. These machines are not managed by Horizon.
- Remote Desktop Session Host Pool – The machines that make up these pools are Windows Servers with the Remote Desktop Session Host Role installed. They can be provisioned as linked clones or manually, and they are used for published desktops and published applications.
There is one other choice that needs to be selected when creating a desktop pool, and that is the desktop assignment type. There are two desktop assignment types:
- Floating Assignment – Desktops are assigned to users at login and are returned to the pool of available desktops when the user signs out.
- Dedicated Assignment – Desktops are assigned to a user, and the user gets the same desktop at each login. Desktops can be assigned automatically at first login or manually by an administrator.
Creating Your Desktop Image
Before you can create a desktop pool, you need to have configured a desktop virtual machine with all of your applications and optimizations configured. This virtual machine will be the template or gold pattern for all of the virtual machines that Horizon will deploy as part of the pool.
The virtual desktop template details, including the virtual machine specifications and installed applications, will depend on the results of any use case definition and desktop assessment exercises that are performed during the project’s design phase.
I won’t cover how to create a desktop or RDSH template in this series. Instead, I recommend you check out the Building an Optimized Windows Image guide on VMware Techzone or Graeme Gordon‘s session from VMworld – DWHV1823 Creating and Optimizing a Windows Image for VDI and Published Applications.
Creating A Desktop Pool
For this walkthrough, I will be doing an Automatic Floating Assignment Instant-Clone desktop pool. These are otherwise known as Non-Persistent desktops because the desktop is destroyed when the user signs out.
If you’re familiar with previous versions of the series, you’ll notice that there are more screens and the order that some steps are performed in has changed. Please note that some of the menu options will change depending on the type of desktop pool you’re provisioning.
1. Log into the Horizon 7 Administrator. Under Inventory, select Desktops.
2. Click Add to add a new pool.
3. Select the Pool Type that you want to create. For this, we’ll select Automated Pool and click Next.
Note: In some environments, you may see the following error if you’re using Instant Clones when View Storage Accelerator is disabled.
4. Choose the type of virtual machines that will be deployed in the environment. For this walkthrough, select Instant Clone. If you have multiple vCenter Servers in your environment, select the vCenter where the desktops will be deployed. Click Next.
5. Select whether you want to have Floating or Dedicated Desktops. For this walkthrough, we’ll select Floating and click Next.
Note: The Enable Automatic Assignment option is only available if you select Dedicated. If this option is selected, View automatically assigns a desktop to a use when they log in to dedicated pool for the first time.
6. Select whether VSAN will be used to store desktops that are provisioned by Horizon. If VSAN is not being used, select the second option – “Do Not Use VSAN.“
If you want to store the Instant Clone replica disks that all VMs are provisioned from on different datastores from the VMs, and you are not using VSAN, select the Use Separate Datastores for Replica and Data Disks.
7. Each desktop pool needs an ID and, optionally, a Display Name. The ID field is the official name of the pool, and it cannot contain any spaces. The Display Name is the “friendly” name that users will see when they select a desktop pool to log into. You can also add a description to the pool.
8. Configure the provisioning settings for the pool. This screen allows you to control provisioning behavior, computer names, and the number of desktops provisioned in the pool.
9. After configuring the pool’s provisioning settings, you need to configure the pool’s vCenter settings. This covers the Parent VM and the snapshot that the Instant Clones will be based on, the folder that they will be stored in within vCenter, and the cluster, datastores, and, optionally, the networks that will be used when the desktops are deployed.
In order to configure each setting, you will need to click the Browse button on the right hand side of the screen. These steps must be completed in order.
9-A. First, select the parent VM that the Instant Clone desktops will be based on. Select the VM that you want to use and click Submit.
9-B. The next step is to select the Parent VM snapshot that the Instant Clone desktops will be based on. Select the snapshot that you want to use and click OK.
9-B. After you have selected a Parent VM and a snapshot, you need to configure the vCenter folder in the VMs and Templates view that the VMs will be placed in. Select the folder and click OK.
9-D. The next step is to place the pool on a vSphere cluster. The virtual machines that make up the desktop pool will be run on this cluster, and the remaining choices will be based on this selection. Select the cluster that they should be run on and click OK.
9-E. The next step is to place the desktops into a Resource Pool. In this example, I have not resource pools configured, so the desktops would be placed in the Cluster Root.
9-F. Next, you will need to pick the datastores that the desktops will be stored on.
9-G. When using Instant Clone destops, you will have the option to configure the network or networks that the desktops are deployed onto. By default, all desktops are deployed to the same network as the parent VM, but administrators have the ability to optionally deploy virtual desktops to different networks.
10. After configuring the vCenter settings, you need to configure the Desktop Pool settings. These settings include:
- Desktop Pool State – Enabled or Disabled
- Connection Server Restrictions
- Pool Session Types – Desktop only, Published Applications, or Both
- Disconnect Policy
- Cloud Management – Enable the pool to be consumed by the Universal Broker service and entitled from the Horizon Cloud Service
12. Configure the remote display settings. This includes choosing the default display protocol, allowing users to select a different protocol, and configuring the 3D rendering settings such as enabling the pool to use NVIDIA GRID vGPU. Administrators can also choose to enable Session Collaboration on the pool.
13. Configure Guest Customization settings by selecting the domain that the provisioned desktops will join, the OU where the accounts will be placed and any scripts that will be run after provisioning.
14. Review the settings for the pool and verify that everything is correct. Before you click Finish, check the Entitle Users checkbox in the upper right. This will allow you to select the users and/or groups who have permission to log into the desktops.
15. After you click Finish, you will need to grant access to the pool. View allows you to entitle Active Directory users and groups. Click Add to entitle users and groups.
16. Search for the user or group that you want to add to entitle. If you are in a multi-domain environment, you can change domains by selecting the domain from the Domains box. Click on the users or groups that you want to grant access to and click OK.
Note: I recommend that you create Active Directory security groups and entitle those to desktop pools. This makes it easier to manage a user’s pool assignments without having to log into View Administrator whenever you want to make a change.
17. Review the users or groups that will be entitled to the pool, and click OK.
19. You can check the status of your desktop pool creation in vCenter. If this is a new pool, it will need to complete the Instant Clone provisioning process. To learn more about the parent VMs that are provisioned when Instant Clone pools are created, please see this article for traditional instant clones or this video for Instant Clone pools using Smart Provisioning.
Once the desktops have finished deploying, you will be able to log into them through the Horizon HTML5 Client or the Horizon Client for your endpoint’s platform.
I realize that there are a lot of steps in the process of creating a desktop pool. It doesn’t take nearly as long as it seems once you get the hang of it, and you will be able to fly through it pretty quickly.