Top Banner
Virtualization 1. Introduction Virtualization is a proven software technology that is rapidly transforming the IT landscape and fundamentally changing the way that people compute. Today’s powerful x86 computer hardware was designed to run a single operating system and a single application. This leaves most machines vastly underutilized. Virtualization lets you run multiple virtual machines on a single physical machine, sharing the resources of that single computer across multiple environments. Different virtual machines can run different operating systems and multiple applications on the same physical computer. Virtualization is a framework or methodology of dividing the resources of a computer into multiple execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, time-sharing, partial or complete machine simulation, emulation, quality of service, and many others. Virtualization is technology for supporting execution of computer program code, from applications to entire operating systems, in a software-controlled environment. Such a Virtual Machine (VM) environment abstracts available system resources (memory, storage, CPU core(s), I/O, etc.) and presents them in a regular fashion, such that “guest” software cannot distinguish VM-based execution from running on bare physical hardware. A virtual machine provides a software environment that allows software to run on  bare hardware. This environment is created by a virtual-machine monitor, also known as a hypervisor. A v irtual machine is an efficient, isolated duplicate of the rea l machine. The hypervisor presents an interface that looks like hardware to the “guest” operating system. It allows multiple operating system instances to run concurrently on a single computer; it is a means of separating hardware from a single operating system. It can control the guests’ use of CPU, memory, and storage, even allowing a guest OS to migrate from one machine to another. Dept. of TCE, K.S.I.T Page 1
21

Abhi Final Report

Apr 07, 2018

Download

Documents

Chanda Reddy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 1/21

Virtualization

1. Introduction

Virtualization is a proven software technology that is rapidly transforming the IT

landscape and fundamentally changing the way that people compute. Today’s powerful

x86 computer hardware was designed to run a single operating system and a single

application. This leaves most machines vastly underutilized. Virtualization lets you run

multiple virtual machines on a single physical machine, sharing the resources of that single

computer across multiple environments. Different virtual machines can run different

operating systems and multiple applications on the same physical computer.

Virtualization is a framework or methodology of dividing the resources of a computer 

into multiple execution environments, by applying one or more concepts or technologies such

as hardware and software partitioning, time-sharing, partial or complete machine simulation,

emulation, quality of service, and many others.

Virtualization is technology for supporting execution of computer program code, from

applications to entire operating systems, in a software-controlled environment. Such a Virtual

Machine (VM) environment abstracts available system resources (memory, storage, CPU

core(s), I/O, etc.) and presents them in a regular fashion, such that “guest” software cannot

distinguish VM-based execution from running on bare physical hardware.

A virtual machine provides a software environment that allows software to run on

 bare hardware. This environment is created by a virtual-machine monitor, also known as a

hypervisor. A virtual machine is an efficient, isolated duplicate of the real machine. The

hypervisor presents an interface that looks like hardware to the “guest” operating system. It

allows multiple operating system instances to run concurrently on a single computer; it is a

means of separating hardware from a single operating system. It can control the guests’ use of 

CPU, memory, and storage, even allowing a guest OS to migrate from one machine to

another.

Dept. of TCE, K.S.I.T Page 1

Page 2: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 2/21

Virtualization

Fig (1): Virtual Machine

Virtualization commonly refers to native virtualization, where the VM platform and

the guest software target the same microprocessor instruction set and comparable system

architectures. Virtualization can also involve execution of guest software cross-compiled for a

different instruction set or CPU architecture; such emulation or simulation environments help

developers bring up new processors and cross-debug embedded hardware.

It is also a method of partitioning one physical server computer into multiple “virtual”

servers, giving each the appearance and capabilities of running on its own dedicated machine.

Each virtual server functions as a full-fledged server and can be independently rebooted.

 

Dept. of TCE, K.S.I.T Page 2

Page 3: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 3/21

Virtualization

2. History of Virtuali zation

Virtualization is a proven concept that was first developed in the 1960s by IBM as a

way to logically partition large, mainframe hardware into separate virtual machines.

These partitions allowed mainframes to "multitask"; run multiple applications and

 processes at the same time.

Virtualization was effectively abandoned during the 1980s and 1990s when client-

server applications and inexpensive x86 servers and desktops established the model of 

distributed computing. The growth in x86 server and desktop deployments has

introduced new IT infrastructure and operational challenges. These challenges include:

Low Infrastructure Utilization - Typical x86 server deployments achieve an

average utilization of only 10% to 15% of total capacity. Organizations typically run one

application per server to avoid the risk of vulnerabilities in one application affecting the

availability of another application on the same server.

Increasing Physical Infrastructure Costs - The operational costs to support

growing physical infrastructure have steadily increased. Most computing infrastructure

must remain operational at all times, resulting in power consumption, cooling and

facilities costs that do not vary with utilization levels.

Increasing IT Management Costs - As computing environments become more complex,

the level of specialized education and experience required for infrastructure

management personnel and the associated costs of such personnel have increased.

Organizations spend disproportionate time and resources on manual tasks associated with

server maintenance, and thus require more personnel to complete these tasks.

Insufficient Failover and Disaster Protection - Organizations are increasingly affected

  by the downtime of critical server applications and inaccessibility of critical end user 

desktops. The threat of security attacks, natural disasters, health pandemics and terrorism

has elevated the importance of business continuity planning for both desktops and servers.

High Maintenance end-user desktops - Managing and securing enterprise desktops

  present numerous challenges. Controlling a distributed desktop environment and

Dept. of TCE, K.S.I.T Page 3

Page 4: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 4/21

Virtualization

enforcing management, access and security policies without impairing users' ability to

work effectively is complex and expensive.

Today, computers based on x86architecture are faced with the same problems of 

rigidity and underutilization that mainframes faced in the 1960s.

Today's powerful x86 computer hardware was originally designed to run only a single

operating system and a single application, but virtualization breaks that bond, making

it possible to run multiple operating systems and multiple applications on the same

computer at the same time, increasing the utilization and flexibility of hardware.

Why Virtuali zation: A List of 

Reasons

Following are some reasons for and benefits of virtualization:

○ Virtual machines can be used to consolidate the workloads of several under-utilized

servers to fewer machines, perhaps a single machine (server consolidation).

○ The need to run legacy applications is served well by virtual machines. A legacy

application might simply not run on newer hardware and/or operating systems. Even

if it does, if may under-utilize the server,

○ Virtual machines can be used to provide secure, isolated sandboxes for running

untrusted applications. You could even create such an execution environment

dynamically - on the fly - as you download something from the Internet and run it.

○ Virtual machines can be used to create operating systems, or execution environments

with resource limits, and given the right schedulers, resource guarantees.

○ Virtual machines can provide the illusion of hardware, or hardware configuration that

you do not have (such as SCSI devices, multiple processors,) Virtualization can also be used to simulate networks of independent computers.

○ Virtual machines can be used to run multiple operating systems simultaneously:

different versions, or even entirely different systems, which can be on hot standby.

Some such systems may be hard or impossible to run on newer real hardware.

○ Virtual machines allow for powerful debugging and performance monitoring.

○ Virtual machines can isolate what they run, so they provide fault and error 

containment. You can inject faults proactively into software to study its subsequent

 behavior.

Dept. of TCE, K.S.I.T Page 4

Page 5: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 5/21

Virtualization

○ Virtual machines are great tools for research and academic experiments. Since they

 provide isolation, they are safer to work with. They encapsulate the entire state of a

running system: you can save the state, examine it, modify it, reload it, and so on. The

state also provides an abstraction of the workload being run.

○ Virtualization can enable existing operating systems to run on shared memory

multiprocessors.

3.Virtual machine & Hyp ervisor

VIRTUAL MACHINE

Virtual machine (VM) is a software implementation of a machine (computer) that

executes programs like a real machine.

Dept. of TCE, K.S.I.T Page 5

Page 6: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 6/21

Virtualization

Fig(4): Connectix Virtual PC version 3 in Mac OS 9, running a Windows 95

A virtual machine was originally defined by Popek and Goldberg as "an efficient,

isolated duplicate of a real machine".

Virtual machines are separated into two major categories, based on their use

and degree of correspondence to any real machine. A system virtual machine provides a

complete system platform which supports the execution of a complete operating system

(OS). Process virtual machine is designed to run a single program, which means that it

supports a single process. An essential characteristic of a virtual machine is that the

software running inside is limited to the resources and abstractions provided by the virtual

machine -- it cannot break out of its virtual world.

System virtual machines

System virtual machines (sometimes called hardware virtual machines) allow

the sharing of the underlying physical machine resources between different virtual

machines, each running its own operating system. The software layer providing the

virtualization is called a virtual machine monitor or hypervisor. A hypervisor can run

on bare hardware

(Type 1 or native VM) or on top of an operating system (Type 2 or hosted

VM). The main advantages of system VMs are:

○ multiple OS environments can co-exist on the same computer, in strong isolation from

each other 

○ the virtual machine can provide an instruction set architecture (ISA) that is

Dept. of TCE, K.S.I.T Page 6

Page 7: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 7/21

Virtualization

somewhat different from that of the real machine.

The guest OS’s do not have to be all the same, making it possible to run different OS’s on

the same computer (e.g., Microsoft Windows and Linux, or older versions of an OS in

order to support software that has not yet been ported to the latest version).

Process virtual machines

A process VM, sometimes called an application virtual machine, runs as a

normal application inside an OS and supports a single process. It is created when that

  process is started and destroyed when it exits. Its purpose is to provide a platform-

independent programming environment that abstracts away details of the

underlying hardware or operating system, and allows a program to execute in the same

way on any platform.

A process VM provides a high-level abstraction — that of a high-level

  programming language (compared to the low-level ISA abstraction of the system VM).

Process VMs are implemented using an interpreter; performance comparable to compiled

 programming languages is achieved by the use of just-in-time compilation.

4 . Hypervisor

A hypervisor, also called virtual machine monitor  (VMM ), is a computer hardware platform virtualization software that allows multiple operating systems to run

on a host computer concurrently.

Dept. of TCE, K.S.I.T Page 7

Page 8: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 8/21

Virtualization

In computing, a hypervisor, also called virtual Machine Manager (VMM), is one of many

virtualization techniques which allow multiple operating systems, termed guests, to run

concurrently on a host computer, a feature called hardware virtualization. It is so named because it

is conceptually one level higher than a supervisor. The hypervisor presents to the guest operating

systems a virtual operating platform and manages the execution of the guest operating systems.

Multiple instances of a variety of operating systems may share the virtualized hardware resources.

Hypervisors are installed on server hardware whose only task is to run guest operating systems.

 Non-hypervisor virtualization systems are used for similar tasks on dedicated server hardware, but

also commonly on desktop.

 Classifications 

Hypervisors are classified in two types:

Type 1 (or  native, bare-metal ) hypervisors are software systems that run directly on the host's

hardware as a hardware control and guest operating system monitor. A guest operating system thus

runs on another level above the hypervisor.

Type 2 (or  hosted ) hypervisors are software applications running within a conventional operating

Dept. of TCE, K.S.I.T Page 8

Page 9: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 9/21

Virtualization

system environment. Considering the hypervisor layer being a distinct software layer, guest operating

systems thus run at the third level above the hardware.

5.Popek and Goldberg virtualization requirements

The Popek and Goldberg virtualization requirements are a set of 

sufficient conditions for computer architecture to efficiently support system

virtualization. They were introduced by Gerald J. Popek and Robert P. Goldberg in their 

1974 article " Formal Requirements for Virtualizable Third Generation Architectures".

There are three properties of interest when analyzing the environment created by aVMM:

 Equivalence: A program running under the VMM should exhibit a behavior essentially identicalto that demonstrated when running on an equivalent machine directly.

Dept. of TCE, K.S.I.T Page 9

Page 10: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 10/21

Virtualization

 Resource control : The VMM must be in complete control of the virtualized resources.

 Efficiency: A statistically dominant fraction of machine instructions must be executed withoutVMM intervention.

In Popek and Goldberg terminology, a VMM must present all three properties.

VMM are typically assumed to satisfy the equivalence and resource control properties.

So, in a sense, Popek and Goldberg's VMMs are today's efficient VMM.

The main result of Popek and Goldberg's analysis can then be expressed asfollows.

Theorem 1. For any conventional third-generation computer, a VMM may be constructedif the set of sensitive instructions for that computer is a subset of the set of 

 privileged instructions.

Theorem 2. A conventional third-generation computer is recursively Virtualizable if 

1. It is Virtualizable and

2. A VMM without any timing dependencies can be constructed for it.

6.Classification o f Virtuali zation

Here we discuss about different types of virtualization.

Platform virtualization, which separates an operating system from the underlying platform

resources

o Full virtualization

o Hardware-assisted virtualization

o Partial virtualization

Resource virtualization, the virtualization of specific system resources, such as storage volumes,

name spaces, and network resources

Storage virtualization, the process of completely abstracting logical storage

from physical storage

RAID - redundant array of independent disks

Disk partitioning

Dept. of TCE, K.S.I.T Page 10

Page 11: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 11/21

Virtualization

Network virtualization, creation of a virtualized network addressing space within or across

network subnets.

Application virtualization, the hosting of individual applications on alien hardware/software

Desktop virtualization, the remote manipulation of a computer desktop

7. Platform virtuali zation

Platform virtualization is a virtualization of computers or operating systems. It hides the

 physical characteristics of computing platform from the users, instead showing another 

abstract, emulated computing platform.

Dept. of TCE, K.S.I.T Page 11

Page 12: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 12/21

Virtualization

Concept

The creation and management of virtual machines has been called

 platform virtualization, or   server virtualization.

Platform virtualization is performed on a given hardware platform by host software

(a control program), which creates a simulated computer environment, a virtual machine,

for its  guest  software. The guest software, which is often itself a complete operating

system, runs just as if it were installed on a stand-alone hardware platform. Typically,

many such virtual machines are simulated on a single physical machine, their number 

limited by the host’s hardware resources. Typically there is no requirement for a guest

OS to be the same as the host one. The guest system often requires access to specific

  peripheral devices to function, so the simulation must support the guest's interfaces to

those devices. Trivial examples of such devices are hard disk drive or network interface

card.

Dept. of TCE, K.S.I.T Page 12

Page 13: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 13/21

Virtualization

There are several approaches to platformvirtualization.

Fullvirtualization

In full virtualization, the virtual machine simulates enough hardware to allow

an unmodified "guest" OS (one designed for the same instruction set) to be run in isolation.

This approach was pioneered in 1966 with IBM CP-40 and CP-67, predecessors of VM

family.

Hardware-assistedvirtualization

In hardware-assisted virtualization, the hardware provides architectural support that

facilitates building a virtual machine monitor and allows guest OSes to be run in isolation.

In

2005 and 2006, Intel and AMD provided additional hardware to support virtualization.

Examples include Linux KVM, VMware Workstation, VMware Fusion, Microsoft

Virtual PC, Xen, Parallels Desktop for Mac, VirtualBox and Parallels Workstation.

Partial

Dept. of TCE, K.S.I.T Page 13

Page 14: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 14/21

Page 15: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 15/21

Virtualization

The virtualization of specific system resources, such as storage volumes, name

spaces, and network resources is the resource virtualization.

Storage Virtuali zation\Server Virtualization

Storage virtualization is the pooling of multiple physical storage resources into

what appears to be a single storage resource that is centrally managed. Storage

virtualization automates tedious and extremely time-consuming storage administration

tasks. This means the storage administrator can perform the tasks of backup, archiving,

and recovery more easily and in less time, because the overall complexity of the

storage infrastructure is disguised. Storage virtualization is commonly used in file

systems, storage area networks (SANs), switches and virtual tape systems. Users can

implement storage virtualization with software, hybrid hardware or software appliances.

Virtualization hides the physical complexity of storage from storage administrators and

applications, making it possible to manage all storage as a single resource. In addition to

easing the storage management burden, this approach dramatically improves the efficiency

and cuts overall costs.

The A dvantages of Storage V i rtua liz ation

Storage virtualization provides many advantages.

First, it enables the pooling of multiple physical resources into a smaller number 

of resources or even a single resource, which reduces complexity. Many environments

have become complex, which increases the storage management gap. With regard to

resources, pooling is an important way to achieve simplicity. A second advantage of 

using storage virtualization is that it automates many time-consuming tasks. In other 

words, policy-driven virtualization tools take people out of the loop of addressing eachalert or interrupt in the storage business. A third advantage of storage virtualization is that

it can be used to disguise the overall complexity of the infrastructure.

Dept. of TCE, K.S.I.T Page 15

Page 16: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 16/21

Page 17: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 17/21

Page 18: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 18/21

Virtualization

Fig (8): VMware Workstation 6.5 running Ubuntu The Snapshot Manager in VMware

Workstation 6

VMware Workstation is a virtual machine software suite for x86 and x86-64

computers from VMware, a division of EMC Corporation. This software suite allows users

to set up multiple x86 and x86-64 virtual computers and to use one or more of these virtual

machines simultaneously with the hosting operating system. Each virtual machine instance

can execute its own guest operating system, such as Windows, Linux, BSD variants, or 

others. In simple terms, VMware Workstation allows one physical machine to run multiple

operating systems simultaneously.

Microsoft VirtualServer

Microsoft Virtual Server is a virtualization solution that facilitates the creation

of virtual machines on the Windows XP, Windows Vista and Windows Server 2003

operating systems. Originally developed by Connectix, it was acquired by Microsoft

 prior to release. Virtual PC is Microsoft's related desktop virtualization software package.

Virtual machines are created and managed through an IIS web-based interface

or through a Windows client application tool called VMRCplus.

Microsoft VirtualPC

Dept. of TCE, K.S.I.T Page 18

Page 19: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 19/21

Virtualization

Microsoft Virtual PC is a virtualization suite for Microsoft Windows operating

systems, and an emulation suite for Mac OS X on PowerPC-based systems. The software

was originally written by Connectix, and was subsequently acquired by Microsoft. In

July 2006

Microsoft released the Windows-hosted version as a free product. In August 2006

Microsoft announced the Macintosh-hosted version would not be ported to Intel-based

Macintoshes, effectively discontinuing the product as PowerPC-based Macintoshes

are no longer manufactured.

VirtualBox

VirtualBox is an x86 virtualization software package, originally created by

German software company innotek, now developed by Sun Microsystems as part of its

Sun xVM virtualization platform. It is installed on an existing host operating system;

within this application, additional operating systems, each known as a Guest OS , can be

loaded and run, each with its own virtual environment.

Xen

Xen is a virtual machine monitor for IA-32, x86, x86-64, IA-64 and PowerPC

970 architectures. It allows several guest operating systems to be executed on the same

computer hardware concurrently. Xen was initially created by the University of 

Cambridge Computer 

1 1 .C onclusion

Virtualization dramatically improves the efficiency and availability of resources and

applications. Earlier Internal resources are underutilized under the old “one server,

Dept. of TCE, K.S.I.T Page 19

Page 20: Abhi Final Report

8/6/2019 Abhi Final Report

http://slidepdf.com/reader/full/abhi-final-report 20/21

Virtualization

one application” model and users spend too much time managing servers rather innovating.

By virtualization platform, users can respond faster and more efficiently than ever before.

Users can save50-70% on overall IT costs by consolidating their resource pools and

delivering highly available machines.

Other major improvements by using virtualization are that they can:

○ Reduce capital costs by requiring less hardware and lowering operational

costs while increasing your server to admin ratio

○ Ensure enterprise applications perform with the highest availability and

 performance

○ Build up business continuity through improved disaster recovery

solutions and deliver high availability throughout the datacenter 

○ Improve desktop management with faster deployment of desktops and fewer 

support calls due to application conflicts.

○ Even after the implementations of distributed computing and other 

technologies, virtualization proved to be an effective in using the available

resources of a system fully in an efficient way.

Dept. of TCE, K.S.I.T Page 20