Virtualization for Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14
13 Slides1.46 MB
Virtualization for Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF
UNF University of NORTH FLORIDA CLOUD COMPUTING On demand provision of computational resources (Infrastructure, Platform, Software). Requires high availability of resources and optimum use. Virtualization is the enabling technology and creates virtual machines that allows a single machine to act as if it were many machines. Benefits of virtualization for cloud computing: Reduces capital expenses and maintenance costs through server consolidation, reduces physical space needed in data centers. Resource Management, Migration, Maintainability, High availability and Fault tolerance are other benefits. Virtualization is implemented using hypervisors. 2
UNF VIRTUALIZATION University of NORTH FLORIDA Machine Stack showing virtualization opportunities Application Libraries Operating System Hardware Creation of a virtual version of hardware using software. Runs several applications at the same time on a single physical server by hosting each of them inside their own virtual machine. By running multiple virtual machines simultaneously, a physical server can be utilized efficiently. Primary approaches to virtualization Platform virtualization Ex : Server Resources virtualization Ex : Storage, Network 3
UNF University of NORTH FLORIDA HYPERVISOR Hypervisor plays an important role in the virtualization scenario by virtualization of hardware. It provides support for running multiple operating systems concurrently in virtual servers created within a physical server. The virtualization layer is the software responsible for hosting and managing all VMs. The virtualization layer is a hypervisor running directly on the hardware. Example: VMWare, Xen, KVM. 4
UNF University of NORTH FLORIDA SERVER WITHOUT VIRTUALIZATION Multiple Software Applications Operating System Hardware CPU Memory DISK Only one OS can run at a time within a server. Under utilization of resources. Inflexible and costly infrastructure. Hardware changes require manual effort and access to the physical server. NIC 5
UNF SERVER WITH VIRTUALIZATION University of NORTH FLORIDA Multiple Software Applications Multiple Software Applications Operating System Operating System Virtual Server 1 Virtual Server 2 Hardware Memory NIC Hypervisor CPU DISK Can run multiple OS simultaneously. Each OS can have different hardware configuration. Efficient utilization of hardware resources. Each virtual machine is independent. Save electricity, initial cost to buy servers, space etc. Easy to manage and monitor virtual machines centrally. 6
UNF HYPERVISOR TYPE University of NORTH FLORIDA Full virtualization Multiple Software Applications Multiple Software Applications Operating System Operating System Virtual Server 1 Virtual Server 2 Hypervisor Memory NIC Hardware CPU DISK Enables hypervisors to run an unmodified guest operating system (e.g. Windows 2003 or XP). Guest OS is not aware that it is being virtualized. E.g.: VMware uses a combination of direct execution and binary translation techniques to achieve full virtualization of server systems. 7
UNF HYPERVISOR TYPE University of NORTH FLORIDA Multiple Software Applications Multiple Software Applications Para virtualized Guest Operating System Para virtualized Guest Operating System Virtual Server 1 Virtual Server 2 Hypervisor / VMM Memory NIC Hardware CPU Para virtualization DISK Involves explicitly modifying guest operating system (e.g. SUSE Linux Enterprise Server 11) so that it is aware of being virtualized to allow near native performance. Improves performance. Lower overhead. E.g.: Xen supports both Hardware Assisted Virtualization (HVM) and Para-Virtualization (PV). 8
UNF VM HYPERVISOR IMPLEMENTATION APPROACHES University of NORTH FLORIDA Bare metal Approach VM Hypervisor Kernel Driver VM Type I Hypervisor. Runs directly on the system hardware. May require hardware assisted virtualization technology support by the CPU. Limited set of hardware drivers provided by the hypervisor vendor. E.g.: Xen, VMWare ESXi Hardware 9
UNF HYPERVISOR IMPLEMENTATION APPROACHES University of NORTH FLORIDA Hosted Approach VM VM Applications Hypervisor Host Operating System Type II Hypervisor. Runs virtual machines on top of a host OS (windows, Unix etc.) Relies on host OS for physical resource management. Host operating system provides drivers for communicating with the server hardware. E.g.: VirtualBox Hardware 10
UNF VMWARE ESXI University of NORTH FLORIDA VM VM VM Bare Metal Approach. Full virtualization. Proven technology. Used for secure and robust virtualization solutions for Hypervisor virtual data centers and cloud infrastructures. Hardware Takes advantage of support for hardware assisted Architecture of VMWare ESXi virtualization for 64-bit OS on 11
UNF University of NORTH FLORIDA Domain Zero Guest VM CITRIX XEN SERVER VM Hypervisor Hardware Architecture of Xen Open source; bare metal. Offers both Hardware Assisted Virtualization (HVM) and ParaVirtualization (PV) Needs virtualization support in the CPU for HVM. Xen loads an initial OS which runs as a privileged guest called “domain 0”. The domain 0 OS, typically a Linux or UNIX variant, can talk directly to the system hardware (whereas the other guests cannot) and also talk directly to the hypervisor itself. It allocates and maps hardware resources for other guest domains. 12
UNF UBUNTU KVM University of NORTH FLORIDA 1. Linux Applications 2. KVM Management Console VM VM Linux Linux Kernel KVM Kernel based virtual machine (Kernel Based VM) Open source. Kernel-level extension to Linux. Full virtualization. Supports full virtualization and hence does not need hardware assisted virtualization support in the CPU. Hardware Architecture of KVM 13