Basics of Virtualization - Part B

Published: General
In earlier post I talked about what is virtualization. In this post I am going to talk about types of Virtualization and their difference.

Virtualization Areas:

Nowadays virtualization is applicable to everything. As mentioned in the earlier post:
Even something as simple as partitioning a hard drive is considered virtualization because you take one drive and partition it to create two separate hard drives. Devices, applications and human users are able to interact with the virtual resource as if it were a real single logical resource.
So, according to the broad areas we can divide the areas as following:
  • Storage Virtualization: the amalgamation of multiple network storage devices into what appears to be a single storage unit.
  • Server Virtualization: the partitioning of a physical server into smaller virtual servers.
  • Operating system-level virtualization: a type of server virtualization technology which works at the operating system (kernel) layer.
  • Network Virtualization: using network resources through a logical segmentation of a single physical network.
  • Application Virtualization : Virtualization at the application level.
In this post we will talk more about Server and Operating System level virtualization.

Server Virtualization Types:

Virtual Categories
  • Full Virtualization: Where guest OS is not aware about the underlying virtualized hardware. Normal OS can be installed and run on these environments as it is, no change is required. Example : VMware vSphere (ESXi), Microsoft Hyper-V, Red Hat KVM etc.
  • Para-Virtualization: Guest OS is aware of the underlying virtualized hardware. Normal OS can not be installed and run on these environments. The kernel of the Guest OS is updated and made aware of the environment. Example : Xen Kernel virtualization (earlier)
  • Bare Metal Virtualization (Type 1):
    • Installs right on the bare metal and therefore offers higher performance and scalability but runs on a narrower range of hardware
    • Many advanced features for resource management, high availability and security.
    • Supports more VMs per physical CPU then hosted products.
    • Because there is no overhead from a full host operating system, performance is 83-98% of native. There is a small bit of overhead from the virtualization layer of the hypervisor
  • Hosted Virtualization (Type 2):
    • Requires a host operating system (Windows/Linux/Mac), installs like an application.
    • Virtual machines can use all the hardware resources that the host can see.
    • Maximum hardware compatibility as the operating system supplies all the hardware device drivers
    • Overhead of a full general-purpose operating system between the virtual machines and the physical hardware results in performance 70-90% of native
In the later sections I am going to talk about Bare Metal Virtualization as this is the Enterprise level virtualization.
Hosted vs Bare Metal Hypervisor Pictorial view:
In Part C I am going to talk about underlying technology and it actually works.