Virtualization refers to creating virtual versions of servers, storage, networks and operating systems. There are several types of virtualization including hardware, operating system and server virtualization. A hypervisor manages virtual machines and isolates their resources, allowing multiple operating systems to run simultaneously on a single physical server. Hardware vendors have added virtualization extensions to x86 processors to improve performance and security of virtual machines. Popular virtualization platforms include Xen and VMware which provide hypervisors to emulate hardware and run multiple guest operating systems.
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
352 views
Chapter 2-Virtualization in Cloud Computing
Virtualization refers to creating virtual versions of servers, storage, networks and operating systems. There are several types of virtualization including hardware, operating system and server virtualization. A hypervisor manages virtual machines and isolates their resources, allowing multiple operating systems to run simultaneously on a single physical server. Hardware vendors have added virtualization extensions to x86 processors to improve performance and security of virtual machines. Popular virtualization platforms include Xen and VMware which provide hypervisors to emulate hardware and run multiple guest operating systems.
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15
Virtualization in Cloud
Computing Chapter 2 Introduction
• Virtualization refers to the "creation of a virtual (rather than actual)
version of something, such as a server, a desktop, a storage device, an operating system or network resources". • It is a technique, which allows to share a single physical instance of a resource or an application among multiple customers and organizations by assigning a logical name to a physical storage and providing a pointer to that physical resource when demanded. • Virtualization refers to the abstraction of computer resources, because it hides the physical characteristics of computing resources from their users, the applications, or end users. Characteristics of Virtualization in Cloud Computing • Partitioning: In virtualization, many applications and operating systems (OS) are supported in a single physical system by partitioning (separating) the available resources. • Isolation: Each VM is isolated from its host physical system and other virtualized machines. Because of this isolation, if one virtual-instance crashes, it does not affect the other VMs. In addition, data is not shared between one virtual container and another. • Encapsulation: A VM can be represented (and even stored) as a single file, so its identification is easy, based on the services that it provides. In essence, the encapsulated process could be a business service. This encapsulated VM can be presented to an application as a complete entity. Therefore, encapsulation can protect each application in order to stop its interference with another application. • Consolidation: Virtualization eliminates the need of a dedicated single system to one application and hence, multiple OS can run in the same server. Both old and advanced version of OS may be deployed in the same platform without purchasing additional hardware. Further, new required applications may be run simultaneously on their respective OS. • Easier development flexibility: Application developers may be able to run and test their applications and programs in heterogeneous OS environments on the same virtualized machine. It facilitates the VM to host heterogeneous OS. Isolation of different applications in their respective virtual partition also helps the developers. • Migration and cloning: VM can be moved from one site to another to balance the workload. As the result of migration, users can access updated hardware as well as make recovery from hardware failure. Cloned VMs are easy to deploy in the local sites as well as remote sites. • Stability and security: In a virtualized environment, host OS hosts different types of multiple guest OS containing multiple applications. Each VM is isolated from each other and they do not interfere in to the other's work, which in turn helps the security and stability aspect. Means of Virtualization • Virtualization has been used successful since the late 1950s; • A virtual memory based on paging was first implemented on the Atlas computer at the University of Manchester in the United Kingdom in 1959. • Virtualization simulates the interface with a physical object by any one of four means: • Multiplexing: create multiple virtual objects from one instance of a physical object. • For example, a processor is multiplexed among a number of processes or threads. • Aggregation: Create one virtual object from multiple physical objects. For example, a number of physical disks are aggregated into a RAID (redundant array of inexpensive disks) disk. • Emulation: Construct a virtual object from a different type of a physical object. • For example, a physical disk emulates a Random Access Memory. • Multiplexing and emulation. Examples are: virtual memory with paging multiplexes main memory and secondary storage; a virtual address emulates a real address; the TCP protocol emulates a reliable bit pipe and multiplexes a physical communication channel and a processor. Types of Virtualization • Hardware Virtualization • When the virtual machine software or virtual machine manager (VMM) also known as Hypervisor is directly installed on the hardware system is known as hardware virtualization. • The main job of hypervisor is to control and monitoring the processor, memory and other hardware resources. • After virtualization of hardware system we can install different operating system on it and run different applications on those OS. • Hardware virtualization is mainly done for the server platforms, because controlling virtual machines is much easier than controlling a physical server. • There are the three types of hardware virtualization: • Full Virtualization • In full virtualization, the underlying hardware is completely simulated. Guest software does not require any modification to run. • Para virtualization. • In Para-Virtualization, the hardware is not simulated; instead, the guest software runs its isolated system. • Operating system Virtualization • When the virtual machine software or virtual machine manager (VMM) is installed on the Host operating system instead of directly on the hardware system is known as operating system virtualization. • Operating System Virtualization is mainly used for testing the applications on different platforms of OS. • Server Virtualization • When the virtual machine software or virtual machine manager (VMM) is directly installed on the Server system is known as server virtualization. • Server virtualization is done because a single physical server can be divided into multiple servers on the demand basis and for balancing the load. • Storage Virtualization • Storage virtualization is the process of grouping the physical storage from multiple network storage devices so that it looks like a single storage device. • Storage virtualization is also implemented by using software applications. Storage virtualization is mainly done for back-up and recovery purposes. Hardware support for virtualization • In early 2000, it became obvious that hardware support for virtualization was necessary, and Intel and AMD started working on the first generation virtualization extensions of the x86 architecture. • In 2005, Intel released two Pentium 4 models supporting VT-x (Intel Virtualization Technology), and in 2006, AMD announced Pacifica and then several Athlon 64 models. • The Virtual Machine Extension (VMX) was introduced by Intel in 2006, and AMD responded with the Secure Virtual Machine (SVM) instruction-set extension. • The Virtual Machine Control Structure (VMCS) of VMX tracks the host state, and the guest VMs as control is transferred between them. • Three types of data are stored in VMCS: • Guest state holds virtualized CPU registers (e.g., control registers or segment registers) automatically loaded by the CPU when switching from kernel mode to guest mode on VMEntry. • Host state data is used by the CPU to restore register values when switching back from guest mode to kernel mode on VMExit. • Control data is used by the hypervisor to inject events, such as exceptions or interrupts into VMs and to specify which events should cause a VMExit; it is also used by the CPU to specify the VMExit reason. Hypervisor (Virtual Machine Monitor) • In a cloud computing environment, a hypervisor or virtual-machine monitor runs on the physical hardware and exports hardware-level abstractions to one or more guest operating systems. • A guest OS interacts with the virtual hardware in the same manner it would interact with the physical hardware, but under the watchful eye of the hypervisor that traps all privileged operations and mediates the interactions of the guest OS with the hardware. • For example, a hypervisor would control I/O operations for two virtual disks implemented as two different sets of tracks on a physical disk. • New services can be added without the need to modify an operating system. • Creating a virtual machine over existing operating system and hardware is referred as Hardware Virtualization. • Virtual Machines provide an environment that is logically separated from the underlying hardware. • The machine on which the virtual machine is created is known as host machine and virtual machine is referred as a guest machine. • This virtual machine is managed by a software or firmware, which is known as hypervisor. • The hypervisor is a firmware or low-level program that acts as a Virtual Machine Manager (monitor). • There are two types of hypervisor: • Type 1 hypervisor executes on bare system. • LynxSecure, RTS Hypervisor, Oracle VM, Sun xVM Server, VirtualLogic VLX are examples of Type 1 hypervisor. • The type1 hypervisor does not have any host operating system because they are installed on a bare system. The following diagram shows the Type 1 hypervisor. • Type 2 hypervisor is a software interface that emulates the devices with which a system normally interacts. • Containers, KVM, Microsoft Hyper V, VMWare Fusion, Virtual Server 2005 R2, Windows Virtual PC and VMWare workstation 6.0 are examples of Type 2 hypervisor. • The following diagram shows the Type 2 hypervisor. Virtualization Platforms
• Platform virtualization software, specially emulators and hypervisors, are
software packages that emulate the whole physical computer machine, often providing multiple virtual machines on one physical platform. • Here, we discuss the basic information about platform virtualization hypervisors, namely Xen and VMware hypervisors. • Xen Virtualization • It is available for the Linux kernel, and is designed to consolidate multiple OS to run on a single server, normalize hardware accessed by the OS, isolate misbehaving applications, and migrate running OS instances from one physical server to another. • Recent advances in virtualization technologies, such as enabling data centers to consolidate servers, normalize hardware resources and isolate applications on the same physical server, are driving rapid adoption of server virtualization in Linux environments. Xen architecture • The Xen Project Hypervisor is an exceptionally lean (thin) (<65K SLOC (source line of code) on Arm and <300K SLOC on x86) software layer that runs directly on the hardware and is responsible for managing CPU, memory, and interrupts. • It is the first program running after the bootloader exits. • The hypervisor itself has no knowledge of I/O functions such as networking and storage. • Guest Domains/Virtual Machines are virtualized environments, each running their own operating system and applications. • The hypervisor supports several different virtualization modes. • Guest VMs are totally isolated from the hardware: in other words, they have no privilege to access hardware or I/O functionality. Thus, they are also called unprivileged domain (or DomU). • The Control Domain (or Domain 0) is a specialized Virtual Machine that has special privileges like the capability to access the hardware directly, handles all access to the system’s I/O functions and interacts with the other Virtual Machines. • The Xen Project hypervisor is not usable without Domain 0, which is the first VM started by the system. In a standard set-up, Dom0 contains the following functions: • System Services: such as XenStore/XenBus (XS) for managing settings, the Toolstack (TS) exposing a user interface to a Xen based system, Device Emulation (DE) which is based on QEMU in Xen based systems • Native Device Drivers: Dom0 is the source of physical device drivers and thus native hardware support for a Xen system • Virtual Device Drivers: Dom0 contains virtual device drivers (also called backends). • Toolstack: allows a user to manage virtual machine creation, destruction, and configuration. The toolstack exposes an interface that is either driven by a command line console, by a graphical interface or by a cloud orchestration stack such as OpenStack or CloudStack. Note that several different toolstacks can be used with Xen VMware • The traditional mainframe approach runs virtual machines in a less privileged mode in order to allow the Virtual Machine Monitor (VMM) to regain control on privileged instructions, and relies on the VMM to virtualize and interface directly to the I/O devices. • Also, the VMM is incomplete control of the entire machine. • This approach does not apply as easily to PCs for the following reasons. • Non-virtualizable processor: The Intel IA-32 processor architecture is not naturally virtualizable. Because the IA-32 process or does not meet this condition, it is not possible to virtualize the processor by simply executing all virtual machine instructions in a less privileged mode. • PC hardware diversity: There is a large diversity of devices that may be found in PCs. This is a result of the PC's “open architecture”. In a traditional implementation, the virtual machine monitor would have to manage these devices. This would require a large programming effort to provide device drivers in the VMM for all supported PC devices. • Pre-existing PC software: Unlike mainframes that are configured and managed by experienced system administrators, desktop and workstation PC's are often pre-installed with a standard OS setup and managed by the end user. • In this environment, it is extremely important to allow a user to adopt virtual machine technology without losing the ability to continue using the existing OS and applications. • It would be unacceptable to completely replace an existing OS with a virtual machine monitor. • VMware Workstation has a hosted architecture that allows it to co-exist with a pre-existing host operating system, and rely upon that operating system for device support. • VMware Workstation installs like a normal application on an operating system, known as the host operating system. • When run, the application portion (VMAPP) uses a driver loaded in to the host operating system, (VM DRIVER) to establish the privileged virtual machine monitor component (VMM) that runs directly on the hardware.