Read an Excerpt
  Citrix XenDesktop Implementation 
 A Practical Guide for IT Professionals 
 By Gareth R. James 
 Syngress 
 Copyright © 2010   Elsevier Inc. 
All right reserved.
 ISBN: 978-1-59749-583-7 
    Chapter One 
  Introduction  
  
  INFORMATION IN THIS CHAPTER  
   Desktop Virtualization  
   Components of a Citrix VDI Solution  
   The Project-Based Approach  
  
  Desktop virtualization is a very broad topic, which can encompass various virtualization technologies.  This book is aimed at specifically addressing how to implement a virtual desktop infrastructure (VDI)  solution using Citrix XenDesktop.  
     This book is not meant as a definitive guide to any one of the technologies discussed in this book,  but sets out to tie the components together in a simple, easy-to-grasp manner. We certainly hope it  enables you, the reader, to accelerate through the discovery stage, straight through to implementing  your own proof of concept or pilot of the technology.  
  
  DESKTOP VIRTUALIZATION  
  Desktop virtualization has become a catch all phrase for various mechanisms that simplify the  management of the user's desktop environment.  
     VDI is a concept that has been around for some years. The basic concept is to host the desktops in  the datacenter rather than on the user's desk. This concept was pioneered by Hewlett-Packard about  5 years ago. The first iteration of the idea involved taking a rack of blade computers, and installing  Windows XP on each blade; users then accessed their assigned blade using a standard Microsoft RDP  (Remote Desktop Protocol) client. As a concept, it worked for some high-end requirements. The advent  of server virtualization into the mainstream has meant that we can now host 30+ desktops on a single  server, such that this technology is now far more affordable. Figure 1.1 is a diagram of a basic VDI.  
     The Client Hypervisor is another desktop virtualization technology. The Client Hypervisor  entails installing a hypervisor on a laptop or PC, which is used to host one or more desktop operating  systems. This technology should not be confused with "Type 2" hypervisors like virtual PC or  VMware workstation that execute on top of a guest operating system. This differs from a server  hypervisor insofar as it allows the guest operating system to be accessible from the device itself.  This includes exposing peripherals like USB (Universal Serial Bus), LPT ports, and importantly the  graphics processing unit direct to the guest operating system. The user can thus access the guest  operating system (Windows 7, for example) as if it were locally installed. There are plans to dovetail  this (currently beta) technology into VDI, such that you could access the same guest virtual  machine (VM) using the VDI-hosted mechanism, or even "check out" the VM by dragging the  whole VM virtual disk down to a laptop to make it available offline.  
     Depending on your point of view (or who you work for), Microsoft Remote Desktop Services  (RDS) — formerly called Terminal Services — Citrix XenApp, Presentation Server, or MetaFrame  is also regarded as a form of desktop virtualization. The difference between this method and VDI is  that the operating system used is shared by multiple users, and that it is implemented on a Microsoft  server rather than a Microsoft desktop operating system. Additionally, because the overhead of running  the operating system is shared rather than requiring an individual instance per user, one typically  achieves a higher user density using RDS over VDI. Most organizations would benefit from having a  blend of both technologies, with RDS catering for minimal environment, task-based users, and VDI  providing a richer environment for the users with higher resource requirements. Microsoft has  included RDS CAL in its premium VDI suite, such that the user can connect to a hosted desktop  operating system, or a server operating system using RDS, or indeed both if required. Citrix, likewise,  both as part of desktop virtualization and their new XenDesktop 4 licensing model, allows the user to  use a hosted desktop operating system (XenDesktop) and also to connect to a server desktop using  their XenApp product, as part of the same licensing suite. For the sake of clarity, I will refer to the  Citrix VDI solution as XenDesktop, and to the RDS (Terminal Services) solution as XenApp,  although both products are included in the XenDesktop 4 license suite.  
     Desktop streaming is a further type of desktop virtualization. VDI and RDS are datacenter-based  solutions and the Client Hypervisor is client end virtualization, desktop streaming is a combination  of both. Desktop streaming involves mounting a virtual disk over the network to a physical device.  The device could be a normal PC or a diskless device. Based on the MAC address of the machine,  either you could choose a virtual disk to mount or the administrator could assign one to the MAC  address. Citrix Provisioning Server is a mature technology that Citrix acquired when they bought  Ardence back in 2006. Dell uses this technology as part of its "Flexible Computing Solution" and  refers to it as on-demand desktop streaming (ODDS). This technology can be used with physical or  even VMs! Citrix integrates the technology into its XenDesktop VDI solution, but it is important to  note that it can be used separately and is a valid solution in its own right.  
     Application virtualization is sometimes included in the definition of desktop virtualization — whether  you include it in the definition or not, it should most certainly be included as part of your  implementation. Application virtualization products include Citrix XenApp streaming and Microsoft  App-V. Both products function in a similar way, instead of installing each application into the operating  system, embedding themselves into the file system and registry, the applications are presented  with a virtual file system and a virtual registry, unique to that application. Streamed applications  work in an isolation environment. This means that applications don't conflict with each other, and  they don't need to be installed in order to execute. Decoupling the application from the host operating  system means we greatly simplify the application management on our desktop. This modular  approach means that we can easily build out complex and unique guest environments from  commonly used building blocks.  
     Virtual Profiles is another component commonly used within the framework of desktop virtualization.  Virtual Profiles fits into the category of "complementary technology." Virtual Profiles is an  extension of the roaming profile concept. Roaming profiles is essentially the ability to centralize the  user settings on a file share, Virtual Profiles extends this capability to include files and registry keys  not traditionally included in the users settings. Virtual Profiles also includes sophisticated mechanisms  for managing user settings, including the ability to merge settings from multiple user sessions, and  to do intelligent conflict handling. Virtual Profiles provides a more robust solution for handling a  situation where users may have multiple access mechanisms to access their working environment.  
  
  COMPONENTS OF A CITRIX VDI SOLUTION  
  The Citrix approach to VDI is a layered, modular approach. This approach allows you to leverage  different technologies at each layer, when composing the overall solution (see Figure 1.2).  
     Starting at the server hardware level, the Citrix solution is hypervisor agnostic. The hypervisor  may be Citrix's XenServer, Microsoft's Hyper-V, or VMware's ESX/vSphere (see Figure 1.3).  
     Next, you make use of Citrix's provisioning server to mount a virtual disk into the VM — this  technology is the one most people are unfamiliar with — it allows you to use one virtual disk to  boot multiple VMs simultaneously, thus dramatically reducing storage requirements. The greatest  benefit is that you manage one desktop image for multiple users — you have guaranteed consistency  across the desktop pool, and updates and patches are applied to one common use instance. The provisioning  server acts as a "clever" file server, sharing a VHD format virtual disk, the workstations  mount the .vhd file as their hard disk (see Figure 1.4).  
     Virtual applications are then "delivered" into the user's desktop based on their user credentials.  These applications can be installed dynamically, and can integrate user-installed applications.  Virtual Profiles then inject the users' application and environment settings. The virtual desktop is  then delivered to the end point over a presentation layer protocol. High Definition User Experience  (HDX) includes the Citrix ICA protocol and the other technologies built around ICA to connect  peripherals and deliver content to the end point.  
  
  THE PROJECT-BASED APPROACH  
  This book has been structured in such a way that you could run a XenDesktop project by simply  following the chapters one by one. The "step-by-step" approach to the installation and configuration  sections is meant to give you, the implementer, the information and the visual cues of the dialog  boxes to successfully perform the implementation. We have tried to arrange the information — as far  as possible — in such a way that you can omit sections not relevant to your project. The scope  of every project is different, but we hope this gives you a basic framework from which you can  extrapolate your own project.  
     "User profiling" will normally precede a project of this nature. In almost every company, there  will be a mix of technologies used to cater to the different needs of different groups of users. This  book presumes that either "user profiling" has already been done, or that your proof of concept  environment will highlight the groups of users that it would benefit the business to move onto  virtual desktops.  
  
  
 Chapter Two 
  Installation of the Broker — Desktop  Delivery Controller  
  
  INFORMATION IN THIS CHAPTER  
   How the Desktop Delivery Controller Works  
   DDC Installation  
   Active Directory Integration  
  
  HOW THE DESKTOP DELIVERY CONTROLLER WORKS  
  The Desktop Delivery Controller (DDC) is the core technology used to couple the XenDesktop  components together. The DDC is effectively the traffic controller, directing the user to their  assigned desktop based on their user credentials (see Figure 2.1).  
     The XenDesktop technology has drawn from the Citrix XenApp technologies. In the context of  XenApp, the users are mapped to assigned applications, whereas in XenDesktop, they are mapped to  assigned Desktop Groups. The most notable difference is that the components being assigned are not  resident on the machines doing the brokering. The Citrix "Farm" mechanism remains largely the  same, but the portion being "presented" to the users — a Windows desktop operating system — had to  be rebuilt. The Virtual Desktop Agent components are designated as "PortICA" in some of the registry  settings. This is because the ICA (Independent Computing Architecture) protocol was "ported"  from Windows server to Windows desktop operating systems. It may be useful — for those familiar  with XenApp — to think of it in terms of the XenApp management components remain on the DDC,  but the ICA stack has been moved to a Windows XP, Windows Vista, or Windows 7 workstations.  
     Multiple virtual desktops are installed on a physical server; these virtual desktops have a Virtual  Desktop Agent installed on them. The Virtual Desktop Agent registers with the DDC.  
     Figures 2.2 and 2.3 illustrate how the components interact.  
  1. The Virtual Desktop Agent queries Active Directory for the DDC address.  
  2. The Virtual Desktop Agent then registers the virtual desktop as available for use.  
  3. The user requests a virtual desktop from the DDC.  
  4. The controller returns the connection information.  
  5. The virtual desktop launches to the user.  
  
     It is important to note that the DDC brokers the connection, but once the connection is  established, the communication is directly between the user's device and the virtual desktop. If the  DDC is rebooted, it would not affect the connected sessions.  
     A single DDC can broker literally thousands of virtual desktops. A recent whitepaper cites  scalability testing of three DDCs managing a farm of 6000 virtual desktops. (4vCPU 4GB RAM  per controller), two of the servers were configured to perform registrations, one to act as only a  farm master. Most environments will include at least two DDCs, providing load balancing and  failover.  
     The very simplest proof of concept can be conducted with two PCs — one configured with  a desktop operating system and the other configured with Windows Server 2003 and the DDC  software. This can be a quick and effective way of demonstrating the performance when connecting  to a remote workstation. The workstation could be a physical machine or a VM.  
  
  Prerequisites  
  Important Considerations  
  1. The user account performing the installation must be a local administrator on the server. If an     enterprise database is being used, it should also be db_owner of the database.  
  2. Only Windows Server 2003 is supported for the DDC. The version can be SP2 or R2, (System     Center Virtual Machine Manager [SCVMM] requires R2 for Hyper-V integration). Both x86     and 64-bit versions are supported. This will change with the next release, but not yet at the time     of writing.  
  3. Terminal Services in application mode must be installed — otherwise, you will be prompted for     the Windows 2003 CD during installation to add this component.  
     The DDC is based on the XenApp software, and this is a legacy link to XenApp.  
  4. IIS must be installed — otherwise, you will be prompted for the Windows 2003 CD during     installation to add this component.  
  5. Install NET 3.5 SP1 and all the latest Windows Updates.  
  6. Install JRE 1.5.0_15 — this can be found in the Support folder off the root of the XenDesktop     Media.  
     The Microsoft Updates to the .NET Framework have introduced significant scalability  improvements.  
     For Hyper-V only,  
  7. Install the SCVMM Administrator Console on the server before installing the Citrix DDC     software. If the SCVMM Administrator Console isn't installed, only the XenServer and     VMware hypervisors are available for integration.  
     SQL Express or an Access format database is sufficient for a proof of concept. A pilot or production  should make use of an Enterprise Database, which can be easily backed up and restored as  required.  
  8. Microsoft SQL 2000 or 2005, or Oracle 11 g Release 1 — Microsoft SQL 2005 is recommended.     Microsoft SQL 2008 was not officially supported at the time of writing — it does indeed work     with the backward compatibility pack, so I would be comfortable using it for a proof of concept     system, but not for a production system.  
  9. The installer user account must have db_owner rights to the SQL database. We recommend a     service account be used for this purpose in production environments.  
  
     Provisioning server requires Microsoft SQL 2005 or Microsoft SQL 2008 if you wish to use the  same database server; at the time of writing, we would recommend Microsoft SQL 2005. Check the  Citrix Web site for the latest support, the latest XenApp release is geared toward SQL 2008, and  XenDesktop support may well be included by the time this goes to press.  
  
  DDC INSTALLATION  
  To obtain the software, log in to www.mycitrix.com and select Downloads | XenDesktop.  
     The XDS_4_0_0_dvd.ISO file is more than 1 GB in size, so this is definitely something you  want to start downloading the day before your implementation.  
     If IIS is not installed, you will be prompted for the Windows Server 2003 disk and IIS will be  installed. By default, the Setup program will install Web Interface on every DDC.  
  
  DDC Installation — Step by Step  
  1. Mount the XenDesktop 4 DVD on your server.  
  2. The DVD should autorun, if it doesn't, click autorun.exe in the root of the DVD.  
  3. Click Install Server Components (see Figure 2.4).  
  4. Change the radio button to accept the license agreement, and click Next (see Figure 2.5).  
  (Continues...)  
  
     
 
 Excerpted from Citrix XenDesktop Implementation by Gareth R. James  Copyright © 2010   by Elsevier Inc..   Excerpted by permission of Syngress. All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.