You can create an instant-clone floating desktop pool for Linux virtual machines using the Add Desktop Pool wizard. After creating an instant-clone floating desktop pool, you can use the Linux virtual machines as remote desktops in a Horizon 8 deployment.

Horizon Agent for Linux only supports instant-clone desktop pools created from virtual machines running the following operating systems:

  • Ubuntu 18.04/20.04/22.04
  • RHEL 7.x/8.x/9.x
  • CentOS 7.8/7.9
  • SLED/SLES 12.x/15.x
Note: vGPU graphics capabilities are only supported on instant-clone desktop pools created from Linux machines running the following operating systems:
  • Ubuntu 18.04/20.04/22.04
  • RHEL 7.9
  • RHEL 8.3 or later
  • RHEL 9.0 or later
  • CentOS 7.9

The following procedure provides guidelines for configuring the mandatory settings for a Linux-based instant-clone desktop pool. For more information about creating instant-clone desktop pools, see the Windows Desktops and Applications in Horizon document.

Prerequisites

  • Familiarize yourself with the steps for creating virtual machines in vCenter Server and installing Linux operating systems. For more information, see Create a Virtual Machine and Install Linux.
  • Understand the steps for AD integration using the PBISO authentication solution or Samba Winbind offline join. For more information, see Configure PowerBroker Identity Services Open (PBISO) Authentication or Configure the Samba Offline Domain Join.
    Note: To create an instant-clone desktop pool from a Linux virtual machine running RHEL 9.x/8.x, perform the AD integration using Samba Winbind offline join. Instant-clone desktop pools are not supported for RHEL 9.x/8.x virtual machines that use PBISO authentication.
  • Familiarize yourself with the installation steps for Horizon Agent for Linux. For more information, see Install Horizon Agent on a Linux Virtual Machine.
  • Understand the steps to take a snapshot of a powered off Linux VM using VMware vSphere Client. See "Take a Snapshot in the VMware Host Client" in vSphere Single Host Management - VMware Host Client, available from VMware vSphere Documentation.
  • Verify that vCenter Server is added to Horizon Connection Server.

Procedure

  1. Create a parent Linux virtual machine (VM) and perform a fresh installation of an operating system that supports the creation of instant-clone desktop pools. See the list of supported operating systems earlier in this article.
    For more information, see Create a Virtual Machine and Install Linux.
    Important: Always use a VM equipped with a freshly installed Linux operating system as the parent VM of an instant-clone desktop pool. Do not use an already cloned system as the parent VM.
  2. For Ubuntu machines, manually install Open VMware Tools (OVT) using the following command:
    # apt-get install open-vm-tools

    See Prepare a Linux Machine for Remote Desktop Deployment for additional information.

  3. Install any dependency packages that are required for the Linux distribution.
  4. Install Horizon Agent for Linux on the Linux VM.
    # sudo ./install_viewagent.sh -A yes
    See Install Horizon Agent on a Linux Virtual Machine for details.
  5. Integrate your Linux VM with Active Directory.
    • To use the PBISO authentication solution, complete the procedure described in Configure PowerBroker Identity Services Open (PBISO) Authentication.
    • To use Samba Winbind offline join, configure the following options in the /etc/vmware/viewagent-custom.conf file. Replace YOURDOMAIN with the NetBIOS name of your domain.
      OfflineJoinDomain=samba
      
      NetbiosDomain=YOURDOMAIN
      Note: You must use Samba Winbind to integrate a RHEL 9.x/8.x VM with Active Directory. Otherwise, the creation of the instant-clone floating desktop pool fails.
    • If you want to deactivate offline domain join, you must set the OfflineJoinDomain option to none in the /etc/vmware/viewagent-custom.conf file. Otherwise, the creation of the instant-clone floating desktop pool fails.
  6. If your DHCP server does not broadcast to a DNS server, specify a DNS server for your Linux system.
    A new virtual network adapter is added when a new instant-cloned VM is created. Any setting in the network adapter, such as the DNS server, in the VM template is lost when the new network adapter is added to the instant-cloned VM. PBIS requires a valid DNS server and the FQDN mapping in the /etc/hosts is not acceptable. To avoid losing the DNS Server setting when the new network adapter is added to the cloned VM, you must specify a DNS server in your Linux system. For example, in an Ubuntu 18.04 system, specify the DNS server by adding the following lines in the /etc/resolvconf/resolv.conf.d/head file.
    nameserver 10.10.10.10
    search mydomain.org
    Note: For best results, use NetworkManager instead of WICD for network management. WICD might produce problems when used with instant-cloned SLED/SLES 15.x VMs.
  7. (Optional) If you want to add an NFS mount in the /etc/fstab file of the Linux golden image, use one of the following methods.
    • Add a 'soft' flag in /etc/fstab, such as:
      10.111.222.333:/share 	/home/nfsmount	nfs	rsize=8192,wsize=8192,timeo=14,soft,intr,tcp
    • If you do not want to use the 'soft' flag in /etc/fstab, you cannot configure the /etc/fstab in the Linux golden image. You can write a power-off script to configure the /etc/fstab file, and then specify this power-off script for the ClonePrep tool. For more information, see the Horizon Administration document.
  8. Shut down the Linux VM and create a golden image by creating a snapshot of your powered off Linux VM using VMware vSphere Client.
    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.
  9. In Horizon Console, add an automated desktop pool.
    Select Inventory > Desktops > Add.
  10. Select Automated Desktop Pool and click Next.
  11. Select Instant Clones, select the vCenter Server instance, and click Next.
  12. Follow the prompts in the wizard to create the pool.
    1. When prompted, set the Virtual Machine Naming options.
      Option Description
      Enable provisioning Select this option.
      Stop provisioning on error Select this option.
      Naming Pattern Specify a pattern that uses a prefix in all the desktop VM names, followed by a unique number. For example, specify LinuxVM-{n}.
      Max number of machines Specify the total number of machines in the pool.
      Number of spare (powered on) machines Specify the number of desktop VMs to keep available to users.
      Provision all machines up front Select this option to have Horizon Agent provision the number of VMs specified in Max number of machines.
    2. When prompted, specify the Session Types that the pool supports. You can enable the VM Hosted Applications feature by selecting the supported session type for the desktop pool.
      Option Description
      Desktop Select this option to use the pool as a regular desktop pool. All the virtual machines in the pool can only be used to host desktops.
      Application Select this option to use all the virtual machines in the pool to host applications.
      Desktop and Application When this option is selected, the virtual machine in the pool can either host a regular desktop session or host an application session. The first connection to the particular virtual machine will determine the session type of the virtual machine.
    3. When prompted, select Use VMware Virtual SAN for the storage management policy.
    4. When prompted, specify the Domain setting, AD container, and any extra customization scripts that must be run after the VM is cloned.
      Important: When you use ClonePrep power-off or post-synchronization scripts, ensure that the scripts are located in the /var/userScript folder, owned by the root user, and have the file permissions set to 700.

Results

In Horizon Console, you can view the desktop VMs as they are added to the pool by selecting Inventory > Desktops.

After you create the pool, do not delete the golden image or remove it from the vCenter Server inventory if the pool exists. If you remove the golden image VM from the vCenter Server inventory by mistake, you must add it back and then do a push image using the current image.

What to do next

Entitle users to access the pool. In Horizon Console, select the desktop pool, select Entitlements > Add entitlement, and add users or groups.