Virtualizing for hardware independence with good disk performance

virtualization

This is a hard question to ask as I know very little about this topic. Please bear with me.

From my perspective, supporting a relatively small number of machines, the notion of virtualization has one intriguing benefit: hardware independence. Perhaps that's not the right way of saying it, but I really like the idea of being able to take an entire machine and move it to any adequate piece of hardware.

I know this is possible, of course, but things seem to get tricky when it comes to virtual disks and performance. If you're using pass through to disk then your virtual machine is still bound to a certain piece of hardware.

Are there technologies today that allow a person to easily package up a machine and its disks and move them to different hardware in such a way that I/O performance isn't greatly impacted? As easy as copying a virtual disk image to a new machine? Is this possible with free solutions from vmware, Microsoft, and the like?

(When I speak of performance, I'm not talking about anything big time… just standard small to medium business solutions: ERP, mail, etc)

Best Answer

I don't think you're asking about live migration features like VMotion. I think you're just asking:

How to I do things like expose raw block devices / LUNs to my VMs ("IO pass through"), which I've heard gives better performance than using virtual disk files inside filesystems managed by the hypervisor w/o giving up the hardware-independent nature of my VMs?

You've identified a tradeoff scenario. Removing layers of abstraction can make things run faster, but you're giving up the benefits of the abstraction in doing so. If you find that you need to expose raw block device to your VMs for performance reasons, then either plan on being "tied to" those block devices, or use something like SAN-level replication to gain some device independence on a lower level (possibly with its own set of performance tradeoffs).

Personally, I'd try and stay in the comfortable world of virtual disks as much as possible. The abstraction offers significant benefit.