VDI, ok ? What’s next ? 58 Comments

This blog is a follow up to the discussion we had in Vienna during the Geek Speak session at E2E event. I had to leave to catch my flight back to France but this discussion was very interesting and I though about it during all my travel time... I'm still on it writing this blog VDI, Desktops... Shared, remote, dedicated, pooled and/or virtual VDI gives the possibility to deliver desktops to everyone, everywhere. Let's say it, in most of the company, users still needs a desktop, a Microsoft desktop; why's that ? Just because they are used to access a Microsoft Windows desktop at home and during the last 20 years we didn't deliver application using another way. Desktop rules the application access, at least until 3/4 years ago when smart phone, tablet / iPad came to everyone's life and change Microsoft Desktop user's life by accessing directly an application. Everyone is getting used to access applications without going through a Microsoft Windows desktop and I think that will change a lot of things within 5 years regarding the way we deliver an environment to our users. Desktop vs Application Why are we accessing a desktop today ? Mainly to open application and being able to switch from a windows to another, copy and past between applications etc. Going from this statement, which I think everyone will agree, why do we need this layer (Microsoft Desktop) to access applications ? As I mentioned before, we have habits and we are used to open our application through a Microsoft Desktop, I remember tried to publish an Internet Explorer few years ago on thin client, on the Web Interface, only application were published, no desktop at all; we had to fall back and published a desktop again because user experience was different, users we used to click to switch between applications instead of using alt-tab key. The amount of memory we tried to save by not publishing a desktop was quiet a lot and as we had to give a desktop back, we had to calcul again all the memory consume per user for a desktop and add more servers according to our results. As you can notice in the graph above, the difference between a seamless published Excel 2010 and a desktop (XenApp 6.5 with Excel 2010) is double. As we needed to publish desktop instead of only using published application, we had…

I needed to monitor my Lab at home and check what I could do with Cacti to monitor Citrix XenServer, XenApp, XenDesktop, PVS, SQL etc... I chose to use a all in one distrib at first, CactiEZ (http://cactiez.cactiusers.org) but I ran out of possibilities very fast and CactiEZ is still based on a CentOS 4 version... If you don't care about the CentOS version, you do thing a lot more easy by using this distrib. I chose to use CentOS 5 (http://www.centos.org) for some other reasons but mostly because this OS is supported by XenServer. When you chose to start with a clean OS installation you need to know what you want to install, because either you install everything, including what you don't need, either you install almost nothing and install only what you'll need. I tried to make a clean work and chose to start with a clean installation, the lightest possible and install only what I would need. Minimal installation type, I just posted screenshots to let some of you follow the same step, I don't have any specific advanced knowledge on Linux stuff : Then once rebooted, you need to check your network configuration and make necessary change to make it work on your LAN. Before going with Cacti installation process, I wanted to have my CentOS distrib up to date, so I ran the following command : yum update Cacti will use SNMP so this is the command you need to run to install and enable SNMP : yum install net-smtp Cacti needs a database, I chose MySQL because this a the one I know the more and it's very easy to setup : yum install mysql yum install mysql-server Then to install Cacti using a yum command, you need to create a new file named dag.repo in the following directory : vi /etc/yum.repos.d/dag.repo past save this file and run : yum install cacti To be able to access Cacti web setup pages, you need to allow web access : vi /etc/httpd/conf.d/cacti.conf remove the line "deny from all" Now you need to start the MySQL service and apache web service and make those two services start automatically at you server boot. service mysql start service httpd start chkconfig --level 345 httpd on chkconfig --level 345 mysqld on To configure MySQL for Cacti ,you need to setup the access and create the database and user : Next…

Today I needed to enable SNMP on my XenServer lab at home, I was looking for an efficient way to monitor my XenServer. I found a Linux distribution very handy for a Cacti box, EZCacti, you can download it here : http://cactiez.cactiusers.org/download/ So to enable SNMP on XenServer 6, you need to follow the following guide. Please keep in memory you shouldn't do that on your XenServer in a production environment, Citrix won't be able to bring support if you modify the dom0. First step, you need to allow SMTP to be able to collect and allow Cacti to get information from SNMP on the port 161/UDP : Edit the file /etc/sysconfig/iptables with vi and add the following line : and then restart the iptables service using the following command line : service iptables restart Now you need to configure your SNMP settings (community etc...) by editing the following file with vi : /etc/snmp/snmpd.conf Make the change on your smtpd.conf file on the two line (in red) you can find in the example above, of course you'll need to change the IP range to match your network subnet. Now you need to start the SNMP service using the following command line : service snmpd start Finally, to enable the automatic start of the SNMP service at your XenServer startup, type : chkconfig snmpd on Now I can begin to work on Cacti and try to monitor the host and the VMs (Next blog to come)

VDI is overrated! This is what I thought during several sessions at Citrix Synergy event last week in San Francisco. Of course the desktop, Microsoft Windows most of the time, is very important for companies but I think the battle around VDI (Virtual Desktop Infrastructure) takes place at the marketing level... Addressing desktop virtualization is one option in the desktop management options. We (architects) need to be able to bring desktop virtualization to the companies who want to deliver virtual desktops, for specific cases most of the time. We will continue to deliver "classic" desktops (you know the "fat" one) because companies simply won't go for 100% VDI as they won't be needing it... Yet... Using VDI (Citrix XenDesktop, vmware View etc..) is part of the well known Flexcast model from Citrix. I like this marketing term because my customers understand that we will design an architecture which is able to deliver all types of desktops (except the "fat" ones in the traditional way). Using VDI among the other technologies is fine. Sometimes I need to address a situation where a specific group of user need to access a full dedicated private environment (resources), and here is one question : Why the user needs a desktop ? This is a question I keep asking to myself for some time now... As a CTO in my company (Activlan) I need to understand which path VDI is taking and digest the information to share it with our consultants and engineers by asking them : Users, you and me, why do we use a desktop ? We use a desktop to access our applications, that's why ! When you access your application with a web browser, you don't need to have a desktop, right ? When you're using your Android phone, your iPhone or your iPad, you don't want to access a desktop, you just want to access your applications, don't you ? I'm not a Google  fan but I think they are visionary with their ChromeBooks. This is just a web browser, without any underlying operating system, working with wifi and 3g/4g booting in 8 seconds and without a hard drive...  I think the real battle is more on the endpoint side than in the VDI product you choose to deliver a desktop you might not need... If you have a ChromeBook, I don't think you want to access a Microsoft Windows…

The goal of the following blog is to have a cheap backup system for my XenServer @ Home. Remember snapshots are not backup and it's not recommended to backup you VMs the way I will describe it in a production environment. You can find a Citrix KB to add local storage here : http://support.citrix.com/article/CTX121313   The idea is to install a new hard drive in my XenServer @ Home, configure it and host an OpenFiler VM to share a NFS volume. As the NFS volume will be shared, I want to use it as a backup share to archive all my VMs snapshots with the VM Protection Policies option in Citrix XenServer 5.6 FP1. This option (VM Protection Policies) is available only with the platinum XenServer license. So I plugged the new hard drive and plug it in my XenServer @ Home and switch on the box, then to enable and activate the drive, I needed first to check XenServer was able to see the new hard drive, i used the fdisk -l command : My new hard drive is here, I can notice the /dev/sdb which is empty. Then I needed to create a physical volume by using the pvcreate /dev/sdb command line : Now the physical volume created I can create a logical volume by using the xe sr-create command line. Before I need to identify the ID of the new volume created with the xe pbd-list command :   I can see my new volume, the path and its name, /dev/disk/by-id/scsi-SATA_ST31000340NS_9QJ2EXS0, the first one in the previous list. Now I can create the logical volume to make it ready to execute my backup plan idea, I use the xe sr-create command line. You need to use the command bellow but don't forget to use your device ID, not mine, it won't work :) xe sr-create type=lvm content-type=user device-config:device=/dev/disk/by-id/YOURDEVICENAME name-label=MY_NEW_VOLUME_NAME and you should be just fine. The installation of the new drive is done and now we can download the OpenFiler appliance for XenServer here : http://www.openfiler.com/community/download/. Once downloaded, import the VM into XenServer and start it. To import the Openfiler XenServer appliance you can follow the instruction or you can skip this small part if you know how to proceed. Uncompress the archive you downloaded and in the Citrix XenCenter console do as follow : That's it, now you just need to wait a bit for the…

WP-XenServerStats - Wordpress Plugin for XenServer 1/2 WP-XenServerStats - Wordpress Plugin for XenServer 2/2 In the first part of this blog, I made a list about what I wanted to do, how to get the data and how to transport it from my XenServer (home) to my Web Host (Datacenter). Now I'll explain how I create one Wordpress plug-in (my first one) to show everything : It looks good, and even if it's really low level on the dev side in PHP and scripting, it works well. In Wordpress, there is this sidebar, on the right, if you want to add something you can chose to do it as widget, it's clean and not hard coded in the main Wordpress code, then you can easily keep this plug-in and keep it working without changing anything from a theme to another. I created a file named : wp-xenserverstats.php in a new directory : http://www.domainname.com/wp-content/plugins/wp-xenserverstats/wp-xenserverstats.php this is the main plug-in file and as you can read bellow, this is very very basic. So as you see, there is still some hard coded path... I try to get rid of that this week, and if someone can give me the tip, it will save me some time... I think you have everything to try to make it work on your side with some change. Of course if you want the information refresh automatically on your blog you need to setup a cron, I chose hourly for me, to run the script describe in the first part of this blog. You can download a zip file containing the plug-in directory with the bash script to gather all the data on your XenServer here : For some of you more skilled than me, maybe you would like to help, you can send me your modification or post comment here, I'll modify the blog entries or create a new blog if needed :) Here is the list about things I want to do to make this plugin easy to setup and use : Export all data in MySQL instead of files Use path variable for everything Adding more information : XenServer host version, Disk usage, Network usage, Memory usage Adding a graphic performance for the host and for each VMs I hope some of you will test that out and share the www their XenServer stats !

WP-XenServerStats - Wordpress Plugin for XenServer 1/2 WP-XenServerStats - Wordpress Plugin for XenServer 2/2 I got this idea when I saw Nick (Show And Tell : First vSphere Plugin for WordPress!) doing something I wanted to do for Citrix XenServer. Then before trying to do myself (I'm a very bad dev....) I've try to find someone who did it better than I would ever do... And no one did it(yet)... So here I am trying to make something nice and learning again something new (php / mysql / function etc...) just to show off my XenServer @ Home hypervisor stats. I got everything working, but I'm sure someone, better dev than me would make a really cleaner and efficient job. I've study Citrix XenServer 5.6 FP1 SDK documentation / references and this is hard (for me) to try to find a good way to handle and find values I'm looking for. So my first step was to list everything I wanted to see on my widget bar (the bar on the right on this blog) Here is the list : Show Hostname Show Number of CPU Show Memory amount Show Number of VMs Show Number of VMs On Show Number of VMs Off Show Number of VMs Paused Show Last data refresh update time Automatic information refresh every hour Storing these data in my MySQL database At first I needed to find a mechanism to get all those data the simplest way possible. As I told you, I'm not very comfortable yet with MySQL stuffs, so I'll do it the old way because there is really not much data and I think this is a good start. To get the amount of VMs running on my host it came very quicky a simple way to get it : And then using the same way, it was be very easy to get the Powered, Halted and Suspended ones : As you might have understand I'm listing VM with their status and I'm using the grep -c option to count the number of line in the result. Why I'm doing it that way ? Because I already know how to read a value from a text file in php and I won't burst my mind yet to try something else. If I'm able to transport this information from my XenServer to my Web Host, I'll be able to display it. I'm still…

The issue I describe in this blog are related to my XenServer, my lab at home, be very careful with the modification I explain if you plan to make this change in your own environment... As always, do it on a test environment before please ! Since last week and my XenServer @ home crash, I chose to install the latest XenServer version, 5.6 FP1 (more info here) to try out some new features like Intellicache / open vSwitch / VM Protection and Recovery and the self service portal. The installation was as smooth as usual, just one question more than the previous version about the installation of Intellicache. I've been able to reinstall all my VMs, configure everything and check all these new features. The only issue was my file system was running out of space very very very quickly... I didn't understand why at first because I'm not that skilled with XenServer with command line stuff but I needed to find out what was happening. The first place to check when something wrong is going on, are the log files, you can find XenServer logs files here : /var/log , and the size of my log files were huge ! in less than 24hour I had 3 rotations of log on kern.log and messages log files... To buy me some time and allow me to continue to connect to the XenServer with XenCenter, I made some change in the rotation log configuration file /etc/logrotate.conf : I made the following change, rotate value was 20 I changed it to 5, I activated the compression of log file archives. It did give me some more time to work on this weird issue but not enough, in less than 12 hours my file system was full again... XenCenter wasn't able to connect and the xsconsole command line wasn't working as well. The only way to recover the interface was to kill the xapi process and restart it by using : xe-toolstack-restart command line (I needed to free as much space as possible before). Then I've been able to use XenCenter and xsconsole. I got the message bellow after all these troubleshooting stuffs but still no clue why my log files were becoming so big so quickly... Of course I looked the log file and I saw : Ok... I didn't catch everything, I knew it was something about network but I…

If you choose the easy way with the rpm file, it wont work. You have to change few things before being able to launch any Citrix XenApp application get the client from citrix get openmotif from http://www.motifzone.net/filebrowser/openmotif/2.3/2.3.1 (at least version 2.3.1, there is a package for fedora 9 but it installs fine in 12) disable the cjkuni fonts (why?) # cd cd /usr/share/fonts/ # mv cjkuni/fonts.dir cjkuni/fonts.dir.disabled # mv cjkuni/fonts.scale cjkuni/fonts.scale.disabled Now the ctirix client starts as it should.