A Portable Hypervisor: Part One

A pocket-sized hypervisor is the stuff of dreams and sometimes dreams do come true.

There’s nothing you can dream that can’t be done. No, those aren’t Beatle’s lyrics but rather my epiphany that’s in the same meter as their “All You Need is Love.” Recently, while pondering the future of virtualization and having some pizza; I came up with the idea of a portable hypervisor. My first thought was to have the hypervisor reside on a CD or DVD, but after more pizza, a better idea came to me: A USB-based portable hypervisor. That’s right, a pocket-sized hypervisor; small, portable and hardware-independent.

So, what’s so epiphanic about installing an operating system on a USB drive? Possibly, that no one does it commercially. Hypervisors install onto spinning disks. They run locally. End of story. Often, they’re coupled with an operating system that’s designated as a primary virtual machine or Domain0. What if you could separate the hypervisor’s subsystem from the virtual machine’s subsystem? You’d have a very special, high-performance hypervisor.

Pocket-sized Practicality

Even if it could be done, is a USB-based hypervisor practical? Yes, with the new USB 3.0 aka SuperSpeed USB, it is. While I don’t believe that the purported 4.8Gbps speeds will be attained, I think it is possible that transfer rates in the range of 1Gbps are possible. USB 3.0 also supports full-duplexed data transfers, has new power management features and supports higher-powered devices.

USB 2.0 data transfers rates are sluggish (~200-300Mbps), which is not fast enough for maintaining multiple virtual machines in keeping up with performance monitoring and other hypervisor tasks. Fortunately, Linux is the first operating system to support USB 3.0 and since most hypervisors are based on Linux—transitioning to USB-based hypervisors will be a natural and easy progression.

Hardware Independence

With a USB-based hypervisor in your hands, you now have the ability to turn any capable system into a virtual machine host. No installation required. That’s exciting news because your system now becomes a substrate or storage bin for virtual machines. You’ll be able to use fast internal disks for awesome virtual machine performance and it’s still possible to use NAS, SAN, iSCSI and NFS in this scenario for your virtual machines. A USB-based hypervisor turns virtualization into true plug and play technology.

Separate Subsystems

By separating the hypervisor from the disk subsystem, both the hypervisor and virtual machines will experience better performance. The performance boost will be most noticeable on internal disk-bound virtual machines. Virtual machine performance is the highest-order concern among those contemplating the switch from physical machines to virtual ones. A portable hypervisor would also allow would-be adopters to road test a vendor’s solution without installation or disturbing currently setup virtual machines. Plug in the USB drive, boot the system, import existing virtual machines into the hypervisor and you’re up and running.

You could achieve even better performance, but no portability, by using chip-based hypervisor technology but I’ll leave that discussion for a future post.

Easy to use, easy to adopt and easy to maintain are the big three requirements for any new technology. I don’t expect everyone who reads this post will attempt to install his favorite hypervisor onto a USB drive but for you vendors, I’d get to work on it. A USB-based hypervisor that requires no installation, is hardware independent (Intel or AMD) and is virtual machine agnostic; now that’s a product for the masses.

Join me next week for Part Two in this series, when I attempt to install a hypervisor to a USB drive, when the dream becomes reality. I think I’m gonna need more pizza.

* A system must meet the minimum requirements for a hypervisor: 64-bit CPUs with virtualization extensions, adequate memory, disk space and USB ports.

Fatal error: Call to undefined function aa_author_bios() in /opt/apache/dms/b2b/linux-mag.com/site/www/htdocs/wp-content/themes/linuxmag/single.php on line 62