XenServer

Creating Virtual Machines (VMs) is a great way to easily deploy software for testing and production purposes. For many of my projects, especially those requiring a HTTP backend, I create a VM to host said solution.

Azure is a great way to host in the cloud, but it can get quite expensive – especially if one needs a lot of VM’s for testing purposes. In addition, transferring stuff to and from the cloud requires a beefy internet connection when dealing with BigData related entities.

Recently I experimented with setting up my own HyperVisor using cheap hardware, specifically: a Intel celeron J1900 quad core with a small 128GB SSD and 8GB of ram, to host some of my VMs.

Installing VMWares VSphere Hypervisor (ESXi) was my initial thought, but I could not get the install process all the way through. Apparently, ESXi only supports a limited number of hardware configurations. Luckily, an OpenSource alternative exists call XenServer.

XenServer is, more or less, a Linux powered hyper-visor. Installing is a breeze, simply get the ISO from XenServer.org, flash an USB with the image and bootup a x64 with the virtualization technology enabled. After a few minutes of installing, XenServer is up and running and can be connected to from another PC using XenCenter management tool.

XenCenter allows one to create VMs, configure NFS, remote control a VM, take snapshots of a VM, and so on. XenCenter also allows one to create Pools of one or more XenServers (clustering=. The latter is especially awesome since it allows one to setup a centralized NFS for the virtuals disks and then deploy the VMs between the available XenServers.

I have not yet created a pool with more than one XenServer, but I want to install three of the above mentioned hardware and designate one as master and the other two as slaves. This would allow me to virtualize across three nodes, with a total of 12 CPU cores, 384 GB fast SSD and 24GB ram.

Stay tuned for the latter when I get more hardware to add to my pool.

Virtualization using vCenter

I recently decided that one of my PC’s required a re-format and re-install (going from Win7 to Win10). A total reformat and install obviously requires that all my applications needs to be installed afterwards, this can take several hours. In addition my files, etc. needed to be backed up.

This time however I have decided to virtualize my current setup prior to doing the wipe and install. VMware provides a free tool called VMware vCenter which can virtualize a running Windows installation, i.e. create an image.

This even works without having to re-boot the system and the image can be stored on the same volume which one is trying to clone.

A minor issue I found during the cloneprocess was that I was unable to clone my Fat32 partion. The reason being that shadow copying (which is utilized by vCenter), does not support the Fat32 file system.

A huge issue I found after the clone process was that I was unable to login to the instance due to the VMware not accepting CTRL+ALT+DEL, CTRL+ALT+INS or using the virtual keyboard.

The reason being that my keyboard device driver was messed up in the clone, meaning that I actually had no virtualized keyboard device accepting keystrokes. Mouse was working however.

To fix this, I removed the CTRL+ALT+DEL security requirement and redid the clone. Keyboard was still not working, but I was able to login using the virtual keyboard.

Afterwards, I followed this Guide to get my keyboard up and running again. In my case, the values of the registry was different due to different hardware, but removing all lines except for kbdclass did the trick.

Note that Windows might complain about activation issues due to the big change in hardware.