Creating a dedicated parent image, often referred to as a "golden image," for VMware Horizon is a foundational step for deploying efficient and scalable virtual desktops or applications. This image serves as the blueprint from which all instant clones or linked clones are provisioned, making its configuration critical for performance, stability, and user experience.
The process involves careful installation, optimization, and configuration of a virtual machine (VM) that will then be snapshotted and used by Horizon.
Essential Steps to Configure Your Parent Virtual Machine
To build a robust parent image, follow these detailed steps, ensuring each stage is completed meticulously before proceeding.
-
Install and Configure the Base Operating System (OS):
- Choose the Right OS: Select a Windows client OS (e.g., Windows 10/11) or Windows Server OS (for RDSH pools) that meets your application and user requirements.
- Perform a Clean Installation: Install the OS into a new virtual machine on your ESXi host.
- Apply Latest Updates: Install all critical and recommended Windows updates to ensure security and stability.
- Install VMware Tools: This is crucial for optimal performance, device drivers, and integration with the vSphere environment. Ensure you install the latest version compatible with your ESXi hosts.
- Optimize Windows OS:
- Disable Windows Hibernation: For better performance and to conserve disk space, disable hibernation using the command
powercfg.exe /hibernate off
in an elevated command prompt. This prevents unnecessary writes and large hiberfil.sys files. - Configure Paging File Size: While the OS typically manages this, for View Composer Linked Clones, it was important to record the paging file size of the parent virtual machine to understand its disk usage. For Instant Clones, it's generally recommended to let Windows manage it or set a fixed size appropriate for the VM's RAM, considering that instant clones often leverage a redirect-on-write mechanism for the paging file.
- Disable Unnecessary Services: Stop and disable services not required for virtual desktop operations (e.g., Windows Search, Print Spooler if not using printers, Xbox services).
- Optimize Visual Effects: Adjust performance options to "Adjust for best performance" in System Properties.
- Disable Automatic Updates: Configure Windows Update to "Never check for updates" or "Notify to download" to prevent updates from running during provisioning or user sessions. Updates should be managed through the parent image update process.
- Empty Recycle Bin and Delete Temporary Files: Clean up any residual data before finalizing the image.
- Disable Windows Hibernation: For better performance and to conserve disk space, disable hibernation using the command
-
Activate Windows:
- Activating Windows on instant clones and Composer linked clones requires a suitable activation method. Key Management Service (KMS) or Multiple Activation Key (MAK) are the preferred methods for volume licensing environments.
- Ensure the parent VM is activated with your KMS server or using your MAK key. This ensures all clones provisioned from it will also activate correctly. For KMS, the clones will contact the KMS server after provisioning.
-
Install Applications:
- Install all standard applications that your users will need (e.g., Microsoft Office, web browsers, productivity tools).
- Install applications into
C:\Program Files
orC:\Program Files (x86)
as usual. Avoid installing applications into user profiles or other non-standard locations if possible.
-
Install VMware Horizon Agent:
- Download the appropriate version of the VMware Horizon Agent (matching your Connection Server version).
- Run the installer on the parent VM. During installation, select the components relevant to your deployment (e.g., Instant Clone Agent, USB Redirection, Scanner Redirection).
- If you are creating an image for View Composer Linked Clones (an older deployment model), ensure the Horizon Agent is configured correctly for View Composer. For the more modern and recommended Instant Clones, the Instant Clone Agent component is crucial.
- After installation, restart the VM.
-
Configure Local Storage for View Composer Linked Clones (If Applicable):
- While Instant Clones are the recommended modern approach and typically handle storage more dynamically, for environments utilizing View Composer Linked Clones, it was sometimes beneficial to configure local storage. This specifically refers to how the linked clones' delta disks or replica disks might interact with local storage on the ESXi hosts where the parent VM resides. For Instant Clones, the replica disk (and thus the parent image) is typically stored on shared storage accessible by all hosts, and instant clones benefit from much more efficient storage use.
-
Perform Final Optimizations and Clean-up:
- Generalize the OS (Sysprep): While Horizon Agent typically handles much of the generalization for Instant Clones, it's good practice to ensure the OS is ready for cloning. If you were not using Horizon Agent's capabilities, you would run Sysprep.
- Remove History and Cache: Clear browser history, cache, and temporary files from all users.
- Check Disk Space: Ensure there is sufficient free space on the C: drive.
-
Create a Snapshot:
- After all configurations are complete and the VM is stable, shut down the parent virtual machine cleanly.
- Take a snapshot of the VM in vCenter Server. This snapshot will be used by VMware Horizon to provision your desktop pools. Ensure the snapshot has a descriptive name indicating the OS version, patch level, and any major applications installed.
Key Considerations for Your Parent Image
Feature | Description |
---|---|
Operating System | Use a clean installation of a supported Windows client or server OS. Avoid upgrading an existing OS. |
VMware Tools | Always install the latest compatible version for optimal performance and driver support. |
Horizon Agent | Match the agent version to your Horizon Connection Server version. Install all necessary components. |
Windows Activation | Implement KMS or MAK for seamless activation across all cloned desktops. |
Hibernation | Disable it to save disk space and prevent unexpected behavior in a virtualized environment. |
Paging File | Let Windows manage the paging file size or set a fixed, appropriate size based on the VM's RAM and expected workload. |
Antivirus Exclusion | Configure antivirus software with appropriate exclusions for VMware Horizon and Instant Clone/Composer processes to prevent performance degradation. |
Disk Provisioning | Use thin provisioning for the parent VM to save storage space, though performance-critical environments might use thick provisioning. |
Networking | Ensure the parent VM is configured with a static IP or DHCP, suitable for your network environment. The Horizon Agent will typically handle network configurations during provisioning. |
Scheduled Tasks | Review and disable any unnecessary scheduled tasks that might run during user sessions or disrupt the cloning process. |
By following these guidelines and incorporating the specific optimizations, you can create an efficient and stable parent image that forms the backbone of your VMware Horizon environment. Regular updates to this image are crucial to maintain security and application currency.