Getting Started with Horizon View Instant Clones

ViewWith the release of Horizon View 7 a few months back, I have been wanting to get some hands on time with the new version and some of its cool features. And for cool features, nothing (in this release) gets better then the Instant Clone technology. If you are unfamiliar with Instant Clones, Horizon View 7 is first product to leverage VMware’s VMFork technology (details HERE) and in very short terms allows for the creation of new desktops in SECONDS! This is a beautiful thing, especially if you have any long term stick time with View Composer and the pro/cons that come along with it.

But while all this is good news, it might not be good news for many. The Instant Clone feature is only available to customers/users who sit at the highest level of Horizon View licensing, Enterprise. The Enterprise bundle is needed to really round out some of the rough edges that Instant Clones introduces. Currently Instant Clones doesn’t support VMware Persona Management, so you will need to leverage VMware UEM or VMware AppVolumes Writable Volumes to redirect/capture user data.Or if going for the “Just in Time” desktop, AppVolumes will be need for application delivery.

With that said, for those who have the licensing or just access to it in a lab environment, lets see how to setup it up and get some desktops created!

Getting Started – The Prerequisites

Before diving in and spooling up a bunch of Horizon View pools or desktops with Instant Clones, there are a few house cleaning items to consider. Below is a short list of the technical limitations and requirements:

    • vSphere 6.0 U1 is required
    • Virtual machine hardware version 11 or later is supported
    • Only floating desktops are supported
    • Windows 7 and Windows 10 are supported
    • View Persona Management is not supported, need to leverage UEM or AppVolumes (2.11 or later)

From an environment configuration perspective, there are few other things to call out:

  •  Follow your standard build process for your “Golden Image” configuration/settings. The only additional change would be during the View Agent installation, select the option for “VMware Horizon Instant Clone”:


Note – You will to dedicate a desktop image if you are going to co-mingle your environment with Instant Clones and View Composer. The View Agent installation only supports one or the other.

  • An Active Directory user account with appropriate permissions needs to be created and assigned to the Organizational Unit (OU) that the desktops will reside in. Those permissions are (for those familiar with View Composer these will look familiar):
    • List Contents
    • Read All Properties
    • Write All Properties
    • Rest Password
    • Create Computer Objects
    • Delete Computer Object

For the purpose of this blog post, I created and will be using the svc_InstantClone user account. Once the account has been created and granted the required permissions, View Administrator needs to be configured for the account/Instant Clones.

View Administrator Configuration

With the account created, using your browser of choice log into View Administrator with an administrative account:


In the left hand pane, expand View Configuration, Inventory, and select Instant Clone Domain Admins from the navigation tree:


In the right hand pane, click Add:


Provide your Active Directory credentials for your Instant Clone service account:


And with that, we are ready to start spinning up some Instant Clone desktop pools!

Instant Clone Desktop Pool Creation

All right, with all the requirements and configuration work done it is time to create a desktop pool. Those familiar with View pool creation will notice that most of the steps are pretty familiar with just a few changes/differences that I will call out.

So, again from View Administrator, under Inventory expand Catalog, select Desktop Pools, and in the right hand pane click Add:


Select the radial for Automated Desktop Pool and click Next to continue:


For User Assignment select the radial for Floating and click Next to continue:


From the vCenter Server settings we now have an option for Instant Clones. Select the radial and click Next:


Provide an ID and Display Name for your newly created desktop pool. Click Next:


Next up is the Desktop Pool Settings. Select/change your desktop pool requirements. Note – The options for 3D rendering are greyed out as 3D graphics are not supported with Instant Clones. When complete click Next:


Complete the Provisioning Settings dialog and click Next to continue:


Select your corresponding Storage Policy Management, for this example I am using VSAN for the underlining storage. Click Next:


Set your Default Image, Virtual Machine Location, and Resource Settings. Click Next:


For the Guest Customization, browse to your corresponding OU and provide and Power-off/Post-synchronization scripts you may be using in your environment. Click Next:


And finally on the Ready to Complete dialog review your pool settings, select the box for Entitle users after this wizard finishes, click Finish.

From there, bring up your vCenter Server client (phat or web) and watch as the desktop pool is created:


Post Deployment

Once your Instant Clone desktop pool or pools are up and running you might notice something a bit different in your vCenter Server inventory. When using Instant Clones a few new folders and objects are created in vCenter:


Lets take them order of how they are listed in the picture above:

  • cp-template-xxxx – Template virtual machine that is created from the snapshot of your “Golden Image” virtual machine. This machine will be used to create the Instant Clone virtual desktops
  • cp-parent-xxxx – Represents the local copy of the cp-replica (see below) that is created on each ESXi host in the cluster (my cluster has three nodes, so three cp-parent VM’s are created). These “parent” images will be powered on and running in memory to create new/additional desktops
  • cp-replica-xxxx – Image created from cp-template that the cp-parent images are created from.
%d bloggers like this: