The ‘Death of Desktop PC’ is talked about a lot these days and what has made this even more relevant is the ever increasing adoption of virtualization. The next time your CIO has to decide between going for desktop upgrades or shifting to virtualization or VDI in particular, the probability of his going for the latter is more. Here we look at the Citrix XenDesktop which is ranked just behind VMware in virtualization tech. After going through this article you should be able to easily setup your own VDI infrastructure without spending too much effort. But before we move to installation let’s focus on some salient features of XenDesktop. One feature that gives you a lot of flexibility is that XenDesktop can be used with other hypervisors like ESXi or Hyper-V. With support for HDX technology a user gets a real PC like multimedia experience without putting too much pressure on bandwidth. XenDesktop also boasts of FlexCast delivery technology which means you deliver virtual desktops and applications tailored to meet the diverse performance, security and flexibility requirements through a single solution. With these basic introductory features in mind let’s now start the implementation.
[image_library_tag 037/69037, border=”0″ align=”middle” hspace=”4″ vspace=”4″ ,default]
Components for VDI
To use XenDesktop as a VDI solution, there are certain essential components required. First you need a hypervisor that would run on top of a resource-rich base server where desktops for users would be created. To store data of these desktops that would grow proportionally with addition of new virtual machines, you need a storage server: NAS, SAN or the local storage of the base server. It is highly recommended to use local storage only for test environments as adding new storage capacity to it is tricky and it cannot grow beyond a limit. Also having everything on a single machine creates a single point of failure. Other major components include a controller machine on which VDI package would be installed and a domain controller for authentication of users. To remotely manage this VDI installation one would need a console machine that would run management software (XenCenter). Finally, you also need devices for end users from where they can access their virtual desktop.
[image_library_tag 038/69038, border=”0″ align=”middle” hspace=”4″ vspace=”4″ ,default]
To setup a sample VDI solution in our lab we used two machines. The first acted as the base server full of resources that would act as host for virtual machines and the second machine (we would call it console machine) was used to run management software for the base server. The configurations of these machines were as follows:
Base Server: 4 x Intel Xeon CPU E7-4870 @ 2.4 Ghz, 128 GB RAM, 120 GB HDD
Console machine: Windows 7 Ultimate, Intel Core 2 Duo 1.8 Ghz, 3 GB RAM, 100 GB HDD
Start with downloading XenDesktop package from following link www.citrix.xom\tryxendesktop. The package ‘XD5_5_Express.zip’ contains two ISOs: the first is the Xen hypervisor ‘XenServer-5.6.100-SP2-install-cd.iso’ and the other, the main VDI package ‘XenDesktop55.iso’.
[image_library_tag 039/69039, border=”0″ align=”middle” hspace=”4″ vspace=”4″ ,default]
We first started the installation of Xen Server: the Citrix hypervisor, on main server. This would act as the base server on which virtual machines or desktops for users would be created. One benefit of using XenDesktop as a VDI solution is that we can use the other two well known hypervisors with it, so if you have VMware’s ESXi or Microsoft’s Hyper V you use either of them. But before you make hypervisor decision the catch for using XenDesktop is that it lets you create 10 virtual machines for FREE!
Hypervisor: Xen Server
Xen Server installation is quite straight forward, just burn a disk with ‘XenServer-5.6.100-SP2-install-cd.iso’from downloaded package and then boot the base server from this disk. This would start installation of Xen hypervisor—the installation wizard would ask for basic configurations like IP address, NTP settings etc. You should select ‘thin provisioning’ of disk for better utilization of resources and setting up static IP addresses. Once the installation is over you would get an interface (this is exactly same as that of ESXi) from where you can further make changes to Xen Server. In this setup we used local storage, so it makes sense to add additional HDDs to Xen Server in case you are running low on storage and have realized it post installation. Once you have attached your drive to base server go to console and run the following commands:
# cat /proc/partitions
//This would list HDDs and partitions.
# ll /dev/disk/by-id
//This would list Disk IDs that would be needed later, and identify disk ID of the disk you have just added.
//Again this would give unique identification number of the host or Xen server.
# xe sr-create content-type=user device-config:device=/dev/disk/by-id/
We should now restrain ourselves from directly using the base server and would rather use console machine for making changes to the base server while creating virtual machines.
The console machine
This machine would be used for two things, first as a client to manage Xen Server and secondly as an ISO repository. Install Xen Center from XenServer-5.6.100-SP2-install-cd.iso on this machine. Now click on ‘Add a server’ from the home page. Enter IP address of the base server (192.168.5.80 in our setup) and root password (that was entered during installation of Xen Server).
For creating ISO store first create a folder and copy the operating system and ISOs and XenDesktop55.iso and share it. From the console machine start XenCenter and then select the server from the left. Click on ‘Storage>New Storage’ from the top menu. This would start a wizard. Here select ‘Windows File Sharing (CISF)’ and click next, and put the path of shared folder and add credentials if required.
The domain controller
This is optional if you already have domain controller in your network. Here, we created a virtual machine as domain controller. Select the Xen Server from Xen Center interface and right click on it. From the menu select ‘New VM…’, this would start New VM wizard select appropriate OS (Windows Server 2008 R2 in our case) and fill in other credentials like amount of RAM and number of CPUs plus HDD size and location. This installation wizard would also prompt for Installation Media, select appropriate ISO from the list. Once Windows Server is installed add role of Active Directory Domain Services and DNS services to it. For this installation, we created a domain named ‘pcquestxen.com’ and created appropriate roles. Other important steps to be carried out in this VM include assigning a static IP address and installing ‘XenServer tools’. Simply right click VM from Xen Center and select Install XenServer tools.
[image_library_tag 040/69040, border=”0″ align=”middle” hspace=”4″ vspace=”4″ ,default]
This is the virtual machine that would act as template for other desktops you would create for your users. In this sample setup we would be creating a master desktop running Windows XP SP-3 OS. Create a VM and install Windows XP on it. Now install XenServer tools, set IP address to DHCP, and then add this machine to ‘pcquestxen.com’ domain. Now attach XenDesktop55.iso to this machine; this can be done by selecting XenDesktop55.iso from drop down menu in ‘console’ tab from Xen Center interface. Inside VM select ‘Install Virtual Desktop Agent’ and then click ‘Quick Deploy’. Once this installation is over add software packages to the base image that your users need for normal office work, these packages can vary from basic Office suites to development packages like Visual Studio etc. Don’t forget to install all required updates along with security packages (antiviruses etc) and then finally turn off this machine.
Repeat steps for creation of VM and install Windows Server 2008 R2 in created VM. Add static IP address, install XenServer Tools, add to ‘pcquestxen.com’ domain, and install Flash Player on this machine that would act as XenDesktop controller. Now attach ‘XenDesktop55.iso’ to this machine and click on ‘Install XenDesktop’. Select all default settings and start installation. This process would take 10-15 minutes. Once installation is over it would start ‘Desktop Studio’. From the Studio interface, select ‘Quick Deploy’which in turn would start Quick Deploy wizard. The wizard would need a number of inputs from your end. First you would be prompted to give name of your ‘Site’, which is the single geographical location of XenDesktop deployment (‘pcqxen’ in our case). Next it would ask for the host type and name with root credentials. The host type in our case is ‘XenServer’ and address of the Xen server in our setup is ‘http://192.168.5.80’. In the master images page select the created Windows XP master image. Select the number of VMs to one and add domain user (created in domain controller) for this machine and finish the wizard. This would complete the deployment process. Once quick deploy is over you would have a new VM listed in Xen Center ready to access (‘XD-pcqxenOW1’).
Accessing the desktop
From a client machine visit the IP address of the XenDesktop controller (192.168.5.194) using browser. This would prompt you to install online plug-in which can be downloaded from: http://tinyurl.com/3cw7dwg. Once a login window is presented you just need to log in into your desktop and start using it. Being browser based you can access your desktop from devices like smartphones, tablets etc.