Hypervisor Software
“A hypervisor or virtual machine monitor (VMM) is a piece of computer software, firmware or hardware that creates and runs virtual machines.” ~ “Hypervisor” on Wikipedia
Now that you have capable hardware, the next step is selecting your hypervisor software. Until recently, this has been a pretty thin market with only a couple of very targeted options. Now, with the introduction of mobile devices, the popularity spike in Mac and Linux machines, and variation in OS versions, a number of new players are hitting the scene. Selecting hypervisor software is a good idea before selecting the host OS because, as you’ll see, some of the options have restrictions. For the purposes of this post, I’ll be focusing one the two I’ve used extensively: Oracle VirtualBox and Microsoft Hyper-V
Oracle VirtualBox
The most consumer accessible, well known, and free software is Oracle VirtualBox. The software works on nearly any host OS, will run nearly any guest OS and virtualizes a surprising array of hardware with ease. The interface is relatively simple and keeps the basic options accessible and the advanced options out of the way unless you need them. VirtualBox only works in interactive mode and has no headless server options.
Microsoft Hyper-V
Microsoft’s Hyper-V is a worthy competitor to VirtualBox, but it is far more restrictive. Hyper-V requires a host OS of Windows 8 Professional or greater or Windows Server 2012 or greater. The Remote Server Administration Tools (RSAT) required for the management of Hyper-V servers must be run from an equal or newer OS. If you don’t have Windows 8, don’t want Windows 8 and/or don’t have access to a valid MSDN subscription, this is probably not the solution for you. Guest OS options are also more restrictive, only supporting a few Linux Distros and no supported mobile platforms. That said, I’m currently running several Ubuntu servers on Hyper-V 2012 without issue, even though Ubuntu is not officially supported. The management console has many of the same options as the competition, yet it’s a little less user friendly.
Microsoft Hyper-V Headless
The advantage with Hyper-V is that it can run in “headless” mode. This means the server has a minimal host OS that is set up for the sole purpose to run Hyper-V. All interaction with the machine is CLI (powershell) or remote with RSAT. If you’re comfortable with command line and powershell most management be done from the server console, but it can be rather frustrating doing more than the basics. To manage this type of machine efficiently, you’ll still want a Windows 8+ machine with RSAT on the same network. I’ve actually set up a Windows 8 virtual machine on my Hyper-V for the sole purpose of managing my Hyper-v. Even typing that I realize how silly and excessive that seems… but that’s Microsoft. An open source alternative to Hyper-V headless is XenServer, but my Linux chops aren’t quite up to the setup and maintenance challenge…. yet.