Introduction to Server Virtualization Technology and Hypervisor Types

by Bhawani Singh on January 21, 2014

Virtualization is the creation of a virtual (rather than actual) version of something, such as an operating system, a server, a storage device or network resources.

For those who are new to virtualization technology, this article will give you some high level fundamentals that will help you to get started on virtualization.

Three areas of Virtualization

The following are three high-level areas where virtualization could be done:

  1. Network virtualization is a method of combining available resources in a network by splitting up the available bandwidth into channels, each of which is independent from the others, and each of which can be assigned (or reassigned) to a particular server or device in real time. The idea is that virtualization disguises the true complexity of the network by separating it into manageable parts, much like your partitioned hard drive makes it easier to manage your files.
  2. Storage virtualization is the pooling of physical storage from multiple network storage devices into what appears to be a single storage device that is managed from a central console. Storage virtualization is commonly used in storage area networks (SANs).
  3. Server virtualization is the masking of server resources (including the number and identity of individual physical servers, processors, and operating systems) from server users. The intention is to spare the user from having to understand and manage complicated details of server resources while increasing resource sharing and utilization and maintaining the capacity to expand later.

System Virtualization: Hardware and Hypervisors

System virtualization is a technology often used to consolidate systems, workloads and operating environments by using a single physical system to create multiple virtual systems. One type of system virtualization is done through hardware partitioning, which divides a single physical server into partitions — where each partition is able to run an operating system.

A Hypervisor, which is also called as Virtual Machine Monitor (VMM) or virtualization manager is another technology at the heart of system virtualization. A hypervisor provides the underpinnings for virtualization management, which includes policy-based automation, virtual hard disk, life cycle management, live migration and real-time resource allocation. It’s the software program or part of the code in firmware that manages either multiple operating systems or multiple instances of the same operating system on a single computer system. The hypervisor’s job is to manage the system’s processor, memory and other resources to allocate what each operating system requires. Hypervisors provide the means to logically divide a single, physical server or blade, allowing multiple operating systems to run securely on the same CPU and increase the CPU utilization.

Where hardware partitioning allows for hardware consolidation, hypervisors allow for flexibility in how the virtual resources are defined and managed, making it a more-often used system consolidation solution.

Two Types of Hypervisors

Type 1 Hypervisors – Native or Bare-Metal Hypervisors run directly on the host’s hardware to control the hardware and to manage guest operating systems. A guest operating-system thus runs on another level above the hypervisor. The following figure shows one physical system with a type 1 hypervisor running directly on the system hardware, and three virtual systems using virtual resources provided by the hypervisor.

An example of Type 1 Hypervisor is VMware ESXi.

Hypervisor Type 1

Type 2 Hypervisors – Hosted  Hypervisors are those that run on a host operating system that provides virtualization services, such as I/O device support and memory management. Type 2 hypervisors are used mainly on client systems where efficiency is less critical, and are also commonly used for systems where support for a broad range of I/O devices is needed and can be provided by the host operating system. The following figure shows one physical system with a type 2 hypervisor running on a host operating system and three virtual systems using the virtual resources provided by the hypervisor.

An example of Type 2 Hypervisor is VMware workstation.

Hypervisor Type 2

What is Server Virtualization?

Server virtualization is a technology for partitioning one physical server into multiple virtual servers. Each of these virtual servers can run its own operating system and applications, and perform as if it is an individual server. This makes it possible, for example, to complete development using various operating systems on one physical server or to consolidate servers used by multiple business divisions.

Server Virtualization Features

The following are two high-level important features of server virtualization:

  1. It provides partitioning and isolation. i.e Resources of same physical server are shared by multiple VMs and are isolated from each other.
  2. It provides high availability. i.e Several physical servers can form a cluster for high availability. If one server goes down, all the VMs on that server will migrate to another physical server in the cluster.
  3. Virtualization Cluster

Primary Advantages of Server Virtualization

  1. Reduce number of servers: Partitioning and isolation, the characteristics of server virtualization, enable simple and safe server consolidation. Through consolidating, the number of physical servers can be greatly reduced. This alone brings benefits such as reduced floor space, power consumption and air conditioning costs. However, it is essential to note that even though the number of physical servers is greatly reduced, the number of virtual servers to be managed does not change. Therefore, when virtualizing servers, installation of operation management tools for efficient server management is recommended.
  2. Reduce TCO: Server consolidation with virtualization reduces costs of hardware, maintenance, power, and air conditioning. In addition, it lowers the Total Cost of Ownership (TCO) by increasing the efficiency of server resources and operational changes, as well as virtualization-specific features. As a result of today’s improved server CPU performance, a few servers have high resource-usage rates but most are often underutilized. Virtualization can eliminate such ineffective use of CPU resources, plus optimize resources throughout the server environment. Furthermore, because servers managed by each business division’s staff can be centrally managed by a single administrator, operation management costs can be greatly reduced.
  3. Improve availability and business continuity: One beneficial feature of virtualized servers not available in physical server environments is live migration. With live migration, virtual servers can be migrated to another physical server for tasks such as performing maintenance on the physical servers without shutting them down. Thus there is no impact on the end user. Another great advantage of virtualization technology is that its encapsulation and hardware-independence features enhance availability and business continuity.
  4. Increase efficiency for development and test environments: At system development sites, servers are often used inefficiently. When different physical servers are used by each business division’s development team, the number of servers can easily increase. Conversely, when physical servers are shared by teams, reconfiguring development and test environments can be time and labor consuming. Such issues can be resolved by using server virtualization to simultaneously run various operating system environments on one physical server, thereby enabling concurrent development and test of multiple environments. In addition, because development and test environments can be encapsulated and saved, reconfiguration is extremely simple.

Linux Sysadmin Course Linux provides several powerful administrative tools and utilities which will help you to manage your systems effectively. If you don’t know what these tools are and how to use them, you could be spending lot of time trying to perform even the basic administrative tasks. The focus of this course is to help you understand system administration tools, which will help you to become an effective Linux system administrator.
Get the Linux Sysadmin Course Now!

If you enjoyed this article, you might also like..

  1. 50 Linux Sysadmin Tutorials
  2. 50 Most Frequently Used Linux Commands (With Examples)
  3. Top 25 Best Linux Performance Monitoring and Debugging Tools
  4. Mommy, I found it! – 15 Practical Linux Find Command Examples
  5. Linux 101 Hacks 2nd Edition eBook Linux 101 Hacks Book

Bash 101 Hacks Book Sed and Awk 101 Hacks Book Nagios Core 3 Book Vim 101 Hacks Book

{ 6 comments… read them below or add one }

1 Bob January 22, 2014 at 8:11 am

Great and timely article!!!

2 Daniel January 22, 2014 at 8:48 am

Excellent, and superb article, enjoyed the reading.

3 Jalal Hajigholamali January 22, 2014 at 12:30 pm

Hi,
Thanks a lot
Very nice and useful article
thanks a gain

4 PeteP January 22, 2014 at 1:00 pm

Nicely explained.

5 Pratik January 28, 2014 at 11:34 pm

Great

6 Satheesh February 14, 2014 at 6:17 pm

Nice and very Neat explanation,

Leave a Comment

Previous post:

Next post: