Server-hosted
virtual desktops are gaining popularity to meet several business challenges.
Companies are leveraging VDI solutions to simplify operational support as the
industry moves from a device centric deployment model to a user centric
deployment mode. This, in part, is being driven by senior level management and
sales teams that want to use devices like tablets and ultra-books when they are
on the road. Also, VDI solutions are being leveraged for the externalization of
technical support and to secure business information in the data center. Common
examples for implementing a server-hosted virtual desktop solution include
enterprise desktop replacement, remote user access, corporate acquisitions,
outsourcings, and disaster recovery planning.
Although there are several key factors driving organizations to adopt VDI deployments, the capital costs have made the acceptance slow. 40% to 60% of the cost of a VDI implementation is related to storage infrastructure. We are going to look at VMware’s reference architecture to implement a stateless VDI architecture that uses high performance local solid-state drives in the host servers instead of the storage array to reduce costs and improve performance.
This design
isn’t for everyone, but it can reduce capital costs if you are deploying
stateless desktops for call centers and kiosks.
Linked Clones
VMware View with View Composer uses the concept of linked
clones to quickly provision virtual desktops. View Composer uses a parent image
to create a pool of linked clone virtual machines. A parent image is a tuned
desktop that will be used to create new replica images. Each linked clone acts
like an independent desktop, with a unique host name and IP address, yet the
linked clone requires significantly less storage. All files available on the
parent at the moment of the snapshot continue to remain available to the linked
clone. The operating system reads all the common data from the read-only
replica and the unique data that is created by the operating system or user, is
stored on the linked clone.
Solid-State Architecture
Stateless architectures have many advantages, such as being
easier to support and having lower storage costs. The virtual desktop is
typically deleted or refreshed after each use, offering a highly controlled
environment. Because we are using solid-state disks local to the hosts, the
virtual desktops will be stateless; they will be a member of a floating-assignment
pool of linked cloned virtual desktops. The nature of these desktops is similar
to a kiosk environment, except we are going to leverage persona management to personalize
the user experience.
View Persona Management
With VMware View 5,
VMware introduced View Persona Management. View Persona Management facilitates
implementing a floating-assignment pool for those users who want to retain
settings between sessions. It preserves user profiles and dynamically
synchronizes them with a remote profile repository. Previously, one of the
limitations of floating-assignment desktops was that when end users logged off,
they lost all their configuration settings and any data stored in the View
desktop.
Each time end users
logged on, their desktop background was set to the default wallpaper, and they
would have to configure each application's preferences again. With View Persona
Management, an end user of a floating- assignment desktop cannot tell the
difference between their session and a session on a dedicated assignment
desktop.
Sizing storage for VDI
is one of the most complicated and critical components during the design and
implementation process. Because we are leveraging local SSD, the replica and
the OS data need to stay together. Unlike tiered storage in the SAN array, it
can’t use a Dedicated Replica Datastore for the read-only replica base image.
This means the storage footprint in the local solid-state drives needs to stay
very small to provide capacity for the replica base image and the linked
clones.
The user profile data and home directories can be stored on 7.2k near-line SAS disk, while the replica base image and linked clones will be stored on the local solid-state drives. Replica disks are created as thin provisioned clones from the Parent Image. If the Parent VM has 50 GB allocated and 30 GB consumed, then the replica disk is equal to the amount of utilized storage which is 30 GB. In order for this to work, it is recommended that you have a basic parent image for your deployment that uses memory reservations to minimize the disk footprint. If your swap and video swap file are too large, then this architecture will require larger SSD drives than your host may accommodate. I suggest that you use the VMware View Optimization Guide for Windows 7 to tune your Parent image.
The formula for
calculating your capacity is the parent image + replica disk + delta disks. You
calculate your delta disks by (VMs per datastore *(delta size + swap + video
swap + suspend + log) +10% overhead). If you set your Refresh OS Disk on Logoff
to Always, the OS disk is refreshed every time the user logs off and it should remain
relatively small, I would plan for 512 MB to 1 GB in size for the delta.
Infrastructure Resiliency
If a host, drive, power
supply or similar component fails; the high-level design provides the
redundancy necessary to provide a user with a new desktop. A stateless design
has different requirements for high availability compared to traditional
virtual desktop deployments. In the past, redundancy designs would be based on
advanced virtualization features within vSphere like High Availability (HA),
Distributed Resource Scheduling (DRS), and live migration with vMotion. With stateless
usage of the local datastores, these features are no longer needed.
Why aren’t they
required? The reason they aren’t required is because the failure of a host is
seen by the VMware View Connection Servers. In the case of a server failure,
the broker will simply allocate a new desktop for the user after successful
authentication. View Persona Management will facilitate moving the user
settings to the new session.
Careful planning of the
pools needs to be considered. You need to make certain you have enough overhead
the pool to ensure there is capacity for a host failure. If you are deploying
300 virtual desktops over 4 physical hosts, you need to add 25 additional
desktops per host pool to support the resiliency necessary to ensure all the
desktops are active after a node failure.
A successful server-host
virtual desktop deployment enables businesses to deliver virtual desktops to
multiple devices while securing company data in the data center. Storage is a
critical component to the success of any VDI deployment. From a user’s
perspective, good performance of a virtual desktop is a lossless experience as
they transition from a physical device to a virtual desktop. Therefore, the
correct way to implement a storage design is through careful planning that
maximizes performance and balance out cost.
VMware’s reference
architecture to implement a stateless VDI environment with local solid-state
disk is a great solution for call centers and kiosk environments, but a more
robust solution is needed for environments that are using their server-hosted
virtual desktop infrastructure for knowledge workers and power users.