virtualization1

5
VIRTUALIZATION Virtualization refers to the practice of simulating multiple virtual machines on a single physical computer. Logically each virtual machine has its own virtualized CPU, memory, storage, networking. Through virtualization the underlying hardware resource can be utilized with more efficiency, applications can run on the same physical computer but its own runtime environment that is isolated from each other Different levels of virtualization: hardware virtualization software virtualization. Hardware virtualization: Hardware virtualization means providing a virtual computer by simulating the underlying hardware, and the virtual computer is capable of running a full copy of operating system. Implementations of Hardware virtualization: Full virtualization: Simulating a full set of the underlying hardware such that most operating systems could run on top of the virtual machine without modifications Partial virtualization: Simulating only some key hardware components, operating systems might need modifications to run in such an environment Paravirtualization: Does not simulating the underlying hardware, but rather shares the underlying hardware through virtual machine manager applications, and most operating systems need modifications to run in such an environment. Virtualization on software level usually refers to the practice of providing multiple isolated runtime environment on top of a single operating system instance, and it is often called container technology. With hardware virtualization, most modern virtualization technologies such as VMWare, Xen and KVM are a combination of full virtualization and paravirtualization. Virtual machines provided by hardware virtualization technologies usually run a full copy of operating system, therefore these exist large amount of similar processes and memory pages on the same host machine. Therefore hardware virtualization is usually referred to as heavy-weight virtualization, and the number of virtual machines that could run on a single host machine is relatively limited.

Upload: dhavamani-prakash

Post on 26-Jan-2015

104 views

Category:

Software


0 download

DESCRIPTION

Virtualization refers to the practice of simulating multiple virtual machines on a single physical computer.

TRANSCRIPT

Page 1: Virtualization1

VIRTUALIZATION

Virtualization refers to the practice of simulating multiple virtual machines on a single physical computer.

Logically each virtual machine has its own virtualized CPU, memory, storage,networking.

Through virtualization the underlying hardware resource can be utilized with more efficiency, applications can run on the same physical computer but its own runtime environment that is isolated from each other

Different levels of virtualization:

hardware virtualizationsoftware virtualization.

Hardware virtualization: Hardware virtualization means providing a virtual computer by simulating the

underlying hardware, and the virtual computer is capable of running a full copy of operating system.

Implementations of Hardware virtualization:

Full virtualization: Simulating a full set of the underlying hardware such that most operating systems could run on top of the virtual machine without modifications

Partial virtualization: Simulating only some key hardware components, operating systems might need modifications to run in such an environment

Paravirtualization: Does not simulating the underlying hardware, but rather shares the underlying hardware through virtual machine manager applications, and most operating systems need modifications to run in such an environment.

Virtualization on software level usually refers to the practice of providing multiple isolated runtime environment on top of a single operating system instance, and it is often called container technology.

With hardware virtualization, most modern virtualization technologies such as VMWare, Xen and KVM are a combination of full virtualization and paravirtualization.

Virtual machines provided by hardware virtualization technologies usually run a full copy of operating system, therefore these exist large amount of similar processes and memory pages on the same host machine.

Therefore hardware virtualization is usually referred to as heavy-weight virtualization, and the number of virtual machines that could run on a single host machine is relatively limited.

Page 2: Virtualization1

Architecture of virtualization

software virtualization

The overhead of running multiple operating system instances does not exist.

software virtualization is usually referred to as light-weight virtualization, and the number of virtual runtime environments that could present on a single host machine is relatively large.

LXC on Linux can easily provide a large amount of virtualized runtime environments.

In terms of virtualization technologies, most companies in China seem to focus more on hardware virtualization, and deploy hardware virtualization in development and production environments.

For a specific application scenario, the decision between hardware virtualization and software virtualization should rely on whether the end users needs control over the operating system.

If the end user only needs control over runtime environment, software virtualization might be a better choice.

Page 3: Virtualization1

Virtualization Management:

In the early days,virtualizationisolated runtime environments on a single physical computer. When the number of physical computers is small, system administrators can manually login to different servers to carry out the virtual machine life cycle management tasks.

When the number of physical computers becomes big, some kind of scripting / application is needed to increase the degree of automation and relief system administrators from tedious works.

Applications that enables system administrators manage multiple physical and virtual computers from a single location are called virtualization management tools.

Such tools can usually accomplish the following tasks:

Manage the life cycles of multiple virtu Query and monitor all physical and virtual computers. Establish a mapping between the name of virtual machines and the actual virtual

machine instances on different computers such that virtual machine identificatmanagement becomes easier.

Virtualization Management:

In the early days,virtualization technologies solved the problem of providing multiple isolated runtime environments on a single physical computer. When the number of physical computers is small, system administrators can manually login to different servers to carry out

ne life cycle management tasks.

When the number of physical computers becomes big, some kind of scripting / application is needed to increase the degree of automation and relief system administrators

that enables system administrators manage multiple physical and virtual computers from a single location are called virtualization management tools.

Such tools can usually accomplish the following tasks:

Manage the life cycles of multiple virtual machines on multiple physical computers.Query and monitor all physical and virtual computers.Establish a mapping between the name of virtual machines and the actual virtual machine instances on different computers such that virtual machine identificatmanagement becomes easier.

technologies solved the problem of providing multiple isolated runtime environments on a single physical computer. When the number of physical computers is small, system administrators can manually login to different servers to carry out

When the number of physical computers becomes big, some kind of scripting / application is needed to increase the degree of automation and relief system administrators

that enables system administrators manage multiple physical and virtual computers from a single location are called virtualization management tools.

al machines on multiple physical computers.

Establish a mapping between the name of virtual machines and the actual virtual machine instances on different computers such that virtual machine identification and

Page 4: Virtualization1

Data Center Virtualization:

In a data center, system administrators need to look after a large amount of different hardware and applications. As compared to a small cluster, the complexity of a data center is significantly different.

Now a simple virtualization management tools is no longer capable of satisfying the need of system administrators.

Therefore people developed data center virtualization management software to meet these new challenges. On the hardware layer, data center virtualization management software created the concept of “resource pools” to reorganize hardware resources, where a pool is usually a group of servers with similar configuration and purpose.

Computing resources are now exposed to the end user in the form of virtual infrastructure, rather than separate servers.

On the software layer, data center virtualization software created different roles for system administrators and regular end users, or more fine-grained role based access control (RBAC) based on the need of a specific application scenario. System administrators have the right to manage all the physical servers and virtual machines, but usually do not interfere the virtual machines that are running normally.

Regular end users can only carry out virtual machine life cycle management tasks within the resource pool that are assigned to them, and do not have the right to manage the physical servers. In the extreme case, regular end users can only see the resource pool that are assigned to them, without any knowledge of the details about the resource pool.

Before data center virtualization technology, the action of creating and managing virtual machines are usually carried out by system administrators. In a data center virtualization software, based on RBAC the virtual machine life cycle management rights are delegated to so called “regular users”, therefore relieves the pressure on system administrators.

Page 5: Virtualization1

However, for security considerations not all employees in a company can have such a “regular user” account, which is usually assigned to managers or team leads. It is safe to assume that in data center virtualization the life cycle of virtual machines are still managed centrally.

Data center virtualization management software is a further extension of virtualization management tools. It solved the problem of system complexity which is introduced by the increasing number of hardware devices and applications.

When specific physical hardware are presented in the form of an abstracted “resource pool”, managers only need to worry about the size, work load, and health status of various resource pools, while end users only need to know about the status of the resource pool that is assigned to them.

Only system administrators need to know by heart the configuration, work load and status of each and every single physical server. However, with the concept of resource pools, all physical devices can be reorganized in a relatively logical way, which makes the life of system administrators easier.

Modern data center virtualization management software usually provides a lot of IT ops automation functionalities. Such functionalities include:

Fast deployment of a number of same or similar runtime environments based on virtual machine templates.

Monitoring, reporting, notification, and accounting. High availability, dynamic workload management, backup and recovery.

Some data center virtualization management software even provides open API’s that allow system administrators to develop and integrate additional functionalities based on the actualy application scenarios.

Among the VMWare product family VMWare vCenter is a powerful data center virtualization management software.

Other good data center virtualization management softwares include:

Convirt,XenServer, Oracle VM and, OpenQRM.