Virtualization technologies continue to mature and become more important in modern data centers. Rick Vanover explains one of the key concepts for beginners.
A good starting point for understanding virtualization is, simply put, abstraction. Virtualization exists in many forms: as hypervisors, virtual networks, virtual storage engines, virtualized applications, and more. Let’s start with the hypervisor, which is arguably the most common type of virtualization practiced today.
hypervisor will abstract physical resources from systems running on top of it. That
step, right there, means a couple of things. For one, physical resources (CPU, memory,
disk and network) are shared, and there can be multiple systems on a single
piece of hardware.
For two of the latest advances in virtualization technology -- VMware's software-defined data center and Microsoft’s Cloud OS -- the underlying core is the hypervisor. VMware ESXi and Microsoft Hyper-V are the two most popular Type 1 hypervisors in use today. Additional Type 1 hypervisors include KVM, XenServer, and RHEV. There also are Type 2 hypervisors, which sit as a software engine within an operating system installed on a computer. This includes hypervisors like VMwareWorkstation, VMwarePlayer Plus, VirtualBox, and others.
In each separation, the devices presented to the virtual machines are abstracted by the hypervisor. There are situations where devices can be “passed-through” natively to the guest. This is frequently used for storage devices (LUNs, drives), I/O controllers (Fibre Channel HBAs), USB devices, and more.
Let’s take a look at one example running Hyper-V. In Figure A below, you’ll see a look into a server running Hyper-V. This server is a Lenovo ThinkServer running Windows Server 2012 with Hyper-V (added as a role to the server). On the left is the Hyper-V Manager showing the VMs, and on the right is the device manager view of the host showing the physical hardware.
Figure AOne of the virtual machines, VME-RRAS, runs Windows Server 2012 as well. It’s important to note that virtual machines running on a hypervisor don’t need to run the same operating system, so that’s great if you need to test newer and/or older operating systems. Inside of the VME-RRAS virtual machine, Figure B shows how the items in the device manager look totally different as it uses abstracted devices:
Figure BThat’s how a guest VM looks when it is a Hyper-V VM, but if that same operating system were running on VMware ESXi, the devices will appear differently. Figure C shows the same device manager categories on a VMware ESXi virtual machine:
Categorically, each hypervisor applies a number of different technologies to present the devices to the virtual machine. VMware’s vmxnet3 virtual network interface, Hyper-V’s virtual Fibre Channel, and VMware’s configurable video memory are all applied differently but affect the abstraction applied to the VM.
Abstraction is the starting point of all hypervisor virtualization, and from there many features can start. Once you have this under your belt; the next steps of virtualization will come naturally. What low-level questions do you have on virtualization? Share your comments below to help me steer the content for subsequent posts in the series.