Book Image

Optimizing Citrix?? XenDesktop?? for High Performance

By : Craig Thomas Ellrod
Book Image

Optimizing Citrix?? XenDesktop?? for High Performance

By: Craig Thomas Ellrod

Overview of this book

Citrix XenDesktop is a suite of desktop virtualization tools designed to provide users with fast and convenient access to their Windows desktops and applications through any device. Virtual desktops mean that rather than setting up hundreds or thousands of individual computers in an enterprise, companies can instead opt to create servers with large amounts of memory, disk, and processing resources, and use virtualization to offer these resources to end users. The result of this is that users are provided with an experience that appears to be identical to having an individual desktop PC. Each user has some disk space, processor time, and memory allocated to them, as though it is present on their own physical machine, when in reality, the resources are physically present on a centralized server. This book starts by answering the basic questions you need to ask when considering XenDesktop, followed by methods of how you can properly size your server infrastructure for XenDesktop. You’ll discover how to optimize the virtual machines used in XenDesktop, how to optimize your network for XenDesktop, and how to optimize the hypervisor and the cloud. You’ll also learn how to monitor XenDesktop to maximize performance. By the end of the book, you will be able to plan, design, build, and deploy high performance XenDesktop Virtualization systems in enterprises. You will also know how to monitor and maintain your systems to ensure smooth operation.
Table of Contents (18 chapters)
Optimizing Citrix XenDesktop for High Performance
Notice
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Components


The resource layers in the architecture are a way to group resources according to general functionality. Within each resource layer are specific XenDesktop components. Each component has a function and plays a role in the XenDesktop infrastructure. These components and their roles are discussed in the following section.

Citrix Receiver™

Citrix Receiver is a universal software client that provides secure, high-performance delivery of virtual desktops and applications to any device anywhere. Citrix Receiver is platform-agnostic, meaning that there is a receiver for just about every device out there, from Windows- to Linux-based thin clients to mobile devices including iOS and Android. In fact, some thin client vendors have performed close integration with the Citrix Ready program to embed the Citrix Receiver code directly into their homegrown operating system for seamless operation with XenDesktop.

Citrix Receiver must be installed on the end user client device in order to receive the desktop and applications from XenDesktop. It must also be installed on the virtual desktop in order to receive applications from the application servers (XenApp or XenDesktop), and this is taken care of for you automatically when installing the VDA on the virtual desktop machine.

Citrix Receiver provides users with self-service access to resources published on XenDesktop or XenApp servers. This software combines ease of deployment and uses and offers quick, secure access to hosted applications, desktops, and data.

Hypervisor

A hypervisor is a thin operating system that hosts multiple instances of other operating systems. This concept of one hosting many is the fulcrum of the value of virtualization. XenDesktop is supported on three hypervisors—Citrix XenServer, VMware ESXi, and Microsoft Hyper-V.

NetScaler®

Citrix NetScaler provides the frontend to XenDesktop resources. NetScaler is primarily an Application Delivery Controller (ADC) that can also perform load balancing. Its primary purpose for XenDesktop, however, is to provide the security for all communications using Secure Sockets Layer (SSL). Think of it this way: for those organizations that want to secure their communications, traffic comes into the NetScaler using encrypted SSL. You can choose not to use SSL, but it is not recommended.

StoreFront™

Citrix StoreFront is the portal that authenticates users to site(s) hosting XenDesktop resources and manages stores of desktops and applications that users access. Active Directory does the actual authentication and interacts with StoreFront.

Note

StoreFront replaces Web Interface from previous versions.

Delivery Controller

The Citrix Delivery Controller brokers access to desktops and applications and manages user access. Each site has one or more Delivery Controllers.

Studio

Citrix Studio is the management console that enables you to configure and manage your XenDesktop and XenApp deployment, eliminating the need for two separate management consoles for managing the delivery of desktops and applications.

Note

If you use provisioning services, also included in XenDesktop, then you need to use the provisioning server console to deploy the VMs on the hosting platform.

Studio provides various wizards to guide you through the process of setting up your environment, creating your workloads to host and assign applications and desktops, and assigning applications and desktops to users.

Note

Citrix Studio replaces the delivery services console and Citrix app center from previous XenDesktop versions. Studio is used to configure the XenDesktop site.

Director

Citrix Director is used to monitor and troubleshoot XenDesktop deployment.

Note

Director is the console that is used to monitor and manage the sessions.

The License Server

The Citrix License Server serves licenses. Every Citrix product and every XenDesktop user requires a Citrix license. Studio consults the License Server to check out and check in licenses.

The only exception is NetScaler, which is licensed from within NetScaler itself.

Database

In XenDesktop, we use Microsoft SQL Server. The database is sometimes referred to as the data store. Almost everything in XenDesktop is database driven and the SQL database holds all state information, in addition to session and configuration information.

If the database server fails, existing connections to virtual desktops will continue to function until the user either logs off or disconnects from their virtual desktop. In XenDesktop version 7.6, Citrix introduced the Connection Leasing feature, which allows new connections to occur even if the database is unavailable. Citrix recommends you to implement SQL mirroring and clustering for high availability.

Note

The IMA data store is no longer used, and everything is now done in the SQL database for both session and configuration information. The data collector is shared evenly across XenDesktop controllers.

Active Directory

Microsoft Active Directory is required for authentication and authorization. Active Directory can also be used for controller discovery by desktops to discover the controllers within a site. Desktops determine which controllers are available by referring to information that controllers publish in Active Directory.

Note

If you don't want to use Active Directory for authentication, you can create an anonymous store in StoreFront and use local authentication.

Active Directory's built-in security infrastructure is used by desktops to verify that communications between controllers come from authorized controllers on the appropriate site. Active Directory's security infrastructure also ensures that the data exchanged by desktops and controllers is confidential.

Tip

Installing XenDesktop on the domain controller is not supported; in fact, it is not even possible.

DHCP

Every machine in this architecture—virtual or physical, client, desktop, or server—requires an IP address. XenDesktop uses the Microsoft DHCP service to centrally manage IP addresses.

DNS

Every machine and service in XenDesktop needs a way to convert Fully Qualified Domain Names (FQDNs) into IP addresses so they can send packets out on the network and reach their destination. XenDesktop uses the Microsoft DNS service to do this.

Note

You can also use the Berkeley Internet Name Domain (BIND) server.

Desktop

A desktop is the instantiation of a complete Windows operating system, typically Windows XP, 7, or 8. In XenDesktop, we create the desktop VM and add the VDA to it so that it can work with XenDesktop and be delivered to clients. This will become the end user's virtual desktop.

Note

At the time of this writing, XenDesktop 7.x does not support Windows 10.

Server

A server is a virtual machine dedicated to performing one or more specific tasks on the XenDesktop site, for example, brokering connections (Delivery Controller). These virtual machines can be used to host applications. More importantly, these servers are used to host the important XenDesktop components such as StoreFront, Delivery Controller, Studio, Director, License Server, SQL Server, Active Directory, DHCP, and DNS.

Storage

All the XenDesktop components use storage. There are two types of storage in this architecture. First, there is SQL Server, which is used as the database for the XenDesktop components. Then, there are Virtual Disks (vDisks) and Personal Virtual Disks (PvDisks).

vDisk

In a dedicated model, each user gets their own vDisk, which hosts the desktop OS. As you can imagine, the storage requirements for a dedicated vDisk model can grow quite substantially. In a pooled/shared model, several users share the same vDisk. There are other types of vDisk deployment models. The different types of vDisks are explained in the following table:

vDisk model

Description

Performance impact

Static vs. random

A static desktop is assigned to a specific user. Each time that user logs on, they get the same desktop they had before. A random desktop is just that; the user will likely get a different desktop than they had before.

Static desktops are faster than random desktops.

Pooled vs. assigned

The pooled desktops (random) are just that; shared resources maintained in a pool and shared across many users. An assigned desktop (static) is a desktop that is assigned to a specific user and only that user.

An assigned desktop is faster than a pooled desktop.

Persistent vs. non-persistent

A persistent desktop (static, assigned) is a desktop that retains its state and settings when the user logs out. A non-persistent desktop (random, pooled) doesn't keep its state when the user logs out, and it is returned to the pool for a different user to use.

Persistent desktops are faster than non-persistent desktops.

Personal vDisk

The concept of the PvDisk is powerful for the users. PvDisk provides a personalization feature for storing personal data from virtual desktops. Each user gets their own Personal vDisk that stores their user profile, data, and applications that are unique to them. They are smaller than OS vDisks. They allow you to scale by pooling and sharing vDisks among many users and giving them each their own smaller Personal vDisk. PvDisks are merged with vDisks at runtime—the appearance to the end user is seamless.

Tip

Using a pooled / shared vDisk model in combination with PvDisks is most scalable and practical. However, PvDisks use more IOPS, so it may affect performance.

Virtual Desktop Agent

The Virtual Desktop Agent (VDA) has to be installed on the virtual machine to which users will be connecting. It enables the machines to register with controllers and manages the connection between the machines and the user devices. The VDA is installed on the operating system VM, such as Windows XP, 7, or 8, which gets served to the client. The VDA maintains a heartbeat with the Delivery Controller, updates policies, and registers with the Delivery Controller.