How to configure Horizon 8 Instant Clone Smart Provisioning

Instant Clone Smart Provisioning

This is a new feature in Horizon 8. Andrew Morgan told me that a very clever engineer by the name of Dhiraj Parashar mocked up the prototype for this over a weekend and got implemented in Horizon 8. Loving this in my lab since it saves me a bit of resource and it works great! Thanks, Dhiraj and Andrew for this love child of you two!

So Instant Clones has been enhanced to support Smart Provisioning. Smart Provisioning is the ability for Horizon to choose the best way to provision an instant clone depending on the environment. In certain cases, instant clones are provisioned to optimize for the speed of clone creation by creating and leveraging parent VM’s on each host. In other cases, when speed is not paramount, they can be provisioned in a way that does not require parent VMs, thus freeing up more host memory for desktop workloads. Horizon can seamlessly choose one method or another without the administrator’s involvement, sometimes even in the same pool.

With Smart Provisioning there are 2 types for provisioning.

Instant Clones created with a Parent VM by default:

  • High Density of VM’s per cluster
  • vGPU
  • vTMP
  • Linux VM’s

Instant Clones created without a Parent VM by default:

  • Low Density of VM’s per cluster
  • Horizon on AVS (Azure VMware Solution)
  • Mixed vCenter / vSphere versions

Instant Clones created without a Parent VM

This created a pool without a Parent VM, You say what? Yeah, you’re right! Saves memory and Disk space like crazy when you have much pools. Since normally you would end up with a parent per host per pool per datastore. The process is a little slower to provision than a pool created with Parent VM’s.

By default, Smart Provisioning is enabled. This is the preferred way by VMware for Instant Clones. This creates a pool without a Parent VM if it’s not hit with one of the options mentioned above like vGPU. After a host has more than 12 VM, then a Parent VM will be created as classified by not beeing low density anymore. Want to change these settings then you can override these defaults.

Update the ADAM Database for an Existing Pool or Farm in the OU= Server Groups. Look up the pae-ProvisionScheme in the pool you want to edit and change the following options to suit your needs:

  • ModeA – Traditional Instant Clones
  • ModeB – Instant clones with no Parent VM’s
  • Empty Value – Smart Provisioning (Default)

Need help on how to get access to the ADAM database? Look at this VMware KB Article 2012377

Look ma no parents

As you can see in my Desktop and RDS instant clone pools have no active running Parent VM’s!

Want more info?

Check out this awesome video from Chris Halstead! Explains it better than i can type 🙂

And as George Clonie said, Instant, What Else!
Nespresso GIFs | Tenor

Blog Stats

  • 4,718 hits

7 thoughts on “How to configure Horizon 8 Instant Clone Smart Provisioning

  1. EUCJunkie

    Very nice article. So why the magic number of 12 VM’s before parents are created?

    If I can edit the ADAM database, can I set smart provisioning as being the default for all VM’s created and not use traditional Instant Clones with parents?

    Reply
  2. Ram Lan

    I have created instant pool and it is working well with Horizon 8.

    On connection server, I connected to ADSIEdit and I can see Server Groups with CN=InstantClonePool and CN=RDSFARM. When, I go into properties of InstantClonePool, I do not see pae-ProvisionScheme. What could be the reason?

    Thanks

    Ram

    Reply
  3. Julia

    Great article.
    So, is it possible to create a Windows vGPU pool without ParentVM if I modify pae-ProvisionScheme ?

    Reply
      1. Julia

        I don’t understand because, I installed Horizon 2103 + vGPU (25 Windows VD per hosts) and no ParentVM is created on the ESXi hosts.
        That raise a lot of VDI design !

        Reply
        1. LaurensvanDuijn Post author

          That’s a good question. Might be the numbers changed in 2103? have to look into that.

          Reply
    1. Jubish

      No parent in the case of vGPU as it doesn’t make sense to have a parent as vGPU requires a reboot of the VM anyways.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.