Tuesday, May 26, 2015

Choosing a hypervisor

As I discussed in my previous post there is a wealth of information out around the web on virtualisation, and when I started researching hypervisors it was no different. In fact the more I looked the more indecisive I found myself being. However I recalled my first post on this topic and the article I had mentioned reading about setting up gaming machines and utilising what is known as PCI pass-through. I quickly learned that this doesn't work well with Nvidia graphics cards and this turned out to be deciding factor for me in the end.


What is PCI pass-through and why does it matter?

If you have ever tried playing a game on a virtual machine you would quickly realise that this is not a viable solution at all for a gaming desktop. This is because normally the GPU is emulated and a resource manager carves up the resources and passes them to the individual machines. This is where PCI pass-through comes into play - Rather than sharing the resources of the GPU among the multiple machines, you can instead assign the whole card to the machine so it has independent ownership of it. There is no software layer in between the GPU and the VM managing resources so this allows for near native performance. In theory you should not even know that you are using a VM!

Many months ago I decided to get two GTX 970's for my gaming desktop rather than opting for an AMD alternative. I am living to regret that decision somewhat as I am now learning that Nvidia does not allow their consumer grade GPU's to utilise this passthrough technology. For this privilege you need to upgrade to their Quadro series which from what I can tell offer no other benefits other than allowing passthrough. Did I mention they're also much more expensive and far inferior when compared to their GTX counterparts? Nice one Nvidia! Since I don't plan on replacing my GPUs any time soon so this has more or less ruled out ESXi for me but I learned that it is possible (with a lot of effort) to implement this on a Linux based hypervisor such as KVM / Proxmox. 


And the winner is..

I narrowed my choices down to KVM and Proxmox (Which is based on KVM) as the only two viable options. In the end I decided I would proceed with Proxmox for the simple reason that it has built-in web GUI for management and it has the option of either a type 1 or 2 hypervisor. This leaves me with plenty of flexibility and simple management.

No comments:

Post a Comment