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:
- 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.
- 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).
- 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.
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.
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:
- It provides partitioning and isolation. i.e Resources of same physical server are shared by multiple VMs and are isolated from each other.
- 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.
Primary Advantages of Server Virtualization
- 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.
- 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.
- 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.
- 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.