Unit-3 Resource Virtualization
Unit-3 Resource Virtualization
Unit-3 Resource Virtualization
Structure
3.1 Introduction
3.2 Objective
3.3 Virtualization and Underlying Abstraction
3.3.1 Virtualizing Physical Computing Resources
3.4 Advantages of Virtualization
3.5 Machine or Server Level Virtualization
3.6 Exploring Hypervisor or Virtual Machine Monitor
3.6.1 Hypervisor Based Virtualization Approaches
(Full Virtualization, Para Virtualization, Hardware-Assisted Virtualization)
3.7 Operating System-Level Virtualization
3.8 Network Level Virtualization
3.9 Storage Level Virtualization
3.10 Desktop Level Virtualization
3.11 XenServer Vs VMware
3.1 INTRODUCTION
Cloud Computing has gained immense popularity due to the availability of scalable Infrastructure
as a Services, Platform as a Service, and Software as a Services. This is a framework where
different kinds of services related to networks, computing resources, storage, development
platform, and application are provisioned through the internet. In this respect, the basic
information of cloud computing is already discussed in the previous unit. In this unit, we will
discuss the basics of virtualization, its advantages, and its underlying abstraction. It is to be noted
that virtualization is the fundamental technology that helps to create an abstraction layer that
hides the intricacy of the underlying hardware. The virtualization technique provides a secure and
isolated environment for any user application such that one running application does not affect
the execution of another application. Further, in this unit, we will learn about server-level
virtualization and explore different hypervisor-based virtualization approaches. We will also
discuss operating system-level virtualization, network virtualization, storage virtualization, and
desktop virtualization. Finally, a brief comparison will be done on hypervisors like XenServer
and VMware.
3.2 OBJECTIVE
Virtualization allows the creation of an abstract layer over the available System hardware
elements like processor, storage, memory, and different customized computing environments.
The computing environment which is created is termed virtual as it simulates an environment
similar to a real computer with an operating system. The use of the virtual version of the
infrastructure is smooth as the user finds almost no difference in the experience when compared
to a real computing environment. One of the very good examples of virtualization is hardware
virtualization. In this kind of virtualization, customized virtual machines that work similarly to
the real computing systems are created. Software that runs on this virtual machine cannot directly
access the underlying hardware resources. For example, consider a computer system that runs
Linux operating system and simultaneously host a virtual machine that runs Windows operating
system. Here, the Windows operating system will only have access to hardware that is allocated
to virtual machines. Hardware virtualization plays an important role in provisioning the IaaS
service of cloud computing. Some of the other virtualization technologies for which virtual
environments are provided are networking, storage, and desktop. The overall environment of
virtualization may be divided into three layers: host layer, virtualization layer, and guest layer.
The host layer denotes a physical hardware device on which the guest is maintained.
Virtualization layer act as the middleware which creates a virtual environment similar to the real
computer environment to execute a guest virtual application. Here guests always communicate
through the virtualization layer and it may denote a virtual machine or any other virtual
application. A diagrammatic representation of the virtualization environment is shown in Figure
1.
Figure 1: Diagram showing the virtualization environment.
From the above discussion, it should be noted that in reality, the virtualization environment is a software
program, and hence virtualization technology has better control and flexibility over the underlying
environment. The capability of software to imitate a real computing environment has facilitated the
utilization of resources in an efficient way. In the last few years, virtualization technology has drastically
evolved and the current version of technology allows us to make use of the maximum benefit that
virtualization provides. In this respect some of the important characteristics of virtualization can be
discussed as follows:
➔ Advancement in Security: In reality, more than one guest virtual machine runs on a single host
machine, and on each virtual machine different virtual applications are executed. Further, it is
very important to run each virtual machine in isolation such that no two applications running on
different virtual machines interfere with each other. In this respect, virtual machine manager
(VMM) plays an important role by managing virtual machines efficiently and providing enough
security. The operations of the different virtual machines are observed by VMM and filtered
accordingly such that no unfavorable activity is permitted. Sometimes it becomes important to
hide some sensitive or important data of the host from other guest applications running on the
same system. This kind of functionality is automatically provided by the virtualization
environment.
➔ Managing of Execution: In addition to the features like security, sharing, aggregation, emulation,
and isolation are also considered to be important features of virtualization. The explanation of
these features are as follows:
◆ Sharing: Virtualization technology allows the execution of more than one guest virtual
machine over a single host physical machine. Here, the same hardware resources are
being shared by all the guest virtual machines. Here sharing of existing hardware
resources and using individual physical machines to their optimum capacity help to
minimize the requirement of a number of servers and the power consumption.
Virtualization technology is adopted by different areas of computing. Further, based on the requirements
and uses different virtualization techniques were developed and each technique has its own unique
characteristics. In this regard Figure 3. shows a detailed classification of virtualization techniques. We
will be discussing some of the techniques in detail in the later sections.
Figure 3: A classification of virtualization technique
………………………………………………………………………………………………………
…………
………………………………………………………………………………………………………
…………
………………………………………………………………………………………………………
…………
As discussed earlier, virtualization creates an abstracted layer over the available hardware elements, such
as a processor, storage, and memory allowing them to disperse over several Virtual Computers, also
known as Virtual Machines (VMs). The importance of virtualization was realized when IT industries
were facing difficulty to overcome the problem of x86 servers which enable running of only a single
operating system and application. The virtualization technology paved the way for the existing IT
industry by maximizing the utilization of individual servers and enabling them to operate at their
maximum capacity. In this regard Figure 4. shows the difference in traditional and virtual architecture.
Further when we compare the older virtualization technique with the current version then we will notice
that the older virtualization technique used to support only a single CPU and it was slow. Further, the
current version of virtualization techniques has improved a lot and it was found that virtual machines may
execute server applications as well as bare metal computer systems.
In order to improve performance, and to maximize the availability and reliability of the service,
virtualization allows virtual machines to move from one host machine to another and this is called a
virtual machine migration. The migration of virtual machines is achievable as the underlying environment
is virtual. The virtual machine migration can be achieved offline or live. In case of offline migration the
guest virtual machine is temporarily stopped and after copying the image of the virtual machine’s
memory to the destination host machine virtual machine is restarted. Next in the case of live migration an
active virtual machine is moved from one host machine to another. It should also be noted that
virtualization technology prefers to migrate virtual machines from one host machine to another when
some kind of load balancing is required. The type of virtual machine is chosen based on the requirement,
that is if downtime is permissible then offline migration is preferred, or else live migration is preferred.
Virtualization allows for more efficient use of underlying resources, resulting in a higher return on a
company's hardware investment. Some other advantages of virtualization may also be highlighted and it
can be summarized as follows:
➔ Reducing Power Need: Virtualization helps to run more than one operating system and
application on a single physical system. This allows to reduce the requirement of more servers
and hence reducing the requirement of energy for running and cooling the physical machines.
➔ Lower Cost: Virtualization of hardware or software resources help to maximize the utilization of
individual resources without compromising with the performance. Thus the extra investment on
the servers is minimized by running more than one operating system and application on a single
server. In addition to this, the requirements for extra space are also reduced. In this way
virtualization technology is helping IT industries to achieve maximum benefit at a minimal cost.
➔ Better Availability: Virtualization technology allows to overcome the problem of sudden
downtime due to hardware fault or human-induced fault. That is virtualization provides a fault-
tolerant environment in which applications are run seamlessly. Virtualization allows better
control and flexibility over the underlying environment when compared to the standalone system.
Further, during the time of fault or system maintenance, virtualization technology may use live
migration techniques to migrate virtual machines from one server to another. Any application or
operating system crash results in downtime and lowers user productivity. As a result,
administrators can use virtualization to run many redundant virtual computers that can readily
handle this situation. However running numerous redundant Physical Servers, on the other hand,
will be costly.
➔ Resource Efficiency: We may run numerous applications on a single server with virtualization,
each with its own virtual machine, operating system, and without sacrificing the Quality of
Services like reliability and availability. In this way, virtualization allows efficient use of the
underlying physical hardware.
➔ Easier Management: In software-defined virtual machines, it is much easier to implement any
new rule or policy, making it much easier to create or alter policies. This may be possible as
virtualization technology provides better control over the virtual environment.
➔ Faster Provisioning: The process of setting up hardware for each application is time-consuming,
requires more space, and costs more money. Further provisioning a virtual machine (VM) is
faster, cheaper, and efficient and can be managed smoothly. Thus virtualization technology may
help to create the required configured virtual machines in minimum time and may also be able to
scale up or scale down the required demands in minimum time. Here it should be noted that the
problem of scalability may also be handled efficiently by virtualization techniques.
➔ Efficient resource management: As discussed earlier, virtualization provides better control and
flexibility when compared to traditional architecture. Virtualization allows IT administrators to
create and allocate the virtual machine faster and live- migrate the virtual machine from one
server to another when required to increase the availability and reliability of the services. In order
to manage the virtualized environment, there are a number of virtualization management tools
available and the selection of appropriate tools may help to manage the virtual resources
efficiently. This tool may help to seamlessly migrate the virtual machine from one system to
another with zero downtime. This may be required when any server needs maintenance or is not
performing well.
➔ Single point Administration: The virtualized environment can be managed and monitored
through single virtualization management tools. However, the selection of efficient tools that
provide all the virtualization services properly is important. The appropriate tool will help to
create and provision virtual machines efficiently, balance the workload, manage the security of
the individual virtual machines, monitor the performance of the infrastructure, and guarantee to
maximize the utilization of the resources. Here all the different services can be administered by a
single tool.
3.5 Machine or Server Level Virtualization
Server virtualization is a technique to divide a physical server into various small virtual servers
and each of these independent virtual servers runs its own operating system. These virtual servers
are also called virtual machines and the process of creation of such virtual machines is achieved
by hypervisors like Microsoft Hyper-V, Citrix XenServer, Oracle VM, Red Hat’s Kernel-based
Virtual Machine, VMware vSphere. Here it should be noted that each virtual machine runs in
isolation on the same host physical machine and are unaware of any other virtual machine
running on the same host physical machine. To achieve this kind of functionality and
transparency different kinds of virtualization techniques are used. Further, there are different
types of server-level virtualization and they are as follows:
★ Hypervisor
★ Para Virtualization
★ Full Virtualization
★ Hardware-Assisted Virtualization
★ Kernel level Virtualization
★ System-Level or Operating System Virtualization
There are numerous advantages associated with server virtualization. Some of them are as
follows:
➔ In the case of server virtualization, each virtual machine may be restarted independently
without affecting the execution of other virtual machines running on the same host
physical machine.
➔ Server virtualization can partition a single physical server into many small virtual servers
and allows to utilize the hardware of the existing physical servers efficiently. Therefore
this minimizes the requirement of the extra physical servers and the initial investment
cost.
➔ As each small virtual server executes in isolation, if any virtual machine faces any kind of
issues then it will not affect the execution of other virtual machines running on the same
host physical machine.
In addition to some of the advantages server virtualization also have some disadvantages and they
are as follows:
➔ In the case of a host physical machine, the server faces any problem and it goes offline
then all the guest virtual machines will also get affected and will go offline. This will
decrease the overall uptime of the services or applications running on an individual
virtual machine.
➔ Server virtualization allows the running of many numbers of virtual machines on the
same physical server, this may reduce the performance of the overall virtualized
environment.
➔ Generally, server virtualization environments are not easy to set up and manage.
3.6 Hypervisor
The hypervisor can be seen as an emulator or simply a software layer that can efficiently
coordinate and run independent virtual machines over single physical hardware such that
each virtual machine has physical access to the resources it needs. It also ensures that
virtual machines have their own address space and execution on one virtual machine does
not conflict with the other virtual machine running on the same host physical machine.
Prior to the notion of Hypervisor, most computers could only run one operating system at
most and this increased the reliability of the services and applications because the entire
system's hardware had to handle requests from a single operating system. However, the
demerit of this idea is that the system cannot utilize all of the computing capacity.
However, using a hypervisor minimizes the need for space, energy, and maintenance. The
hypervisor is also referred to as a virtual machine monitor and it helps to manage virtual
machines and their physical resource demands. It isolates virtual machines from one
another by logically provisioning and assigning computing power, memory, and storage.
Thus at any point of time if any virtual machine operation is vulnerable then it will not
affect the execution of another machine.
There are basically two types of hypervisor (i) Type 1 or bare metal and (ii) Type 2 or
Hosted. Hypervisors enable virtualization because they translate requests across virtual
and physical resources. Type 1 hypervisors may also be embedded into the firmware
around the same layer as the motherboard basics input/output system (BIOS). This helps
the host operating system to access and use the virtualization software.
➔ Type 1 hypervisor: This is also termed as “Bare metal” hypervisor. This type of
hypervisor runs directly on the underlying physical resources. For running this
kind of hypervisor operating system is not required and it itself acts as a host
operating system. These kinds of hypervisors are most commonly used in virtual
server scenarios (See Figure 5.).
Pros: These types of Hypervisor are highly effective as they can directly
communicate with physical hardware. It also raises the level of security, and
there was nothing in between them that could undermine security.
Cons: To administrate different VMs and manage the host hardware, a Type 1
hypervisor frequently requires a separate administration system.
Example:
Pros: A type 2 hypervisor allows for rapid and easy access to a Guest OS while
the main operating system runs on the host physical machine. This kind of
facility immensely helps the end-user in their work. For example, a user can use
Cortana to access their favorite Linux-based tool (in Windows, only found a
speech dictation system ).
Cons: Type 2 hypervisors can cause performance overhead because they always
need a host operating system in between the guest Operating system and
underlying physical device. It also poses latency concerns and a potential security
risk if the Host OS is compromised.
Figure 6. Type 2 Hypervisor
Example:
………………………………………………………………………………………………
………
………………………………………………………………………………………………
………
………………………………………………………………………………………………
………
………………………………………………………………………………………………
………
………………………………………………………………………………………………
………
………………………………………………………………………………………………
………
3) Compare between Type 1 hypervisor and Type 2 hypervisor.
………………………………………………………………………………………………
………
………………………………………………………………………………………………
………
………………………………………………………………………………………………
………
A binary translation and direct execution are used together to accomplish full
virtualization. The hardware CPU runs non-sensitive commands at normal speed for full
virtualization hypervisors. Operating system-related instructions are interpreted on the fly
for further use. As similar kinds of guest operating system instances can execute on
virtualized or real physical systems, the full virtualization technique delivers the most
required isolation and security solution for virtual instances running on the virtual
environment (see Figure 7).
Further, binary translation is a method of establishing full virtualization that does not
necessitate hardware virtualization. It entails looking for "unsafe" instructions in the
virtual guest's executable code, translating them into "safe" equivalents, and running the
translated code. If we talk with respect to VMware hypervisor, both direct execution and
binary translation techniques may be used to virtualize an operating system.
Figure 7: The figure depicts the full virtualization paradigm.
3.6.2 Paravirtualization:-
The other name for this virtualization is native virtualization, accelerated virtualization,
or hardware virtualization. In this type of virtualization, a special CPU instruction is
provided by real physical hardware to support virtualization. The adopted methodology is
very portable as the virtual machine manager can run an unaltered guest operating
system. This kind of methodology minimizes the implementation complexity of the
hypervisor and allows the hypervisor to manage the virtualized environment efficiently.
This sort of virtualization technique was initially launched on the IBM System / 370 in
1972, and it was made available on Intel and AMD CPUs in 2006. In this kind of
virtualization methodology, sensitive calls are by default forwarded to the hypervisor. It
is no longer necessary to use binary translation during full virtualization or hyper calls
during paravirtualization. See Figure 9 depicts the hardware-assisted virtualization
techniques.
Figure 9: The figure depicts the hardware-assisted virtualization techniques.
Next, we will discuss the major difference between two very well-known hypervisors Citrix
XenServer and VMware.
VMware is generally used by small and Citrix XenServer is a virtualization platform that is
mid-sized businesses. VMware requires a utilized by individuals as well as small and medium
proprietary license and is Provided per- businesses. XenServer is Open source and also provides
processor basis. per-server licensing. However, the free version also
includes almost all the features.
Features like dynamic resource allocation is The features like dynamic resource allocation is not
supported supported
VMware has 128 Virtual CPUs (VCPUs) Citrix XenServer has 32 Virtual CPUs per Virtual
per Virtual machine. It can run on either machine. It can only run on Intel-Vt or AMD-V
Intel-Vt or AMD-V intelligent devices. intelligent systems.
Only MS-DOS and FreeBSD are supported Citrix XenServer supports various host OS such as Win
as hosts in VMware vSphere. As a guest OS, NT Server, Win XP, Linux ES, e.t.c. Citrix XenServer
VMware vSphere supports MS-DOS, Sun also supports various guest operating systems, but not
Java Desktop System, and Solaris X86 MS-DOS, Sun Java Desktop Environment, or Solaris
Platform Edition. X86 platform edition. To run, it will need AMD-V
competent hardware.
Support Failover and Live migration. Doesn’t support Failover or even Live migration.(*
Supports Dynamic Resource allocation and Newer version supports Live migration but not that
Thin Provisioning. efficiently).
Supports only Thin Provisioning.
The graphic support is not exhaustive. The graphic support is exhaustive and had better
support than VMware.
BusyBox is used by the VMware server It provides almost all the required features and ability to
management system for managing the create and manage the virtualization environment and it
environment. uses XenCenter for managing the environment.
Check your Progress 3
1) What is the difference between full virtualization and paravirtualization?
………………………………………………………………………………………………
………
………………………………………………………………………………………………
………
………………………………………………………………………………………………
………
b. A binary translation and direct execution are used together to accomplish full
virtualization. [
]
3.12 SUMMARY
Virtualization is the fundamental technology that helps to create an abstraction layer over the
available System hardware elements like processor, storage, and memory. Virtualization allows to
hide the intricacy of the underlying environment and provides a secure and isolated environment
for any user application. The created computing environment is virtual and it simulates an
environment similar to a real computer. The use of the virtual infrastructure is smooth as the user
finds almost no difference in the experience when compared to a real computing environment. In
this regard, a detailed overview of virtualization is given in this unit. We have discussed some
very important topics related to virtualization like advantages of virtualization, different
virtualization techniques, and its characteristics with an example. For further clarity of existing
virtualization techniques like full virtualization and paravirtualization, we have compared the two
very well-known hypervisors Citrix XenServer and VMware.
3.13 SOLUTIONS/ANSWERS
Check your Progress 1
Ans 1: Cloud Computing is a framework where different kinds of services related to networks,
computing resources, storage, development platform, and application are provisioned through the
internet. Further, Virtualization is the fundamental technology that creates an abstraction to hide
the complexity of computing infrastructure, storage, and networking. The virtualization technique
provides a secure and isolated environment for cloud users such that the computing environment
of one user does not affect the computing environment of another user.
Ans 2: In the case of virtualization more than one guest virtual machine runs on a single host
machine, and on each virtual machine different virtual applications are executed. Further, it is
very important to run each virtual machine in isolation such that no two applications running on
different virtual machines interfere with each other. In this respect, virtual machine manager
(VMM) plays an important role by managing virtual machines efficiently and providing enough
security. The operations of the different virtual machines are observed by VMM and filtered
accordingly such that no unfavorable activity is permitted. Sometimes it becomes important to
hide some sensitive or important data of the host from other guest applications running on the
same system. This kind of functionality is automatically provided by the virtualization
environment with the help of VMM.
Ans 3: In the case of emulation, the virtualization environment allows different guest applications
to run on top of the host physical machine. Here the underlying virtualized environment is a
software program and hence can be controlled more efficiently. Further, based on the requirement
of guest application or program the underlying environment can be adjusted or modified for
smooth execution.
In case of isolation, the virtualization environment enables guest virtual machines to run in
isolation such that no virtual machines running on the same host physical machine interfere with
each other. The guest virtual application accesses the underlying resources through the
abstraction layer. The virtual machine manager monitors the operation of each guest application
and tries to prevent vulnerable activity operation if any.
Ans 3: Type 1 hypervisor: This is also termed as “Bare metal” hypervisor. This type of
hypervisor runs directly on the underlying physical resources. For running this kind of hypervisor
operating system is not required and it itself acts as a host operating System. These kinds of
hypervisors are most commonly used in virtual server scenarios. The examples are Hyper-V
hypervisor, Citrix XenServer, and ESXi hypervisor.
Type 2 hypervisor: This hypervisor is not compatible with the hardware it is running on. It runs
as a program on a computer's operating system. This type of hypervisor takes the help of an
operating system to deliver virtualization-based services. Type 2 hypervisors are best suited for
endpoint devices such as personal computers that run an alternative operating system known as
Guest OS. An example is VMware Workstation.
Ans 2:
a. True
b. True
c. True
d. True
e. False
9. FURTHER READINGS
There are a host of resources available for further reading on the topic of Virtualization.
1. R. Buyya, C. Vecchiola,, and S. T. Selvi, S. T. (2013). Mastering cloud computing:
foundations and applications programming. Newnes.
2. S. A. Babu, M. J. Hareesh, J. P. Martin, S. Cherian, and Y. Sastri, "System Performance
Evaluation of Para Virtualization, Container Virtualization, and Full Virtualization Using
Xen, OpenVZ, and XenServer," 2014 Fourth International Conference on Advances in
Computing and Communications, 2014, pp. 247-250, doi: 10.1109/ICACC.2014.66.
3. https://www.ibm.com/in-en/cloud/learn/hypervisors#toc-type-1-vs--Ik2a8-2y
4. https://www.vmware.com/topics/glossary/content/hypervisor.html
5. https://www.sciencedirect.com/topics/computer-science/full-
virtualization#:~:text=Full%20virtualization%20is%20a%20virtualization,run%20in%20
each%20individual%20VM.