VMware Horizon View 7: Instant Clone Desktop Pool [Part 8]

In Part 8 of this Boring series I will be setting up an Instant Clone Desktop Pool. This is one of the coolest features announced of Horizon 7 in my opinion! You may have heard of Project Fargo (aka vmFork) announced during the keynote speech of VMworld 2014. This is the result of that project! Instant Clone gives you the ability to rapidly deploy VMs (children) from a already powered on and running VM (parent). The child clones share the memory and disk of the parent for Reads while Writes are placed in a delta disk. To read more about Instant Clone technology check out this VMware Blog post.

vBoring Blog Series:

  1. VMware Horizon View 7: Deployment and Installation
  2. VMware Horizon View 7: Apply SSL Certificates
  3. VMware Horizon View 7: Create Events Database
  4. VMware Horizon View 7: Add Microsoft RDS Farm
  5. VMware Horizon View 7: Setup Remote Access through Security Server
  6. VMware Horizon View 7: Create Master Desktop Template
  7. VMware Horizon View 7: Automated Desktop Pool
  8. VMware Horizon View 7: Instant Clone Desktop Pool

Creating the Instant Clone Template:

For a guide to setup your Master Template follow my previous post: https://www.virtuallyboring.com/vmware-horizon-view-7-create-master-desktop-template/

There are a few additional stipulations that needs to be met:

  • Windows 7 and Windows 10 are the only supported operating systems for Instant Cloning
  • Only VSAN and VMFS datastores are supported; NFS and local storage are not allowed
  • Ensure your template is VM Hardware Version 11
  • When installing the Horizon View Agent, ensure you enabled the VMware Horizon Instant Clone option:
    • Horizon View 7 - Agent Install

  • Once you have the template completed, shut it down and create a snapshot of it. The template must be in a powered off state with a snapshot. View Instant Clone setup won’t accept the template unless both are satisfied.
    • 2 View Instant Clone - Take Snapshot while Powered Off

Preparing Horizon View:

There are two items that need to be configured in the View Admin Console. First an Instant Clone Engine Domain Administrators needs to be defined. Browse to View Configuration -> Instant Clone Domain Admins -> Add.

The user account you add must have certain Active Directory permissions in order for Instant Clone to work properly. For a list of permissions click here.

1 View Instant Clone - Add Domain Admin

The last setting that needs to be configured is View Storage Accelerator. Ensure it is enabled by browsing to View Configuration -> Servers -> vCenter Servers tab -> select your vCenter instance then Edit -> Storage tab then check Enable View Storage Accelerator:

Instant Clone - View Storage Accelerator

Create Instant Clone Pool:

With all the required tasks completed above, you are now ready to create the Instant Clone pool! In the View Admin Console, navigate to Desktop Pools -> then click Add:

3 View Instant Clone - Add Desktop Pool

Select Automated Desktop Pool then click Next:

4 View Instant Clone - Type

Instant Clone Pool requires Floating user assignment. Click Next:

5 View Instant Clone - User Assignment

Select Instant Clones and your vCenter instance, then click Next:

6 View Instant Clone - vCener Server

Enter an ID and Display name then click Next:

7 View Instant Clone - Desktop Pool Identification

The default settings should be good. You can tweak them depending on your environment. I like to enabled HTML Access. Click Next:

8 View Instant Clone - Desktop Pool Settings

Enter a naming pattern for the Clones. For example, my VM names will look like this: VIEW-IC-01, 02, 03, etc…. If you want to have triple digits just use {n:fixed=3}

Select the max number of VMs you want the pool to have then select how you want them provisioned. If you select Provision machines on demand the VMs won’t be deployed until a user attempts to launch the Instant Clone pool. If Provision all machines up-front is used then the pool will be deployed with number in the Max number of machines field. For my lab I will select the second option so I can play with Instant Clone elasticity.

Click Next:

9 View Instant Clone - Provisioning Settings

If you are using VSAN make sure you select Use VMware Virtual SAN. Click Next:

10 View Instant Clone - Storage Optimization

Make your selections for each setting. Once finished click Next:

12 View Instant Clone - vCenter Settings

Browse to the Active Directory container where you want to place the Clones computer objects. Click Next:

13 View Instant Clone - Guest Customization

Check the box to Entitle users after this wizard finishes. If you are satisfied with the information click Finish:

14 View Instant Clone - Ready to Complete

On the Entitlement pop up window, click Add. I created an AD group called G-View-InstantClonePool. Any user assigned to this group will be entitled to an Instant Clone workstation. Click Close:

15 View Instant Clone - Entitlement

Back in the vSphere Client you may have noticed View created new folders with VMs that are oddly named. Each folder has a purpose for Instant Clones:

  • ClonePrepInternalTemplateFolder
    • cp-template-xxxx: This is the template VM that is used to create your Instant Clones. It was created from your master image.
  • ClonePrepParentVmFolder
    • cp-parent-xxxx: The number of these VMs should match the number of hosts in your cluster. I have 3 hosts so I have 3 cp-parent VMs. Each ESXi server will have 1 of these powered on and in memory to create the Instant Clone VMs.
  • ClonePrepReplicaVmFolder
    • cp-replica-xxxx: This VM is used to create the cp-parent VMs. It is used to provision additional cp-parent VMs.
  • ClonePrepResyncVmFolder
    • If you want to update the Clones with a new image it will create a VM in here for staging

16 View Instant Clone - New Folders and Objects

Once the tasks complete you should see your Instant Clone workstations deployed and showing Available. They are ready for use!

17 View Instant Clone - Pool Finished

Elasticity with Instant Clones:

Now that we have a functioning Instant Clone pool, I thought I’d see how well the pool can expand! I am going to expand my pool of 3 to 50! To do this click Edit while browsing the pool -> Provisioning Settings -> then change the Max number of machines to 50. Note: This will only work if you have selected Provision all machines up-front. Click Ok:

18 View Instant Clone - Increase Pool Size

And that’s it! Time to watch vCenter pop out massive amounts of VMs. Watching them come online with correct DNS names and IP addresses gives satisfaction 🙂

19 View Instant Clone - Massive Deployment

Within 4 minutes I had over 20 workstations Online and showing Available!

20 View Instant Clone - After 4 Minutes

When it finished I was at the 11 minute marker. 11 minutes to have 50 workstations up and ready for use?? That is just insanely awesome!!

21 View Instant Clone - Deployment Completed

And now let’s shrink the pool. Click Edit while in the Instant Clone pool -> Provisioning Settings -> now lower the Max number of machines then click Ok:

22 View Instant Clone - Shrink Pool

View should start to remove VMs until it reaches the new pool size. View kept the last 5 workstations in the pool. Essentially it doesn’t matter which VMs remain, it’s a floating pool where all machines are the same!

23 View Instant Clone - Pool Shrunk

Updating the Instant Clone Image:

Updating the Instant Clone environment is almost as easy as the deployment. Go back to your Master Image you used to create the pool and power it back on. Make all the changes you want such as Microsoft Updates or installation of additional applications. Once finished, shut it back down. You can have multiple snapshots on your template VM. If you want to clean it up go ahead and right click the VM, go to Snapshots -> Snapshot Manager. Click Delete All to merge the original snapshot from the initial setup. Once the merge completes right click the VM again, Snapshot -> Take Snapshot. Give it a descriptive name then click Ok:

24 View Instant Clone - Update Instant Clone Master

Now that you have a new snapshot of the Master Image, switch back over to the View Admin Console. On your Instant Clone desktop pool click Push Image then click Schedule:

25 View Instant Clone - Push Image

Here, you select when the Instant Clone pool gets refreshed with the new snapshot template. You have two options, Force Users to log off will re-provision the entire pool at the set time. The second option is Wait for users to log off. When a user logs out of a workstation the VM will be redeployed with the new snapshot template.

If you have a non critical update the Wait for users to log off has less of an impact for the users. If it is a required update then it would be best to select a time when the least amount of users will be impacted and use Force users to log off:

26 View Instant Clone - Schedule Push Image

If you selected Force users to log off this is the message users will receive. It can be edited in the Global Settings of View:

29 View Instant Clone - End User Message

Note: If you wish to change the message the View Global Settings can be found under View Configuration -> Global Settings:

Instant Clone - Global Settings

Ensure everything is set to your liking then click Finish:

27 View Instant Clone - Schedule Push Image Confirm

You can monitor the progress of the image update on the Summary tab of the Instant Clone pool. The Pending Image field will now be populated with the current status:

28 View Instant Clone - Instant Clone Summary Pending Image

Once the update is complete the Pending Image will go back to None:

30 View Instant Clone - Imaged Pushed

You now have a updated Instant Clone pool! It even redeployed using the first available names in your naming scheme!

31 View Instant Clone - Restarted VM Numbers

Today’s Limitations of Instant Clone:

There are some limitations with the current release of Instant Clone:

  • Floating desktops only; no support for dedicated desktops
  • Only supports Windows 7 and Windows 10 virtual desktops
  • Microsoft Remote Desktop Services is not supported
  • Scales to 2,000 desktops
  • Only a single vCenter can be used
  • Only a single vLAN is supported
  • VMware Hardware Version 11 or newer is required
  • No NVDIA GRID; limited SVGA options
  • Only VMware Virtual SAN or shared VMFS datastores are supported for storage
  • Data persistence and desktop personalization is provided by using VMware App Volumes, User-Writeable Drives, and VMware User Environment Manager (UEM)

Profile Management:

To make Instant Clones truly usable from a end user perspective there needs to be user profile management. VMware has product called User Environment Manager. Blog post coming soon!! 🙂

Leave a Reply