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.

Prerequisites

  • Review the content in Considerations for Linux Farms, Published Desktops, and Published Applications, and ensure that you have prepared your system environment for the use cases that you want to support with the farm.
  • Verify that Connection Server is installed. See the Horizon 8 Installation and Upgrade document.
  • Verify that Connection Server settings for vCenter Server are configured in Horizon Console. See the Horizon 8 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.9/8.x/9.x
    • Rocky Linux 8.x/9.x
    • Ubuntu 20.04/22.04
    • Debian 10.x/11.x
  • 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 on the VMware vSphere Documentation portal.

Procedure

  1. In Horizon Console, select Inventory > Farms. Then click Add.
    The farm configuration wizard appears. As you advance through the wizard, you can go directly back to any prior page by clicking the page name in the navigation pane.
  2. In the Type page of the wizard, select Automated Farm and then click Next.
  3. In the vCenter Server page of the wizard, select Instant Clone and click Next.
  4. In the Storage Optimization page of the wizard, configure the required settings.
    Setting Description
    Use VMware Virtual SAN/Do not use VMware Virtual SAN Specify whether to use VMware vSAN, if available. vSAN is a software-defined storage tier that virtualizes the local physical storage disks available on a cluster of ESXi hosts.
    Use Separate Datastores for Replica and OS Disks

    (Available only if you do not use vSAN) You can place replica and OS disks on different datastores for performance or other reasons.

    If you select this option, you can select the options to select one or more instant-clone datastores or replica disk datastores.

    Click Next to proceed to the next page of the configuration wizard.
  5. In the Identification and Settings page of the wizard, configure the required settings.
    Setting Description
    ID Unique name that identifies the farm.
    Description Description of this farm.
    Access Group Select an access group for the farm, or leave the farm in the default root access group.
    Default Display Protocol Select VMware Blast. VMware Blast is the only display protocol supported for user sessions on Linux desktops.
    Allow Users to Choose Protocol Select Yes or No. This setting applies to published desktop pools only, not application pools. If you select Yes, users can choose the display protocol when they connect to a published desktop from Horizon Client. The default is Yes.
    3D Renderer

    Select 3D graphics rendering for desktops.

    NVIDIA GRID vGPU is the only 3D rendering option offered for an automated farm of instant-clone hosts.

    Pre-launch Session Timeout (Applications Only)

    Determines the amount of time that an application configured for pre-launch is kept open. The default is After 10 minutes.

    If the end user does not start any application in Horizon Client, the application session is disconnected if the idle session times out or if pre-launch session times out.

    If you want to end the pre-launch session after timeout, you must set the Logoff Disconnected Sessions option to Immediate.

    Empty Session Timeout (Applications Only)

    Determines the amount of time that an empty application session is kept open. An application session is empty when all the applications that run in the session are closed. While the session is open, users can open applications faster. You can save system resources if you disconnect or log out from empty application sessions. Select Never, Immediate, or set the number of minutes as the timeout value. The default is After 1 minute. If you select Immediate, the session logs you out or disconnects within 30 seconds.

    When Timeout Occurs Determines whether an empty application session is disconnected or logged off after the Empty Session Timeout limit is reached. Select Disconnect or Log Off. A session that is logged off frees up resources, but opening an application takes longer. The default is Disconnect.
    Logoff Disconnected Sessions Determines when a disconnected session is logged off. This setting applies to both desktop and application sessions. Select Never, Immediate, or After ... minutes. Use caution when you select Immediate or After ... minutes. When a disconnected session is logged off, the session is lost. The default is Never.
    Allow Session Collaboration Select Enabled to allow users of desktop pools based on this farm to invite other users to join their remote desktop sessions. Session owners and collaborators must use the VMware Blast protocol.
    Max Sessions Per RDS Host Determines the maximum number of sessions that a host machine can support. Select Unlimited or No More Than .... The default is Unlimited.
    Click Next to proceed to the next page of the configuration wizard.
  6. In the Load Balancing Settings page of the wizard, configure the required settings.
    Setting Description
    Use Custom Script Select this setting to use a custom script for load balancing.
    Include Session Count Select this setting to include the session count on the Linux host for load balancing. If none of the settings are selected for load balancing and if the custom script setting is not selected, Horizon 8 uses the session count by default. Deselect this setting if you do not need to consider the session count for load balancing.
    CPU Usage Threshold Threshold value for the CPU usage in percentage. Horizon 8 uses the configured CPU threshold to calculate the CPU load index factor. You can set a value from 0 through 100. The recommended value is 90. By default, this setting is not considered for load balancing. The default value is 0.
    Memory Usage Threshold Threshold value for the memory in percentage. Horizon 8 uses the configured memory threshold to calculate the Memory Load Index factor. You can set a value from 0 to 100. The recommended value is 90. By default, this setting is not considered for load balancing. The default value is 0.
    Disk Queue Length Threshold Threshold of the average number of both read and write requests that were queued for the selected disk during the sample interval. Horizon 8 uses the configured threshold to calculate the Disk Load Index factor. You can set the value to any positive integer. By default, this setting is not considered for load balancing. The default value is 0.
    Disk Read Latency Threshold Threshold of the average time of write of data to the disk in milliseconds. Horizon 8 uses the configured threshold to calculate the Disk Load Index factor. You can set the value to any positive integer. By default, this setting is not considered for load balancing. The default value is 0.
    Click Next to proceed to the next page of the configuration wizard.
  7. In the Provisioning Settings page of the wizard, configure the required settings.
    Setting Description
    Enable Provisioning Select this check box to enable provisioning after you finish this wizard. This box is checked by default.
    Stop Provisioning on Error Select this check box to stop provisioning when a provisioning error occurs. This box is checked by default.
    Naming Pattern Specify a prefix or a name format. Horizon 8 will append or insert an automatically generated number starting with 1 to form the machine name. If you want the number at the end, simply specify a prefix. Otherwise, specify {n} anywhere in a character string and {n} will be replaced by the number. You can also specify {n:fixed=<number of digits>}, where fixed=<number of digits> indicates the number of digits to be used for the number. For example, specify vm-{n:fixed=3}-sales and the machine names will be vm-001-sales, vm-002-sales, and so on.
    Note: Each machine name, including the automatically generated number, has a 15-character limit.
    Maximum Machines The number of machines to be provisioned.
    Minimum Number of Ready (Provisioned) Machines during Instant Clone Maintenance Operations This setting lets you keep the specified number of machines available to accept connection requests while Connection Server performs maintenance operations on the machines in the farm. This setting is not honored if you schedule immediate maintenance.
    Click Next to proceed to the next page of the configuration wizard.
  8. In the vCenter Settings page of the wizard, configure the required settings.
    Setting Description
    Parent VM in vCenter Click Browse, select Linux for Operating System, and select a golden-image virtual machine from the list.
    Snapshot

    Click Browse and select the snapshot of the golden-image virtual machine to use as the base image for the farm.

    Do not delete the snapshot and golden-image virtual machine from vCenter Server, unless no instant clones in the farm use the default image, and no more instant clones will be created from this default image. The system requires the golden-image virtual machine and snapshot to provision new instant clones in the farm, according to farm policies. The golden-image virtual machine and snapshot are also required for Connection Server maintenance operations.

    VM Folder Location Click Browse and select the folder in vCenter Server in which the farm resides.
    Cluster

    Click Browse and select the ESXi host or cluster on which the desktop virtual machines run.

    For the maximum limit on the cluster, see the VMware Knowledge Base (KB) article on Sizing Limits and Recommendations.

    Resource Pool Click Browse and select the vCenter Server resource pool in which the farm resides.
    Datastores

    Click Browse and select one or more datastores on which to store the farm.

    A table on the Select Instant Clone Datastores screen provides high-level guidelines for estimating the farm's storage requirements. These guidelines can help you determine which datastores are large enough to store the instant clones. The Storage Overcommit value is always set to Unbounded and is not configurable.

    Note: If you use vSAN, there is only one datastore.
    Replica Disk Datastores

    Select one or more replica disk datastores on which to store the instant-clones. This setting appears if you selected Use Separate Datastores for Replica and OS Disks in the Storage Optimization page of the farm configuration wizard.

    A table on the Select Replica Disk Datastores screen provides high-level guidelines for estimate the farm's storage requirements. These guidelines can help you determine which replica disk datastores are large enough to store the instant clones.

    Network

    Click Browse and select the networks to use for the instant-clone farm. You can select multiple vLAN networks to create a larger instant-clone farm. This setting uses the network type from the current golden image configured in vSphere Client and displays networks based on the network type of the parent VM: DVS, NSX-t, and Standard. You can use the same network as the parent VM or select a network from the list of available options. Networks are filtered based on the parent VM network type available in the selected cluster.

    The Select Networks screen provides a list of networks based on the parent VM network type available in the selected cluster. To use multiple networks, you must unselect Use network from current parent VM image and then select the networks to use with the instant-clone farm. Use the Filter box to show or hide specific network types.

    The screen displays error messages for the following incompatible networks:

    • vmcNetworks. This network belongs to VMC internal network
    • dvsUplinkPort. Cannot use network because it does not meet the naming standards for a virtual switch uplink port.
    • notConfiguredOnAllHosts. Cannot use network because it is not configured on all hosts in the cluster.

    The screen does not list the Standard network type for selection. Therefore, if the parent VM network type is Standard, then you must select Use network from current parent VM image.

    The screen also provides the list of ports and port bindings that are available to use: static (early binding) and ephemeral. Instant clones only support static port group types and ephemeral port group types are dimmed and listed as incompatible.

    All selected NSX-t network segments must be the same size, such as all /24 networks. Unequally sized segments can result in provisioning errors.

    Click Next to proceed to the next page of the configuration wizard.
  9. In the Guest Customization page of the wizard, configure the required settings.
    Setting Description
    Domain

    Select the Active Directory domain and user name.

    Connection Server requires certain user privileges to configure the farm. The domain and user account are used by ClonePrep to customize the instant-clone machines.

    You specify this user when you configure Connection Server settings for vCenter Server. You can specify multiple domains and users when you configure Connection Server settings. In this farm configuration wizard, you must select one domain and user from the list.

    AD container

    Provide the relative distinguished name for the Active Directory container.

    For example: CN=Computers

    You can click Browse to search your Active Directory tree for the container. You can also cut, copy, or paste in the container name.

    Allow Reuse of Existing Computer Accounts

    Select this option to use existing computer accounts in Active Directory when the virtual machine names of new instant clones match the existing computer account names.

    When an instant clone is created, if an existing AD computer account name matches the instant-clone virtual machine name, Horizon 8 uses the existing computer account. Otherwise, a new computer account is created.

    The existing computer accounts must be located in the Active Directory container that you specify with the AD container setting.

    When this option is deselected, a new AD computer account is created when Horizon 8 creates an instant clone. This option is deselected by default.

    Image Publish Computer Account Publishing instant clones requires an additional computer account in the same AD domain as the clones. If you want to use pre-created computer accounts instead of auto-created computer accounts, you must also create the additional computer account and specify its name here. Then you do not need to delegate Create and Delete of computer objects to the provisioning account.
    Use ClonePrep

    Provide a ClonePrep customization specification to customize the virtual machines.

    • Power-Off Script Name. Name of the customization script that ClonePrep runs on instant-clone machines before they are powered off. Provide the path to the script on the golden-image virtual machine.
    • Power-Off Script Parameters. Provide parameters that ClonePrep can use to run a customization script on instant-clone machines before they are powered off. For example, use p1.
    • Post-Synchronization Script Name. Name of the customization script that ClonePrep runs on instant-clone machines after they are created or an image has been pushed to them. Provide the path to the script on the golden-image virtual machine.
    • Post-Synchronization Script Parameters. Provide parameters for the script that ClonePrep runs on instant-clone machines after they are created or an image has been pushed to them. For example, use p2.
    Click Next to proceed to the next page of the configuration wizard.
  10. In the Ready to Complete page of the wizard, review the settings and click Submit to create the automated instant-clone farm.

What to do next

Create a published application pool or a published desktop pool. See one of the following topics: