Updated: August 15, 2012
I think you will find this article extremely unusual and yet fun. First of all, I did write about the Citrix XenServer in the past, namely how to install and configure it. All in all, the operation was a no-brainer, especially since XenServer is a basis for the free XCP, which comes with similar capabilities. However, I did not linger much beyond the initial setup.
Today, I will show you how to install XenServer one more time, on a laptop no less, being fully aware that laptops are not exactly meant to be the typical hardware for bare-metal hypervisors. Moreover, I will show you how you can manage the server from the command line using SSH as well as XenCenter, a GUI much like VMware vSphere. I will also show you how to manage ISO repositories, and we will even add a CIFS share. All of this on a box with SSD, VT and even VT-d, so it's going to be really awesome. Plus, there's another tutorial coming soon, so stay tuned. Now, follow me.
My victim for the installation is my brand-newish T400 laptop, which comes with a handsome array of goodies. In the desktop world, it's a respectable machine, but it's a joke for anything serious. Without at least 8 physical cores and some 72GB RAM, we shouldn't be talking at all. However, it has some muscle, including SSD for local storage and the full array of virtualization extensions. Before using the machine for distro testing, I decided to give it a spin with XenServer.
The installation was identical to my previous attempt, so I will not bore you with any useless details. No screenshots either, as I did not bother redoing the installation cycle in another virtualization product, so I could demonstrate the different steps. All in all, it was a quick and painless procedure.
The interesting bits include XenServer/laptop interaction. First, XenServer comes with RedHat 5.1, so it's a relatively old release, but just as capable as any other. It had no problem detecting the SSD. Furthermore, when running in the battery mode, it would also automatically dim the display, and all the function buttons worked. But there was no Wireless connectivity, nor should there be one, as no one sane would ever manage their virtualization products without a wired network connection.
Now, to manage XenServer, you can try all kinds of things. First, there's the physical console itself on the box, which will show in a blue ncurses menu. You can also drop to local shell and run things there. You can SSH into the box from another machine and work on the command line or even fire the red-colored ncurses menu.
Or you can try XenCenter. The download for this utility is available if you access the XenServer via HTTP in a browser. Unfortunately, the installer is only available for Windows, but this kind of stands to logic, as you would expect Windows users to be more oriented toward GUI work.
The installation is fairly trivial. And soon you will be running a simple GUI that is quite self-evident and explanatory in what it can do. If you've worked with other solutions, you will know your way around defining storage pools, virtual machines, etc.
Your first step is to add a server and connect to it using name or IP address.
Now, let's install a machine.
Install and configure virtual machine
Well, I wanted to see how flexible and useful and intuitive this GUI manager is, so I decided to create a virtual machine. This also means adding some sort of ISO repository, as I didn't want to have to boot from physical DVD media. XenServer supports multiple types of storage repositories (SR), but not local ones. This stands to logic, but we will talk about this separately, i.e. how to configure local storage repositories on the server.
Configure storage repository
I went for a CIFS share, meaning a Windows box. It worked smoothly and without any problems. I just had to provide the server name and share and connect with the correct user and password.
Next, I tried to create a virtual machine. Again, it's a no brainer. Click, click, next, next, utterly simple. You can also use templates, although XenCenter offers those for somewhat older releases of operating systems. For example, Lucid was there, but not Pangolin, which stands to logic, as businesses are much slower to adopt new things.
I did try to use the Lucid template first, but then it would not let me use the 12.04 image, so I had to redo this step and choose a custom template.
Then, there's the storage configuration. Pay attention, as you might find this step a little confusing. It will first ask you which server you want to use, and it will show your own hypervisor. But you might find the free space figure shown somewhat alarming. The reason is, that free space is reserved for the server's logging functionality and similar, which most of the disk capacity is taken by LVM, which is not shown there. This only becomes apparent after you get to the the Storage step, where you define virtual disks for your machine. It will be stored locally, although you can use other storage repositories. Somewhat tricky overall.
You can tweak your configuration a little, but essentially that's all. After this step is complete, the virtual machine will be auto-started. You can then switch to the console view and check the progress.
And while you're using the virtual machine, you can do all the usual things you're familiar with from every other virtualization product - snapshots and screenshots, dock/undock the console window, send signals, check client state and resource usage, and all that. And you can also install XenServer Tools to improve client performance.
Other interesting things
XenServer comes with some rather useful options. First, it will display system alerts on critical issues, like software updates. It will also warn you about the server certificate changing, especially after an upgrade or a reinstall.
XenServer also allows the use of plugins, which can enhance the functionality of your machine. And there's more. In fact, the XenCenter GUI is extremely rich and can be somewhat daunting on first use. You will have to go carefully through all the available options until you figure out the hidden gems and secrets and find the things you might need for your operational deployment.
For more reading, please take a look below:
My second encounter with XenServer was much more pleasant and successful than the first one, even though the first one worked just as fine. XenServer seems like a very potent product, the only problem is price and support. Does it justify all that it can offer in return for some money investment, while you fully well know that all of the functionality is available from the raw Xen command line, it just takes practice and skill?
I cannot answer that, as XenServer is designed for businesses and not home users. All in all, it looks professional and capable, and XenCenter adds that enterprise flair that makes admins used to work with GUI only warm up to the charms of Xen. I do lament the Windows only functionality, however with full and unrestricted SSH, all is well.
That would be all. Next time, we will do some local storage repo hacks.