The size and type of traffic that is generated from a VDI environment is noticeably different from most business applications. The difference in the size and pattern of VDI traffic is consistent, but requires a few changes to the storage design for proper management.
Citrix and VMware best practices
Most VMware best practices apply to VDI environments, but there are a few changes that are required due to the nature of high-density VM configurations. For VMware best practices, see Dell PowerStore: VMware vSphere Best Practices on the PowerStore Info Hub.
With most applications, storage traffic is typically 70 percent reads. There are applications that generate all reads or all writes, but the average tends to be a 70 percent read to 30 percent write ratio.
Volume countThere are several factors that determine the optimal volume count with Citrix Virtual Apps and Desktops on PowerStore. There isn't a single volume count that fits all scenarios. Performance and management overhead are typically the two most important factors. For performance reasons, a minimum of 16 volumes is recommended. This configuration ensures good queue balancing and reduces I/O bottlenecks.
Balance this volume recommendation with the goal of keeping the volume count low for minimized management. The VMware guidance for volume count should also be considered. Internal testing shows that 16 volumes can support 3,000 users from a performance perspective but may have an impact on VM recovery from a backup. Using array-based snapshots reduces recovery time and minimizes the impact of higher user-per-volume counts.
I/O size
The average I/O size of storage traffic in a VDI environment typically ranges from 24k to 32k. This size can vary if host-based caching is enabled or allowed. Some VM configurations do not allow host-based caching.
Heavy writes
VDI environments are typically heavily biased towards writes. This bias occurs because once the VMs are booted, the I/O traffic includes mostly changes from each VM. The traffic consists of file changes, swap file writes, memory paging, and updates to user preferences. This traffic pattern makes VDI one of the more demanding applications.
The heavy write ratio of VDI requires more attention to be focused on the number of writes that are generated and the rate of change to the environment. For environments that are persistent, these factors should be accounted for when snapshots are taken. The average snapshot size is larger because of the rate of change occurring.
If persistence is maintained at the VM level and profile redirection technology is not used, the VM volumes must be larger. The snapshot growth is larger as well.
Citrix Machine Creation Services (MCS) desktops VMsMCS linked clones generate a large volume of traffic during the provisioning process and during the logging out process due to the method used to create or re-create the VMs. Since a golden image is cloned using differencing disks, the virtual machines are created quickly and the volume of traffic is significant. The I/O required to complete the creation is brief, but large.
Plan for bursts of high traffic when creating or refreshing MCS linked-clone machines. These bursts of high traffic may impact other workloads if a PowerStore appliance is not dedicated to VDI. For a large VDI implementation, a PowerStore appliance should be dedicated to VDI.
MCS linked-clone machines reset on logout. As users log out, their virtual desktops are re-created automatically. This action occurs throughout the workday and should be considered in the design. Virtual desktop re-creations cause a brief spike in I/O that is proportional to the number of desktops re-creating at any given time. If many desktops refresh simultaneously, the I/O demand will spike as they refresh.
Capacity
The density of data on VDI tends to be high because many Citrix VDI environments use data-reduced clones. With profile-redirection technology like Citrix Profile Management, randomly assigned MCS desktops appear as persistent to users. Citrix Profile Management enables users to personalize their desktop, but Citrix MCS Machine Catalogs can still employ the benefits of non-persistent VMs. Keeping the VMs small and clean improves performance and recovery time.
The advantages of small virtual desktops include faster boot times, reduced capacity requirements, reduced catalog creation time, and fewer updates required. With MCS linked clones, the administrative overhead is reduced even further with the automatic refresh of virtual desktops on logout. Any misconfiguration in a VM is cleared when the user logs out and the machine is re-cloned.
Drive counts for block-only VDI are a function of IOPs requirements rather than capacity. Since the VMs generate many IOPs per TB of storage that is consumed, performance is more of a concern than capacity. In a unified-file-storage product, capacity may increase drive counts beyond performance requirements. To see the NAS limits of the PowerStore platform, see Dell PowerStore: VMware vSphere Best Practices on the PowerStore Info Hub.
The number and size of the file shares or exports determine the capacity that must be added, based on performance guidance on Dell.com/Support.
Guests
Citrix Virtual Apps and Desktops support two guest operating systems for Machine Catalogs. Not all features are available with both operating systems because of the architecture of the individual operating systems. While only one image can be used per Machine Catalog, multiple Machine Catalogs and Delivery Groups can be created, one for each VM role.
WindowsThe behavior of Windows desktops in a VDI environment can vary greatly. Because of the number of services and process in Windows, the host load can vary based on customizations that are applied to the guest operating system.
One of the best ways to reduce CPU and disk load from a Windows VM is to use an optimization tool within the guest operating system. Two recommended tools are:
- VMware OS Optimization Tool (login required)—This tool is a consolidated interface that can be used to change the behavior of VMs to reduce their hardware requirements. Be careful if choosing the most restrictive configurations, which can cause applications or even Windows features to stop working. This tool is designed to reduce the effort of optimizing Windows, but it requires testing of the configuration for all user applications.
- Citrix Optimizer Tool (login required)—This is a Windows tool designed to help Citrix administrators optimize various components in their environment, most notably operating systems with the Virtual Delivery Agent (VDA) installed. The tool is PowerShell-based, but also includes a graphical UI.
Another tool that was mentioned previously in this paper is Citrix Profile Management. This tool redirects user data to one or more file shares based on certain conditions. This capability allows directing different types of data to different locations. User-profile data and documents can be pointed to home directories that are replicated. Application temporary data that does not need protection is placed on volumes with no data protection enabled. This approach reduces replication traffic and the overall storage load.
LinuxCitrix Virtual Apps and Desktops supports virtual desktops on Linux with some caveats and restrictions on versions and distributions. For details, see the Citrix product documentation about the system requirements for the Citrix Linux Virtual Delivery Agent. The storage requirements are determined more by the applications that are supported than the base operating system. This document does not address the variations in Linux configurations.
Networking
PowerStore has options to support diverse network designs and protocols. The abstraction between the storage and front-end connectivity enables great flexibility in design.
ManagementPowerStore is managed through the first two ports on the integrated four-port card, as shown in Figure 4. These ports are automatically bonded for availability.
These ports provide connectivity through several protocols and storage methods such as web interface (HTTP), REST API, and PowerStore CLI (PSTCLI).
An integrated web-based interface is included for most management needs, as shown in the following figure. The interface addresses all day-to-day management tasks and storage alerting. Automated notification can also be configured for remote alerting.
DRE and storage containers
PowerStore uses a dynamic resiliency engine (DRE) to automatically manage the underlying storage for maximum performance and capacity. DRE eliminates the need for administrators to configure protection settings for the storage pool. Manually setting or configuring these options is unnecessary in PowerStore. The underlying configuration and drive management are automatic.
Changing capacity needs
Planning for the future is simple with PowerStore. Dynamically scaling as drives are added is as simple as adding drives or enclosures of disks. When new drives are detected, they are automatically added to the available capacity.
Adding capacity to an existing file system is easy. Choose the new size, and the file system expands instantly. No downtime is required and there is no user impact.
Reducing the size of a file system is also simplified. If excess space is allocated to a file system, it can be reduced in size if sufficient capacity remains for existing data. With thin provisioning, no space is wasted, and file systems do not have to be reduced unless hard growth boundaries must be set.
Quotas are supported as well for growth management. This feature can prevent user directories or shared file structures from growing beyond the capacity of the system.
Citrix Virtual Apps and Desktops configuration
Citrix Virtual Apps and Desktops do not require any special configuration to work with PowerStore. The storage is presented as block storage volumes discoverable through VMware vCenter. When the Citrix Studio Hosting connection is made to vCenter, the volumes are visible as usable disks.
Volumes that are presented through PowerStore can grow dynamically. If the original volumes must grow as the VM requirements change, they can be expanded using the standard management methods. This expansion is done using a PowerCLI script (RESTAPI) that also expands the datastores. PowerStore Manager is used to expand a single volume.
Replication
The nature of VDI environments is to create catalogs or pools of VMs that are not necessarily tied to a specific user. This ability reduces the administration of the environment and also reduces the need for backups, disaster recovery, and data-loss mitigation.
This design also reduces the need for replication. Since data is typically not stored in the user VMs, the VMs do not have to be copied offsite. A VM Machine Catalog and Delivery Group can quickly be created offsite if the infrastructure is available, including the template VMs.
User data from file shares can be replicated in several ways. PowerStore uses protection policies to take snapshots and replicate data, as shown in the following figure.
Secondary Citrix Machine Catalogs
One simple way to help users quickly return to work is to keep additional VMs ready in a recovery Machine Catalog. This catalog can be assigned to end-users if the primary systems are down. The catalog may not have the same performance characteristics but can aid in business continuity.