Hypervisor
In the previous article, I wrote about the hardware, now it is time to introduce the hypervisor.
This lab is hosted on Citrix XenServer, for free. Over the years, I tried many different hypervisor (exotic ones like Bochs or Virtuozzo), VMWare Workstation and Virtual Box, Virtual PC, Hyper-V and actually different flavours of Xen (does anybody still remember XenClient?). KVM somehow never made it to my labs, and I possibly forgot to list some others as well.
So why did I stick with XenServer?
- It is free of charge. Just download it from www.XenServer.com, build your boot media and install it somewhere - XenServer has a hardware compatibility list, but will work on most hardware that I came across, including the occasional laptop computer (silent, portable and bringing their own keyboard and screen for local administration).
- It can form a cluster (called "pool") of up to three machines, including HA, and the option to move VMs from one host to another.
- Local storage is supported, as well as remote storage ranging from simple NFS shares to iSCSI and FC / FCoE SANs.
- It can do snapshots, chains and trees, consolidation in the background, create new VMs from snapshots etc.
- ISOs can be hosted on local or remote storage
- XenServer supports the usual variants of networks - I usually have a private network which is available just on the host(s), an internet-enabled external network and a DMZ for hosting any VM that needs to be accessible from the internet, like this web server or a mail server. All three networks are separated and access is governed by a firewall which also performs as a router. I currently use IPFire for this job.
- It can fully be administrated using a native Windows application, any SSH connection with the CLI and also using PowerShell commands, which is great for automation. I employ some scripts to mass-snapshot VMs and roll them back to their snapshots after I finished testing and breaking some stuff.
- Also, for migrating to different hardware or locations or just for a backup, XenServer can store all VMs and their metadata on a single storage repository and can quickly import / reattach them on a new / changed host, preserving all snapshots, networks etc. - really useful for more flexibility or to quickly ramp up a new lab with a precreated / conserved one.
- Lastly, XenServer can directly integrate with other Citrix products like the Machine Creation Service from Citrix Virtual Apps and Desktops or Citrix Provisioning Server.