When working with VMware Horizon, you’ll find the concept of desktop pools comes up fairly often. Honestly, they aren’t overly complicated to understand. But regardless, it is important to understand what they are, what the different types are, and what options are available.
TYPES OF DEKSTOP POOLS
When defining a desktop pool, you’ll be able to choose from one of the following three options below. Each type of pool has limitations as to what type of VMs or machines it can use:
- Automated Desktop Pool – As the name implies, this type of pool automates most of the tasks. It will take a template or existing machine and use that as the basis to build out the pool.
- Manual Desktop Pool – If you have machines that you want to manually add to a pool, you can use this choice. The process involves installing the View Agent onto the machine, which is fairly straight-forward. What is interesting about this one is you can actually add physical machines to the pool.
- RDS Desktop Pool – This is an interesting option that allows you to leverage Microsoft RDS platforms that you may have in your environment. It can be useful for cases where a user doesn’t require a full-fledged desktop, but where something on a shared server can suffice. It also allows for users to use a PCoIP connection (instead of RDP) which can have performance benefits.
TYPES OF MACHINES IN A DESKTOP POOL
There are a few different types of machines that can be part of a pool. There are differences between each type, so you’ll want to give consideration as to what is the best fit for your environment. Once you create the pool, you can’t change the type of virtual desktop in there. Rather, you will have to create a new pool (which may not be a big deal at all). The type of machine available is dependent on the type of pool that choose.
- Full – With this type of VM, each virtual desktop is a full clone. Say you had a 60GB VM that you were using as the base VM. Each VM in that pool would then have a 60 GB disk. You will want to consider things like IOPS and capacity in this scenario. Consider how long it will take to spin up a new VM as you will need to copy the whole disk.
- Linked Clones – Linked clones are fairly popular as they offer a good bang for the buck. Using these, you’ll have one template VM with a snapshot. When setting up the pool, you can select the snapshot you want to use. Upon provisioning, each VM will point back to that snapshot as its baseline and create a new delta disk for any changes. This allows for a fairly efficient use of space. Additionally, there is no need to spin up a full VM each time you need to provision a new desktop. This can result in less stress on your storage, and likely shorter provisioning times. Note that the same base VM can be a part of different pools, with different snapshots.
- Instant Clones – These take linked clones a step further. With Linked Clones, VMs are provisioned up front when you are creating the pool. With instant clones, VMs are provision on demand. The big benefit here is the space savings – you don’t need to worry about over provisioning the storage. You’ll want to make sure you have good storage backing these pools though – the last thing you want is for the “instant clone” to take a couple of minutes to spin up. A restriction on Instant Clones is that you can only use them with Windows 7 or Windows 10.
- vCenter VMs or “Other Sources” – These options are available when creating a Manual pool. You can either use existing VMs from your vCenter, or other machines. These other machines may be VMs not under vCenter management, or even physical machines. You will need the Horizon View Agent installed in order to use these machines.
DESKTOP POOL SPECIFIC SETTINGS
This grouping is where you can apply various configurations or limitations on that group. Some of the more noteworthy settings that you can define via the pool are:
- Access controls – who can access these pools? Whether it is individual AD users or groups, etc.
- Storage locations – what datastore is the data stored on? This can be quite important when it comes to considerations such as IOPS or deduplication.
- Connectivity & Power options – Options like protocols (PCoIP, RDP, etc.) are set on the pool. The same holds true for HTML access (although there is also a global on/off master switch for this too). You can also specify whether machines are always in an on state, off, etc. Or whether users should automatically disconnect, or are allow them to reset their desktops.
- Customizations – Depending on the type of pool, and whether you are using View Composer or not, you can perform some basic customizations. Things like joining desktops to active directory, or running customization scripts.
There are also more granular options that you’ll want to be familiar with. The list above should give you a good idea of what you can define at the pool level though, as opposed to what you might define elsewhere (e.g. a Global Settings).