0% found this document useful (0 votes)
11 views11 pages

3

Download as docx, pdf, or txt
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 11

Basics of Virtualization

Virtualization is a technology that helps us to install different Operating Systems on


hardware. They are completely separated and independent from each other. Virtualization hides
the physical characteristics of computing resources from their users, their applications or end
users. This includes making a single physical resource (such as a server, an operating system, an
application or a storage device) appear to function as multiple virtual resources. It can also
include making multiple physical resources (such as storage devices or servers) appear as a single
virtual resource.
Virtualization Types
The term virtualization is widely applied to a number of concepts, some of which are described
below:

• Server virtualization
• Client & desktop virtualization
• Services and application virtualization
• Network virtualization
• Storage virtualization

Desktop virtualization
This is also called as Client virtualization; this time is on the user’s site where you
virtualize
their desktops. We change their desktops with thin clients and by utilizing the datacenter
resources.

Fig No.1: Desktop Virtualization


Network virtualization

2
It is a part of virtualization infrastructure, which is used especially if you are going to
visualize your servers. It helps you in creating multiple switching, Vlans, NAT-ing, etc.

Fig No.2: Network Virtualization

Server and Machine virtualization


It is virtualizing your server infrastructure where you do not have to use any more physical
servers for different purposes

Fig No.3. Server and Machine virtualization

Storage virtualization

This is widely used in datacenters where you have a big storage and it helps you to
create, delete, allocated storage to different hardware. This allocation is done through network
connection. The leader on storage is SAN. A schematic illustration is given below:

3
Fig No.4. Storage virtualization

Operating System Level virtualization


This refers to an abstraction layer between traditional OS and user applications. OS-level
virtualization creates isolated containers on a single physical server and the OS instance to
utilize the hardware and software in data centers. The containers behave like real servers. OS-
level virtualization is commonly used in creating virtual hosting environments to allocate
hardware resources among a large number of mutually distrusting users. It is also used, to a lesser
extent, in consolidating server hardware by moving services on separate hosts into containers or
VMs on one server.

Application virtualization

The virtualization technology isolates applications from the underlying operating


system and from other applications, in order to increase compatibility and manageability. For
example – Docker can be used for that purpose.

Fig No.5.Application virtualization

Advantages of virtualization
Using Virtualization for Efficient Hardware Utilization
Virtualization decreases costs by reducing the need for physical hardware systems. Virtual
machines use efficient hardware, which lowers the quantities of hardware, associated
maintenance costs and reduces the power along with cooling the demand. You can allocate
memory, space and
4
CPU in just a second, making you more self-independent from hardware vendors.
Using Virtualization to Increase Availability
Virtualization platforms offer a number of advanced features that are not found on physical
Servers, which increase uptime and availability. Although the vendor feature names may be
different, they usually offer capabilities such as live migration, storage migration, fault tolerance,
high availability and distributed resource scheduling. These technologies keep virtual machines
chugging along or give them the ability to recover from unplanned outages. The ability to move a
virtual machine from one server to another is perhaps one of the greatest single benefits of
virtualization with far reaching uses. As the technology continues to mature to the point where it
can do long-distance migrations, such as being able to move a virtual machine from one data
center to another no matter the network latency involved.
Disaster Recovery
Disaster recovery is very easy when your servers are virtualized. With up-to-date snapshots of
your virtual machines, you can quickly get back up and running. An organization can more easily
create an affordable replication site. If a disaster strikes in the data center or server room itself,
you can always move those virtual machines elsewhere into a cloud provider. Having that
level of flexibility means your disaster recovery plan will be easier to enact and will have a 99%
success rate.
Save Energy
Moving physical servers to virtual machines and consolidating them onto far fewer physical
servers’ means lowering monthly power and cooling costs in the data center. It reduces carbon
footprint and helps to clean up the air we breathe. Consumers want to see companies reducing
their output of pollution and taking responsibility.
Deploying Servers too fast
You can quickly clone an image, master template or existing virtual machine to get a server up
and running within minutes. You do not have to fill out purchase orders, wait for shipping and
receiving and then rack, stack, and cable a physical machine only to spend additional hours
waiting for the operating system and applications to complete their installations. With virtual
backup tools like Veeam, redeploying images will be so fast that your end users will hardly
notice there was an issue.
Save Space in your Server Room or Datacenter

Imagine a simple example: you have two racks with 30 physical servers and 4 switches. By
virtualizing your servers, it will help you to reduce half the space used by the physical servers.
The result can be two physical servers in a rack with one switch, where each physical server
holds 15 virtualized servers.
Testing and setting up Lab Environment
While you are testing or installing something on your servers and it crashes, do not panic, as
there is no data loss. Just revert to a previous snapshot and you can move forward as if the
mistake did not even happen. You can also isolate these testing environments from end users
while still keeping them online. When you have completely done your work, deploy it in live.
Shifting all your Local Infrastructure to Cloud in a day
5
If you decide to shift your entire virtualized infrastructure into a cloud provider, you can do it in a
day. All the hypervisors offer you tools to export your virtual servers.
Possibility to Divide Services
If you have a single server, holding different applications this can increase the possibility of the
services to crash with each other and increasing the fail rate of the server. If you virtualize this
server, you can put applications in separated environments from each other as we have discussed
previously.
Disadvantages of Virtualization
Although you cannot find many disadvantages for virtualization, we will discuss a few prominent
ones as follows:

Extra Costs
Maybe you have to invest in the virtualization software and possibly additional hardware might
be required to make the virtualization possible. This depends on your existing network. Many
businesses have sufficient capacity to accommodate the virtualization without requiring much
cash. If you have an infrastructure that is more than five years old, you have to consider an initial
renewal budget.
Software Licensing
This is becoming less of a problem as more software vendors adapt to the increased adoption of
virtualization. However, it is important to check with your vendors to understand how they view
software use in a virtualized environment.
Learn the new Infrastructure
Implementing and managing a virtualized environment will require IT staff with expertise in
virtualization. On the user side, a typical virtual environment will operate similarly to the non-
virtual environment. There are some applications that do not adapt well to the virtualized
environment.
Virtual Machine Basics

Virtualization Basics. A virtual machine is a software computer that, like a physical


computer, runs an operating system and applications. The hypervisor serves as a platform for
running virtual machines and allows for the consolidation of computing resources.

Types of Virtual Machine

• System Virtual machines


• Process Virtual machines

System Virtual Machine


Hardware Virtual machine provides a complete system platform environment which
supports the execution of a complete operating system (OS) VMWare, Xen, Virtual BOX.
6
Process Virtual Machine
Application Virtual machine provides a platform-independent programming environment
that abstracts away details of the underlying hardware or operating system from software or
application runtime.
Eg: Java Virtual Machine, .NET Framework
Hypervisor
A hypervisor is a thin software layer that intercepts operating system calls to the hardware. It
is also called as the Virtual Machine Monitor (VMM).It creates a virtual platform on the host
computer, on top of which multiple guest operating systems are executed and monitored.
Hypervisors are two types:
• Native of Bare Metal Hypervisor
• Hosted Hypervisor

Native of Bare Metal Hypervisor

Hypervisors run directly on the system hardware – A “C” embedded hypervisor.


Native hypervisors are software systems that run directly on the host's hardware to control the
hardware and to monitor the Guest Operating Systems. The guest operating system runs on a
separate level above the hypervisor. All of them have a Virtual Machine Manager.
Examples of this virtual machine architecture are Oracle VM, Microsoft Hyper-V, VMWare ESX
and Xen.

Fig No.6. Bare Metal Hypervisor

Hosted Hypervisor

7
Hypervisors run on a host operating system that provides virtualization services, such as I/O
device support and memory management.

Example of a hosted hypervisor is Oracle VM Virtual Box. Others include VMWare Server and
Workstation, Microsoft Virtual PC, KVM, QEMU and Parallels.

Fig No.7. Hosted Hypervisor

Hardware virtualization
Hardware virtualization is accomplished by abstracting the physical hardware layer by
use of a hypervisor or VMM (Virtual Machine Monitor). When the virtual machine software or
virtual machine manager (VMM) or hypervisor software is directly installed on the hardware
system is known as hardware virtualization.

Virtual Hardware Overview

A virtual machine is a software computer that, like a physical computer, runs an operating system
and applications.

The virtual machine consists of a set of specification and configuration files and is backed by the
physical resources of a host. Every virtual machine has virtual devices that provide the same
functionality as physical hardware, while being more portable, more secure, and easier to
manage.

Virtual machines have a guest operating system on which you can install and run any software
supported by that operating system. A guest operating system is an operating system that runs
inside a virtual machine. You can install a guest operating system in a virtual machine and
control guest operating system customization for virtual machines created from templates.

Virtualization of CPU

8
A VM is a duplicate of an existing computer system in which a majority of the VM instructions
are executed on the host processor in native mode. Thus, unprivileged instructions of VMs run
directly on the host machine for higher efficiency. The critical instructions are divided into three

9
categories. sensitive instructions Behavior sensitive instructions
Privileged instructions execute in a privileged mode and will be trapped if executes outside this
mode. Control sensitive instructions attempt to change the configuration of resources used.
Behavior sensitive instructions have different behaviors depending on the configuration of
resources, including the load and store operations over the virtual memory.

CPU’s user mode while the VMM run in supervisor mode. When the privileged instructions
including control and behavior sensitive instructions of a VM are executed they are trapped in the
VMM. RISC CPU architectures can be naturally virtualized because all control and behavior
sensitive instructions are privileged instruction.

Hardware Assisted CPU virtualization

There are two modes to run under virtualization: root operation and non-root operation.
Usually only the virtualization controlling software, called Virtual Machine Monitor (VMM),
runs under root operation, while operating systems running on top of the virtual machines run
under non-root operation. Software running on top of virtual machines is also called ‛guest
software‚.

To enter virtualization mode, the software should execute the VMXON instruction and then
call the VMM software. Then VMM software can enter each virtual machine using the
VMLAUNCH instruction, and exit it by using the VMRESUME. If VMM wants to shut down
and exit virtualization mode, it executes the VMXOFF instruction.

Fig No.8. Hardware Assisted CPU virtualization

Memory Virtualization
Virtual memory virtualization is similar to the virtual memory support provided by modern
operating systems. In a traditional execution environment the OS maintains mappings of virtual
memory to machine memory using page tables, which is one stage mapping from virtual memory
to machine memory. All modern x86 CPUs include a Memory management Unit and a
translation Look-aside Buffer to optimize virtual memory performance. In virtual execution
environment virtual memory virtualization involves sharing the physical system memory in
RAM and dynamically allocating it to the physical memory of the VMs.
10
Guest OS sees flat ‚physical‛ address space.
Page tables within guest OS:
• Translate from virtual to physical addresses.
Second-level mapping:
• Physical addresses to machine addresses.
VMM can swap a VM’s pages to disk.

Traditional way is to have the VMM maintain a shadow of the VM’s page table. The shadow
page table controls which pages of machine memory are assigned to a given VM. When OS
updates its page table, VMM updates the shadow

Fig No.9. Memory Virtualization

I/O Virtualization
Input/output (I/O) virtualization is a methodology to simplify management, lower costs and
improve performance of servers in enterprise environments. I/O virtualization environments are
created by abstracting the upper layer protocols from the physical connections.

The technology enables one physical adapter card to appear as multiple virtual network interface
cards (vNICs) and virtual host bus adapters (vHBAs). Virtual NICs and HBAs function as
conventional NICs and HBAs, and are designed to be compatible with existing operating
systems, hypervisors, and applications. To networking resources (LANs and SANs), they appear
as normal cards.
In the physical view, virtual I/O replaces a server’s multiple I/O cables with a single cable that
provides a shared transport for all network and storage connections. That cable (or commonly
two cables for redundancy) connects to an external device, which then provides connections to
the data center networks.
Server I/O is a critical component to successful and effective server deployments, particularly
with virtualized servers. To accommodate multiple applications, virtualized servers demand more
network bandwidth and connections to more networks and storage. According to a survey, 75%
of virtualized servers require 7 or more I/O connections per device, and are likely to require more
frequent I/O reconfigurations.

11
In virtualized data centers, I/O performance problems are caused by running numerous virtual
machines (VMs) on one server. In early server virtualization implementations, the number of virtual
machines per server was typically limited to six or less. But it was found that it could safely run seven
or more applications per server, often using 80 percentage of total server capacity, an improvement
over the average 5 to 15 percentage utilized with non-virtualized servers.

Sever virtualization
Server virtualization is a virtualization technique that involves partitioning a physical server into a
number of small, virtual servers with the help of virtualization software. In server virtualization, each
virtual server runs multiple operating system instances at the same time.

Types of Sever virtualization


• Hypervisor
• Para Virtualization
• Full virtualization
• Hardware Assisted Virtualization
• Kernel level Virtualization
• System Level or OS virtualization

12

You might also like