You create an automated instant-clone farm as part of the process to give users access to published applications or published desktops. An automated farm consists of multi-session Linux hosts that are instant-clone virtual machines (VMs) in vCenter Server.
Overview of Instant-clone Farms
An automated instant-clone farm is created from a golden image using the vmFork technology (called instant clone API) in vCenter Server. In addition to using the instant clone API from vCenter Server, Horizon creates several types of internal VMs (Internal Template, Replica VM, and ParentVM) in order to manage these clones in a more scalable way.
Although helpful in speeding up the provisioning speed, the use of parentVM does increase the memory requirement across the cluster. Sometimes when the benefit of having more memory outweighs the increase in provisioning speed, Horizon automatically chooses to provision instant clones directly from replicaVM, without creating any parentVM. This feature is called Smart Provisioning. A single instant clone farm can have both instant clones that are created with parentVMs or without parentVMs.
When parentVM is used, instant clones share the virtual disk of the parentVM and therefore consume less storage than full VMs. In addition, instant clones share the memory of the parentVM when they are first created, which contributes to fast provisioning. Once the instant clone VM is provisioned and the machine starts to be used, additional memory is utilized.
- The provisioning of instant clones is fast, with or without using parentVM.
- Instant clones are always created in a powered-on state, ready for use.
- You can patch a farm of instant clones in a rolling process with zero downtime.
Connection Server creates the instant-clone virtual machines based on the parameters that you specify when you create the farm. Instant clones share a virtual disk of a parentVM and therefore consume less storage than full virtual machines. In addition, instant clones share the memory of a parentVM and are created using the vmFork technology.
Process of Creating Instant Clones
Publishing an image is a process by which internal VMs needed for instant cloning are created from a golden image and its snapshot. This process only happens once per image and might take some time.
Horizon performs the following steps to create a pool of instant clones:
- Horizon publishes the image that you select. In vCenter Server, four folders (ClonePrepInternalTemplateFolder, ClonePrepParentVmFolder, ClonePrepReplicaVmFolder, and ClonePrepResyncVmFolder) are created if they do not exist, and some internal VMs that are required for cloning are created. In Horizon Console, you can see the progress of this operation on the Summary tab of the desktop pool. During publishing, the Pending Image pane shows the name and state of the image.
Note: Do not tamper with the four folders or the internal VMs that they contain. Otherwise, errors might occur. The internal VMs are removed when they are no longer needed. Normally the VMs are removed within 5 minutes of pool deletion or a push-image operation. However, sometimes the removal can take up to 30 minutes. If there are no internal VMs in all four folders, these folders are unprotected and you can delete these folders.
- After the image is published, Horizon creates the instant clones. This process is fast. During this process, the Current Image pane in Horizon Console shows the name and state of the image.
After the farm is created, you can change the image through the push-image operation. As with the creation of a farm, the new image is first published. Then the clones are recreated.
When an instant-clone pool farm is created, Horizon spreads the pool across datastores automatically in a balanced way. If you edit a farm to add or remove datastores, rebalancing of the cloned VMs happens automatically when a new clone is created.
Prerequisites
- Verify that Connection Server is installed. See the Horizon Installation document.
- Verify that Connection Server settings for vCenter Server are configured in Horizon Console. See the Horizon Administration document.
- Verify that you have a sufficient number of ports on the ESXi virtual switch that is used for the virtual machines that are used as remote desktops. The default value might not be sufficient if you create large desktop pools.
- Verify that you have prepared a golden-image host machine. See Preparing a Linux Virtual Machine for Desktop Deployment. Horizon Agent must be installed on the host machine.
- Verify that each host machine is running one of the following Linux operating systems:
- RHEL Workstation 7.8, 8.1, or 8.2
- Ubuntu 18.04
- Verify that you have installed Horizon Agent on the golden-image machine with the --multiple-session parameter included. For example:
sudo ./install_viewagent.sh --multiple-session
- Take a snapshot of the golden-image host machine in vCenter Server. You must shut down the host machine before you take the snapshot. Connection Server uses the snapshot as the baseline configuration for creating the clones.
For more information, see "Take a Snapshot in the VMware Host Client" in vSphere Single Host Management - VMware Host Client, available from VMware vSphere Documentation.
Procedure
What to do next
Create a published application pool or a published desktop pool. See one of the following topics: