Data Centers

Introduction to virtualization: Abstraction is key

Virtualization technologies continue to mature and become more important in modern data centers. Rick Vanover explains one of the key concepts for beginners.

ngnabstract.png
In today's data center virtualization is a standard practice. That doesn't mean that every IT department has moved to a virtualization technology, but it is important to have a basic understanding of what it is and how it could possibly benefit your organization. If you haven’t started working with virtualization yet, this post and subsequent pieces in this series will help get you up to speed.

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.

A 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 A

hyperV_FigA.jpg
One 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 B 

abstracted_devices.FigB.jpg

That’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:

Figure C

VMwareESXi.FigC.jpg

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.



About

Rick Vanover is a software strategy specialist for Veeam Software, based in Columbus, Ohio. Rick has years of IT experience and focuses on virtualization, Windows-based server administration, and system hardware.

3 comments
DuaneTursi
DuaneTursi

Abstraction enables infinite flexibility, only limited by your creativity. I'm unsure if the hypervisor is or should be the center of the virtual universe, as I think about it, maybe your data should be. No matter what, they are both important...business care about the availability of their data and the performance and usability of their applications...with abstraction, new, highly available architectures become possible. We have an opportunity to architect the way you want; the way that makes the most sense for your environment, and not the way the system makes you do it.

b4real
b4real

Oh, good question Suchi.  I'll focus on that for one of the subsequent posts. Short answer: Like for like, Physical will always outperform.

suchisrababanerjee
suchisrababanerjee

First of all thanks for sharing the most relevant topic.

Abstraction is good but what about the speed?

Do we loose in terms of speed in hypervisors - both in specialized hardware version as well as with software engine?

Editor's Picks