Introduction
VMware Horizon 8 represents the pinnacle of virtual desktop infrastructure (VDI) technology, offering organizations the ability to deliver secure, high-performance virtual desktops and applications to users anywhere, on any device. A successful Horizon deployment requires meticulous planning, proper infrastructure preparation, and a methodical implementation approach.
This comprehensive guide provides a detailed, step-by-step walkthrough of a production-ready Horizon 8 installation, covering everything from initial infrastructure preparation to creating your first desktop pools and ensuring optimal performance.
Architecture Overview and Core Components
Before diving into the implementation, it’s crucial to understand the core components that make up a Horizon environment:
Essential Components:
- vCenter Server: The centralized management platform for your vSphere environment
- Horizon Connection Server: The broker that authenticates users and connects them to their virtual desktops
- Active Directory: Provides user authentication and group policy management
- Golden Image VM: The master template used to create all user desktops
- Horizon Agent: Software installed on virtual desktops to enable communication with Connection Server
Optional but Recommended Components:
- Unified Access Gateway (UAG): Secure remote access gateway
- App Volumes: Application layering and lifecycle management
- Dynamic Environment Manager (DEM): User environment and profile management
- vRealize Operations: Monitoring and capacity planning
Pre-Deployment Planning and Prerequisites
Infrastructure Requirements:
Compute Resources:
- ESXi Hosts: Minimum 3 hosts for HA, recommended 4+ for production
- CPU: Intel VT-x or AMD-V enabled processors
- Memory: Minimum 4GB per virtual desktop + host overhead
- Storage: High-performance storage (SSD/NVMe recommended) with sufficient IOPS
Network Requirements:
- Bandwidth: Minimum 1Gbps, 10Gbps recommended for production
- VLANs: Separate VLANs for management, desktop, and DMZ traffic
- DNS: Properly configured forward and reverse DNS resolution
- Time Synchronization: NTP configured across all components
Software Prerequisites:
- vSphere: Version 7.0 or later (8.0 recommended)
- Windows Server: 2019 or 2022 for Connection Servers
- Active Directory: 2016 functional level or higher
- Database: SQL Server 2019 or later for events database
Step 1: Prepare Your vSphere Environment
A properly configured vSphere environment is the foundation of a successful Horizon deployment.
1.1 Create Service Accounts
In Active Directory, create dedicated service accounts with appropriate permissions:
Horizon Service Account:
Account Name: svc-horizon
Description: VMware Horizon Service Account
Password: Complex password with no expiration
Permissions:
- Log on as a service
- Act as part of the operating system
- Log on as a batch job
vCenter Permissions for Horizon:
- Datastore: Allocate space, Browse datastore, Low level file operations
- Folder: Create folder, Delete folder
- Global: Act as vCenter Server, Enable methods, Disable methods
- Network: Assign network
- Resource: Assign virtual machine to resource pool
- Virtual Machine: Full permissions for VM lifecycle management
1.2 Network Configuration
Configure dedicated VLANs and port groups:
VLAN Structure:
VLAN | Purpose | Subnet | DHCP Pool |
---|---|---|---|
VLAN 100 | Management | 10.100.0.0/24 | 10.100.0.100-200 |
VLAN 200 | VDI Desktops | 10.200.0.0/22 | 10.200.1.0-10.200.3.254 |
VLAN 300 | DMZ (UAG) | 10.300.0.0/24 | Static IPs |
1.3 Storage Configuration
Configure storage for optimal VDI performance:
Storage Tiers:
- Tier 1 (NVMe/SSD): OS disks, replica disks, logs
- Tier 2 (SAS): User data, profiles
- Tier 3 (SATA): Templates, ISOs, backups
Datastore Naming Convention:
- VDI_OS_01: Operating system disks
- VDI_DATA_01: User data and profiles
- VDI_REPLICA_01: Instant clone replica disks
- VDI_TEMP_01: Templates and golden images
Step 2: Install and Configure Horizon Connection Server
The Connection Server is the central component that brokers all user connections to virtual desktops.
2.1 Server Preparation
Virtual Machine Specifications:
- CPU: 4 vCPUs (8 vCPUs for large deployments)
- Memory: 8GB RAM (16GB for large deployments)
- Storage: 100GB system disk on high-performance storage
- Network: Management VLAN with static IP
Windows Server Configuration:
- Install Windows Server 2022 with latest updates
- Join the server to the Active Directory domain
- Configure static IP address and DNS settings
- Install .NET Framework 4.8 or later
- Configure Windows Firewall or disable if using network firewalls
2.2 Connection Server Installation
- Download Horizon: Obtain the latest Horizon 8 installer from VMware
- Run Installer: Execute the VMware-Horizon-Connection-Server-x86_64-XXXX.exe
- Installation Type: Select “Horizon Connection Server” (Standard Server)
- License Agreement: Accept the license terms
- Destination Folder: Use default or specify custom location
- Data Recovery Password: Set a strong password and store securely
- Firewall Configuration: Allow Horizon services through Windows Firewall
- Installation Complete: Restart the server when prompted
Critical Note: The Data Recovery Password is essential for disaster recovery and adding replica servers. Store this password in a secure location and ensure it’s available to authorized personnel.
2.3 Initial Connection Server Configuration
Access the Horizon Administrator Console at https://connection-server-fqdn/admin
First-Time Setup Wizard:
- Administrator Account: Specify domain administrator or dedicated Horizon admin
- License Key: Enter your Horizon license key
- vCenter Server: Add your vCenter Server with service account credentials
- Event Database: Configure SQL Server database for event logging
- LDAP Configuration: Configure Active Directory integration
Step 3: Configure Core Horizon Settings
3.1 vCenter Server Integration
Navigate to Settings > Servers
and configure vCenter integration:
vCenter Configuration:
- Server Address: vCenter FQDN or IP address
- User Name: svc-horizon@domain.com
- Password: Service account password
- Port: 443 (default)
- Certificate: Accept or import vCenter certificate
Composer Settings (if using Linked Clones):
- Composer Server: Typically the same as vCenter
- Composer Domain: Active Directory domain
- Composer User: Service account with appropriate permissions
3.2 Event Database Configuration
Configure the events database for logging and reporting:
Database Server Requirements:
- SQL Server: 2019 or later
- Database: Create dedicated database (e.g., “HorizonEvents”)
- Authentication: SQL Server authentication recommended
- Permissions: db_owner on the events database
Configuration Steps:
- Navigate to
Settings > Event Configuration
- Select “Database” as the event destination
- Enter database server details and credentials
- Test the connection and save configuration
- Configure log retention policies (recommended: 90 days)
3.3 Global Settings Configuration
Security Settings:
- Session Timeout: Configure appropriate timeout values
- Message Security: Enable message security mode (Enhanced)
- Certificate Validation: Configure certificate checking
- Smart Card Authentication: Enable if required
Client Settings:
- Client Session Timeout: 600 minutes (default)
- Pre-login Message: Configure legal notice if required
- Client Drive Redirection: Configure based on security policy
- USB Redirection: Configure allowed device types
Step 4: Prepare the Golden Image
The golden image serves as the template for all virtual desktops in your environment.
4.1 Base Operating System Installation
Virtual Machine Specifications:
- OS: Windows 10/11 Enterprise (latest version)
- CPU: 2 vCPUs
- Memory: 4GB RAM
- Disk: 60GB thin provisioned
- Network: Desktop VLAN
Installation Steps:
- Create VM: Create new virtual machine with specifications above
- Install OS: Install Windows with default settings
- Windows Updates: Install all critical and security updates
- VMware Tools: Install latest VMware Tools
- Domain Join: Join the VM to the Active Directory domain
4.2 Application Installation
Install all required applications and configure default settings:
Essential Applications:
- Microsoft Office: Install and activate with volume licensing
- Web Browsers: Chrome, Firefox, Edge (configure default settings)
- PDF Reader: Adobe Acrobat Reader or alternative
- Antivirus: Corporate antivirus solution
- Line-of-Business Apps: Install corporate applications
Application Configuration Best Practices:
- Disable Auto-Updates: Prevent applications from updating automatically
- Configure Defaults: Set appropriate default settings for all users
- Remove Bloatware: Uninstall unnecessary pre-installed applications
- Optimize Startup: Disable unnecessary startup programs
4.3 Horizon Agent Installation
The Horizon Agent enables communication between the virtual desktop and Connection Server:
Installation Steps:
- Download Agent: Obtain Horizon Agent installer matching your Horizon version
- Run Installer: Execute VMware-Horizon-Agent-x86_64-XXXX.exe
- Installation Type: Select “Virtual Desktop”
- Features Selection: Choose required features:
- Horizon Agent (required)
- USB Redirection (if needed)
- Real-Time Audio-Video (for multimedia)
- Instant Clone Agent (for instant clones)
- PCoIP (if using PCoIP protocol)
- Blast (if using VMware Blast protocol)
- RDP Settings: Configure RDP settings if required
- Installation Complete: Restart when prompted
4.4 Operating System Optimization
Optimize the OS for VDI performance and user experience:
VMware OS Optimization Tool:
- Download Tool: Get the latest VMware OS Optimization Tool
- Run Analysis: Analyze the current OS configuration
- Apply Optimizations: Apply recommended VDI optimizations:
- Disable unnecessary services
- Optimize visual effects
- Configure power management
- Disable Windows Search indexing
- Configure Windows Update settings
- Custom Optimizations: Apply organization-specific optimizations
Manual Optimizations:
- Disable Hibernation:
powercfg -h off
- Disable System Restore: Turn off system restore to save space
- Configure Page File: Set appropriate page file size
- Disable Defragmentation: Not needed for virtual disks
4.5 Final Preparation
- Run Sysprep: Generalize the image using sysprep
- Shutdown VM: Cleanly shutdown the virtual machine
- Create Snapshot: Take a snapshot named “Golden Image – [Date]”
- Convert to Template: Optionally convert to template for easier management
Step 5: Create Your First Desktop Pool
Desktop pools define collections of virtual desktops with common characteristics.
5.1 Pool Planning
Pool Types:
- Instant Clones: Fast provisioning, shared base image (recommended)
- Full Clones: Independent VMs, higher storage requirements
- Linked Clones: Legacy technology, not recommended for new deployments
Pool Sizing Guidelines:
User Type | vCPU | Memory | Storage | Concurrent Users |
---|---|---|---|---|
Task Worker | 2 | 4GB | 32GB | 80-100 per host |
Knowledge Worker | 2-4 | 6-8GB | 40GB | 40-60 per host |
Power User | 4-8 | 8-16GB | 60GB | 20-30 per host |
5.2 Create Instant Clone Pool
Navigate to Inventory > Desktops
and click “Add”:
Pool Configuration:
- Type: Select “Automated Desktop Pool”
- User Assignment: Choose “Dedicated” or “Floating”
- Clone Type: Select “Instant Clone”
- Pool Identification:
- ID: WIN11-POOL-01
- Display Name: Windows 11 Knowledge Workers
- Description: Standard Windows 11 desktop for knowledge workers
Desktop Pool Settings:
- Connection Server Restrictions: None (allow all)
- Category Folder: Create organizational folders if needed
- Client Restrictions: Configure based on security requirements
- Shortcut Locations: Configure desktop and start menu shortcuts
Provisioning Settings:
- Enable Provisioning: Yes
- Stop Provisioning on Error: Yes
- Naming Pattern: WIN11-{n:3} (e.g., WIN11-001, WIN11-002)
- Minimum Pool Size: 10
- Maximum Pool Size: 50
- Spare Pool Size: 2
vCenter Settings:
- Parent VM: Select your golden image VM
- Snapshot: Select the golden image snapshot
- VM Folder: Create dedicated folder for pool VMs
- Host or Cluster: Select target compute resource
- Resource Pool: Select appropriate resource pool
- Datastores: Select datastores for OS and replica disks
Guest Customization:
- Customization Type: Use VM’s current domain
- AD Container: Specify OU for computer accounts
- Allow Reuse of Pre-existing Accounts: Yes
5.3 Pool Entitlements
Configure user and group access to the desktop pool:
- Select Pool: Click on the newly created pool
- Entitlements Tab: Click “Add” to create new entitlement
- Add Users/Groups: Search and select AD users or groups
- Configure Permissions: Set appropriate access levels
Step 6: Configure Advanced Features
6.1 Load Balancing and High Availability
Connection Server Load Balancing:
- Replica Servers: Deploy additional Connection Servers for HA
- Load Balancer: Configure external load balancer for Connection Servers
- Health Checks: Configure health monitoring for automatic failover
Desktop Pool Load Balancing:
- Host Load Balancing: Configure DRS rules for optimal VM placement
- Storage Load Balancing: Use Storage DRS for automatic storage balancing
- Network Load Balancing: Distribute network traffic across multiple paths
6.2 Monitoring and Alerting
Built-in Monitoring:
- Dashboard: Use Horizon Administrator dashboard for real-time status
- Events: Monitor events database for issues and trends
- Performance: Track key performance metrics
Third-Party Monitoring:
- vRealize Operations: Comprehensive infrastructure monitoring
- SCOM/SCCM: Integration with Microsoft monitoring tools
- Custom Scripts: PowerShell scripts for automated monitoring
Step 7: Performance Optimization and Tuning
7.1 Storage Optimization
Storage Policies:
- VM Storage Policies: Create policies for different workload types
- Instant Clone Optimization: Optimize replica disk placement
- Storage DRS: Enable and configure Storage DRS rules
Performance Monitoring:
- IOPS Monitoring: Monitor storage IOPS and latency
- Capacity Planning: Plan for storage growth
- Performance Alerts: Configure alerts for storage performance issues
7.2 Network Optimization
Protocol Optimization:
- VMware Blast: Configure Blast Extreme for optimal performance
- PCoIP: Tune PCoIP settings for network conditions
- Bandwidth Management: Configure bandwidth limits and QoS
Network Monitoring:
- Bandwidth Utilization: Monitor network utilization
- Latency Monitoring: Track network latency
- Protocol Analytics: Analyze protocol performance
Troubleshooting Common Issues
Connection Issues:
- Certificate Problems: Verify certificate validity and trust
- Firewall Issues: Check firewall rules and port connectivity
- DNS Resolution: Verify DNS forward and reverse resolution
- Time Synchronization: Ensure all components have synchronized time
Performance Issues:
- Resource Contention: Monitor CPU, memory, and storage utilization
- Network Bottlenecks: Identify and resolve network performance issues
- Storage Latency: Address storage performance problems
- Protocol Optimization: Tune display protocols for better performance
Provisioning Issues:
- vCenter Connectivity: Verify vCenter integration and permissions
- Resource Availability: Ensure sufficient compute and storage resources
- Network Configuration: Verify VLAN and network connectivity
- Active Directory: Check AD integration and computer account creation
Security Best Practices
Infrastructure Security:
- Network Segmentation: Isolate VDI traffic from other network traffic
- Firewall Rules: Implement strict firewall rules between network segments
- Certificate Management: Use proper certificates for all communications
- Access Controls: Implement role-based access controls
Desktop Security:
- Antivirus: Deploy and maintain antivirus on all virtual desktops
- Patch Management: Implement automated patch management
- Data Loss Prevention: Configure DLP policies and controls
- USB Controls: Restrict USB device access based on security policy
Conclusion
Deploying VMware Horizon 8 successfully requires careful planning, methodical implementation, and ongoing optimization. This guide has provided a comprehensive foundation for building a production-ready VDI environment that can scale with your organization’s needs.
Key success factors include:
- Proper Infrastructure Planning: Ensure adequate compute, storage, and network resources
- Methodical Implementation: Follow a structured approach to deployment
- Continuous Monitoring: Implement comprehensive monitoring and alerting
- Regular Optimization: Continuously tune and optimize the environment
- Security Focus: Maintain strong security practices throughout
With this foundation in place, you can expand your Horizon environment with additional features like App Volumes for application management, Dynamic Environment Manager for user personalization, and Unified Access Gateway for secure remote access.
“A well-planned and properly implemented Horizon deployment can transform how users access their applications and data, providing flexibility, security, and performance that traditional desktop computing cannot match.” – VMware Solutions Architect