A virtual desktop environment is nothing without virtual desktops. Poorly performing virtual desktops, or virtual desktops and pools that aren’t configured properly for the applications that are being deployed, can turn users off to virtual desktops and sink the project.
How you configure your desktop base image can depend on the type of desktop pools that you plan to deploy. The type of desktop pools that you deploy can depend on the applications and how you intend to deploy them. This part will cover how to configure a desktop base image for linked clone pools, and the next part in this series will cover how to set up a linked clone pool.
Before You Begin, Understand Your Applications
Before we begin talking about how to configure the desktop base image and setting up the desktop pools, its very important to understand the applications that you will be deploying to your virtual desktops. The types of applications and how they can be deployed will determine the types of desktop pools that can be used.
A few factors to keep in mind are:
- Licensing – How are the applications licensed? Are the licenses locked to the computer in some way, such as by computer name or MAC address? Is a hardware key required?
- Hardware – Does the application require specific hardware in order to function, or does it have high resource requirements? This is usually a consideration for high-end CAD or engineering applications that require a 3D card, but it could also apply to applications that need older hardware or access to a serial port.
- User Profile and User Installed Applications – Are user profiles being centrally managed, or are they remaining local to the virtual desktops? Are users able to install their own applications?
- Application Remoting – Can the applications be installed on a terminal server and presented to the users using an application remoting technology such as XenApp or Horizon Application Remoting?
Once you understand the applications that are being deployed to the virtual desktops, you can start planning your pools and creating your base images.
Supported Operating Systems
Horizon View only supports virtual desktops running Microsoft Windows. The versions of Windows that are supported are:
- Windows 8.1 Enterprise or Professional
- Windows 8 Enterprise or Professional
- Windows 7 Enterprise or Professional
- Windows Vista Business or Enterprise SP2 (32-bit only)
- Windows XP Professional SP3 (32-bit only)
Windows Server 2008 R2 is supported as a desktop operating system. Configuring support for Server 2008 R2 desktops is easier in Horizon 6.0, and it only requires checking a single checkbox instead of editing the Horizon LDAP database.
Terminal Server sessions running on Windows Server 2008 R2 or newer are also supported, but I will cover those in another series.
For this part, we’re going to assume that we’re building a desktop running Windows 7 or Windows 8.1. This will be more of a high-level overview of creating a desktop template for Horizon View, and I won’t be doing a step-by-step walkthrough of any of the steps for this section.
Configure the VM
Building a desktop VM isn’t much different than building a server VM. The basic process is create the VM, configure the hardware, install the operating system, and then install your applications. Although there are a few additional steps, building a desktop VM doesn’t deviate from this.
You should base the number of vCPUs and the amount of RAM assigned to your virtual desktops on the requirements for of the applications that you plan to run and fine tune based on user performance and resource utilization.
The recommended hardware for a virtual desktop is:
- SCSI Controller – LSI SAS
- Hard Disk – At least 40GB Thin Provisioned
- NIC – VMXNET3
- Remove Floppy Drive, and disable parallel and serial ports in BIOS
- Remove the CD-ROM drive if you do not have an alternative method for installing Windows.
Note: You cannot remove the CD-ROM drive until after Windows has been installed if you are installing from an ISO.
You’ll notice that I didn’t put minimums for vCPUs and RAM. Sizing these really depends on the requirements of your user’s applications. I’ve had Windows 7 64-bit desktops deployed with as little as 1GB of RAM for general office workers up to 4GB of RAM for users running the Adobe Suite.
After you have created a VM and configured the VM’s settings, you need to install Windows. Again, it’s not much different than installing Windows Server into a VM or installing a fresh copy of Windows onto physical hardware. You can install Windows using the ISO of the disk or by using the Microsoft Deployment Toolkit and PXE boot to push down an image that you’ve already created.
When installing Windows for your desktop template, you’ll want to make sure that the default 100 MB system partition is not created. This partition is used by Windows to store the files used for BItlocker.
Since Bitlocker is not supported on virtual machines by either Microsoft or VMware, there is no reason to create this partition. This will require bypassing the installer and manually partitioning the boot drive. The steps for doing this when installing from the DVD/ISO are:
1. Boot the computer to the installer
2. Press Shift-F10 to bring up the command prompt
3. Type DiskPart
4. Type Select Disk 0
5. Type Create Partition Primary
6. Type Exit twice.
Once you’ve set up the partition, you can install Windows normally. If you’re using something like the Microsoft Deployment Toolkit, you will need to configure your answer file to set up the proper hard drive partition configuration.
Install VMware Tools and Join the Template to a Domain
After you have installed Windows, you will need to install the VMware tools package. The tools package is required to install the View Agent. VMware Tools also includes the VMXNET3 driver, and your template will not have network access until this is installed. The typical installation is generally all that you will need unless you’re using vShield Endpoint as part of your antivirus solution.
After you have installed VMware Tools and rebooted the template, you should join it to your Active Directory domain. The template doesn’t need to be joined to a domain, but it makes it easier to manage and install software from network shares.
Install View Agent
After you have installed the VMware tools package and joined your computer to the domain, you will need to install the VMware View Agent. The default install of the View Agent includes all of the features except for PCoIP Smartcard support. The agent install will require a reboot after it is completed.
Installing Applications on the Template
After you install the View Agent, you can begin to install the applications that your users will need when they log into Horizon View.
With tools like Thinapp available to virtualize Windows applications or layering software like Unidesk or Cloud Volumes, it is not be necessary to create templates for all of the different application combinations. You can create a base template with your common applications, such as your office suite, pdf reader, etc, and then either virtualize or layer your other applications on top of that.
“Finalizing” the Image
Once you have the applications installed, it is time to finalize the image to prepare it for Horizon View. This step involves disabling unneeded services and making configuration settings changes to ensure a good user experience.
There are two ways to do this. The first is to use the batch file provided by VMware in the Horizon View Optimization Guide for Windows 7 and Windows 8. The other option is to use the VMware OS Optimization fling.
Before you shut the virtual machine down to snapshot it, verify that any services required for applications are enabled. This includes the Windows Firewall service which is required for the View Agent to function properly.
Shutdown and Snapshot
After you have your applications installed, you need to shut down your desktop template and take a snapshot of it. If you are using linked-clones, the linked-clone replica will be based on the snapshot you select.
That’s a quick rundown of setting up a desktop template to be used with Horizon View desktops.
In the next part of this series, I’ll cover how to create a linked-clone pool.