Unit-3 Resource Virtualization

Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

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

After going through this unit you should be able to:


➔ describe virtualization and its advantage;
➔ understand the concept of machine or server-level virtualization;
➔ learn about the hypervisor-based virtualization approaches;
➔ understand the basics of the operating system, network, storage, and desktop
virtualization;
➔ compare among XenServer and VMware;

3.3 Virtualization and Underlying Abstraction


Virtualization is a key technology that creates an abstraction to hide the complexity of computing
infrastructure, storage, and networking. Though virtualization technology has been around for the
last 50 years, its popularity has increased with the advancement of cloud computing. In a cloud
environment virtualization allows maximum customization and control over hardware resources
and enables the utilization of hardware resources to their maximum capacity.

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.

Figure 2: Features provided by 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.

◆ Aggregation: Virtualization technology allows to combine, the resources of different


independent host machines and seems to guest as one virtual host. The cluster
management software is one of the very good examples of distributed computing. Cloud
computing environments also make use of these features.

◆ Emulation: 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.

◆ Isolation: Virtualization environment enables guest virtual machines to run in isolation


such that no virtual machine running on the same host physical machine interferes 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 try to prevent vulnerable activity operation if any.

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

Check your Progress 1


1) Explain the importance of virtualization in cloud computing?
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………

2) How security is achieved through virtualization?


………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
3) Emulation and isolation are important features of virtualization. Justify the statement.

………………………………………………………………………………………………………
…………
………………………………………………………………………………………………………
…………

………………………………………………………………………………………………………
…………

Figure 4: Diagram showing the traditional and virtual architecture

3.4 Advantages of Virtualization

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.

Figure 5: Type 1 Hypervisor

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:

Hyper-V hypervisor: Hyper-V is a Microsoft-designed hypervisor for


use on Windows systems. It is classified as a Type 1 hypervisor,
although it differs from other Type 1 hypervisors in that it does not
install on Windows and instead runs directly on the actual hardware as
the Host OS. As a result, it gains a performance edge.

Citrix XenServer: It is a commercial Type 1 Hypervisor that supports


Linux and Windows OS. It was developed by IBM and is generally
known as Citrix hypervisor. Xen supports virtualization technologies
such as Intel VT and AMD-V hardware-assisted environments. It also
supports paravirtualization, which alters the guest OS to work with the
hypervisor, improving performance.

ESXi hypervisor: VMware ESXi (Elastic Sky X Integrated) is a bare-


metal hypervisor mainly designed for server virtualization in the Data
Center. It can efficiently manage the group of Virtual machines.

VSphere hypervisor: Customers can download VMware ESXi for free


as part of the Free vSphere hypervisor, which also offers basic server
virtualization. Large businesses will purchase a more comprehensive
vSphere solution that includes a VMware's vCenter Server license. It is a
separate server used to manage the vSphere environment on physical
hosts.

➔ 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. Type 2
hypervisors frequently provide a different toolkit that enhances the connection
between Guest and Host operating systems (See Figure 6.).

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:

VMware Workstation: It is the product of VMware focused on Linux and


Windows users, and its free Version (Player) allows it to run a single guest OS
while its paid version(Pro) allows users to run multiple operating systems on a
single personal computer.

Check your Progress 2

1) Explain live and offline virtual machine migration.

………………………………………………………………………………………………
………

………………………………………………………………………………………………
………

………………………………………………………………………………………………
………

2) Write three advantages and disadvantages of server virtualization.

………………………………………………………………………………………………
………

………………………………………………………………………………………………
………

………………………………………………………………………………………………
………
3) Compare between Type 1 hypervisor and Type 2 hypervisor.

………………………………………………………………………………………………
………

………………………………………………………………………………………………
………

………………………………………………………………………………………………
………

3.6.1 Full Virtualization:-

Full virtualization is a technique to run an application or operating system directly on a


VM without any alteration and it seems to the operating system that it is running on the
real physical hardware. In order to achieve this, the virtual machine manager provides an
environment that fully imitates the complete real hardware. In other words, full
virtualization is a strategy for creating a virtual machine environment that entirely
imitates the physical hardware. Every software can run on the underlying devices
executed in the Virtual machine. One of the important benefits with respect to full
virtualization is that it allows the execution of the unaltered guest operating systems in
isolation. These kinds of features provide extra security and enable the running of
different unmodified operating systems in the same environment. For example in the case
of operating design, newly developed code for experiments can run alongside previous
versions of operating systems in isolated virtual machines. The virtual machine manager
helps each virtual machine to obtain all of the existing services of the underlying physical
system. The virtual machine completely isolates the guest operating system from the
underlying hardware.

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

Paravirtualization is a virtualization approach for computing devices that enables virtual


machines (VMs) to get an interface comparable to the underlying or guest hardware. This
strategy seeks to increase the VM's performance (OS) by altering the guest operating
system. The guest OS is updated within paravirtualization. It recognizes that it is
executing in a virtualized environment on top of something like a hypervisor (the VM's
hardware) rather than on actual hardware.

Paravirtualization, which means "alongside virtualization," refers to communication


between the guest OS and the hypervisor to improve performance and efficiency. As
shown in Figure 8 paravirtualization entails replacing non-virtualizable instructions, with
hyper calls connecting directly, with the hypervisor's virtualization layer. Other essential
kernel tasks, including memory management, interrupt handling, and timekeeping, have
hyper-call interfaces provided by the hypervisor.

Full virtualization, in which the unmodified OS is unaware that it is virtualized and


sensitive OS calls are captured using binary translation, is not the same as
paravirtualization. Paravirtualization's value proposition is decreased virtualization
overhead. However, the performance advantage of paravirtualization over full
virtualization varies substantially depending on the workload. Paravirtualization's
compatibility and portability are limited because it cannot support unmodified operating
systems (e.g., Windows 2000/XP). Because it necessitates profound OS kernel
alterations, paravirtualization can cause substantial support and maintainability concerns
in production situations. The open-source Xen project, for example, uses a modified
Linux kernel to virtualize the processor and memory and proprietary guest OS device
drivers to virtualize the I/O.
While the more complex binary translation support required for full virtualization is
complicated, changing the guest OS to enable paravirtualization is reasonably
straightforward. For years, VMware has deployed paravirtualization approaches in
VMware tools and optimized virtual device drivers throughout the VMware product
range. The VMware tools service gives access to the VMM Hypervisor's backdoor,
which can do tasks like time synchronization, logging, and guest termination. Vmxnet is
a hypervisor-sharing para-virtualized I/O device driver. It can take advantage of the
capabilities of the host device to increase throughput while lowering CPU usage. The
VMware tools service and the VMXnet device driver are not CPU paravirtualization
solutions, which should be noted for clarity. They are minor, non-intrusive adjustments
that do not require any changes to the guest OS kernel. VMware is assisting development
in the future. In the future, VMware will assist in creating para-virtualized Linux versions
to enable proofs of concept and product development.

Figure 8: The figure depicts the paravirtualization paradigm

3.6.3 Hardware-Assisted Virtualization:-

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.

3.7 Network virtualization:-

Network virtualization is the process of converting a hardware-dependent network into


such a software-based network. The underlying purpose of network virtualization is to
virtualize network routing protocol, forwarding, and different addressing schemes.
Further, network virtualization will also allow every form of IT virtualization to create a
layer of abstraction between virtual hardware and the activities that use it. Network
virtualization, in particular, allows network functionalities, hardware resources, and
software resources to be offered as a virtual network, independent of hardware. It is used
to join virtual machines (VMs), partition a physical network, or merge many physical
networks. IT can improve digital service providers' overall performance, flexibility, and
reliability.

3.8 Storage virtualization:-

Storage virtualization (sometimes referred to as software-defined storage or virtual SAN)


is the process of combining different physical massive volumes of data from SANs into a
virtualized storage device. The pool may combine disparate storage gear from multiple
networks, manufacturers, or data centers into a unified logical perspective and control it
through a single window. Virtualizing storage removes the storage management software
from the underlying physical infrastructure to give more flexibility and sustainable pools
of storage resources. Furthermore, it may abstract storage hardware (arrays and discs)
into online storage pools. Figure 10 shows the storage virtualization.
Figure 10: Depicts the Storage virtualization

3.9 Desktop virtualization:-

In this type of virtualization, a software-based virtualized version of users’ workstations


is created such that the virtual environment may be accessed from any place remotely.
This type of virtualized environment may enable any user to connect themselves through
any devices having network connectivity. A very important element of digital workspace
includes desktop virtualization. In a desktop virtualization environment, mostly virtual
machines are used to run the workload. Further, it should be also noted that, in this type
of virtualization technique, all the information and data of end-users are present in the
server. Thus risk involved with respect to loss of any user data is minimum if devices are
lost. There are a number of ways through which desktop virtualization may be
implemented. However, the most acceptable ones are local and remote desktop
virtualization.

3.10 Operating system virtualizations:-

Operating system virtualization is a modified version of a standard operating system that


allows several users to access and use different applications. This entire procedure should
be completed on a single machine at a time. The virtual vision environment within
operating system virtualizations accepts commands from any client operating it and does
various tasks within the same machine while running various applications. Whenever an
operating system virtualization occurs, a program does not interfere with another even
though they run on the same computer. An operating system's kernel allows for the
existence of several segregated user-space instances. Software containers, or
virtualization engines, are what these instances are referred to as. Operating system
Virtualization is of two types (i) Linux Virtualization and (ii) Windows Virtualization.

● Linux Operating System virtualization: To virtualize Linux computers,


VMware Workstation software is utilized. Furthermore, to install any software
using virtualization, the user must first install VMware software.
● Windows Operating System Virtualizations: This sort of virtualization is
similar to the previous in that it requires the installation of VMware software
before any other software can be installed.

3.11 XenServer Vs VMware

Next, we will discuss the major difference between two very well-known hypervisors Citrix
XenServer and VMware.

VMware vSphere ESXi Hypervisor Citrix XenServer Hypervisor

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?
………………………………………………………………………………………………
………
………………………………………………………………………………………………
………
………………………………………………………………………………………………
………

2) Discuss briefly network and storage virtualization.


………………………………………………………………………………………………
………
………………………………………………………………………………………………
………
………………………………………………………………………………………………
………

3) State that the statement is True (T) and False (F):

a. Full virtualization is a technique to run an application or operating system


directly on a VM without any alteration and it seems to the operating system that
it is running on the real physical hardware.
[ ]

b. A binary translation and direct execution are used together to accomplish full
virtualization. [
]

c. Paravirtualization, which means "alongside virtualization," refers to


communication between the guest OS and the hypervisor to improve
performance and efficiency.[ ]

d. Native virtualization is also called as Hardware-Assisted Virtualization


[ ]

e. Network virtualization is the process of converting a software-dependent network


into such a hardware-based network.
[ ]

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.

Check your Progress 2


Ans 1: Virtualization maximizes the availability and reliability of the service, by allowing 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.

Ans 2: The advantages associated with server virtualization 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.

The advantages associated with server virtualization 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.

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.

Check your Progress 3


Ans 1: Full virtualization is a technique to run an application or operating system directly on a
VM without any alteration and it seems to the operating system that it is running on the real
physical hardware. In order to achieve this, the virtual machine manager provides an environment
that fully imitates the complete real hardware. In other words, full virtualization is a strategy for
creating a virtual machine environment that entirely imitates the physical hardware. Every
software can run on the underlying devices executed in the Virtual machine. One of the important
benefits with respect to full virtualization is that it allows the execution of the unaltered guest
operating systems in isolation. These kinds of features provide extra security and enable the
running of different unmodified operating systems in the same environment.
Paravirtualization is a virtualization approach for computing devices that enables virtual
machines (VMs) to get an interface comparable to the underlying or guest hardware. This strategy
seeks to increase the VM's performance (OS) by altering the guest operating system. The guest
OS is updated within paravirtualization. It recognizes that it is executing in a virtualized
environment on top of something like a hypervisor (the VM's hardware) rather than on actual
hardware.

Ans 2:
a. True
b. True
c. True
d. True
e. False

Ans 3: Network virtualization is the process of converting a hardware-dependent network into


such a software-based network. The underlying purpose of network virtualization is to virtualize
network routing protocol, forwarding, and different addressing schemes. Further, network
virtualization will also allow every form of IT virtualization to create a layer of abstraction
between virtual hardware and the activities that use it. Network virtualization, in particular,
allows network functionalities, hardware resources, and software resources to be offered as a
virtual network, independent of hardware. It is used to join virtual machines (VMs), partition a
physical network, or merge many physical networks. IT can improve digital service providers'
overall performance, flexibility, and reliability.

Storage virtualization (sometimes referred to as software-defined storage or virtual SAN) is the


process of combining different physical massive volumes of data from SANs into a virtualized
storage device. The pool may combine disparate storage gear from multiple networks,
manufacturers, or data centers into a unified logical perspective and control it through a single
window. Virtualizing storage removes the storage management software from the underlying
physical infrastructure to give more flexibility and sustainable pools of storage resources.
Furthermore, it may abstract storage hardware (arrays and discs) into online storage pools.

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.

You might also like