Virtualization Introduction

Similar documents
LINUX Virtualization. Running other code under LINUX

Module 1: Virtualization. Types of Interfaces

CS-580K/480K Advanced Topics in Cloud Computing. VM Virtualization II

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

Virtualization in the Cloud: Featuring Xen Lars Kurth Xen Community Manager

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

Chapter 5 C. Virtual machines

Distributed Systems COMP 212. Lecture 18 Othon Michail

Virtualization in the Cloud Lars Kurth Xen Community Manager

Virtual Machines. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Originally prepared by Lehigh graduate Greg Bosch; last modified April 2016 by B. Davison

Transforming XenServer into a proper open-source project

The only open-source type-1 hypervisor

Virtualization. Michael Tsai 2018/4/16

NON SCHOLAE, SED VITAE

Lecture 5: February 3

CS370 Operating Systems

Virtualization Overview

CSCI 8530 Advanced Operating Systems. Part 19 Virtualization

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Xen Project Overview and Update. Ian Pratt, Chairman of Xen.org, and Chief Scientist, Citrix Systems Inc.

Multiprocessor Scheduling. Multiprocessor Scheduling

What is Cloud Computing? Cloud computing is the dynamic delivery of IT resources and capabilities as a Service over the Internet.

SUSE An introduction...

Linux and Xen. Andrea Sarro. andrea.sarro(at)quadrics.it. Linux Kernel Hacking Free Course IV Edition

CS 470 Spring Virtualization and Cloud Computing. Mike Lam, Professor. Content taken from the following:

CLOUD COMPUTING IT0530. G.JEYA BHARATHI Asst.Prof.(O.G) Department of IT SRM University


Operating Systems 4/27/2015

Xen Community Update. Ian Pratt, Citrix Systems and Chairman of Xen.org

24-vm.txt Mon Nov 21 22:13: Notes on Virtual Machines , Fall 2011 Carnegie Mellon University Randal E. Bryant.

Nested Virtualization and Server Consolidation

Virtual Machine Monitors!

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

A State of Xen: Virtualization from PDAs to Super Computers

Virtualization (II) SPD Course 17/03/2010 Massimo Coppola

Lecture 09: VMs and VCS head in the clouds

Virtualization. Pradipta De

The Architecture of Virtual Machines Lecture for the Embedded Systems Course CSD, University of Crete (April 29, 2014)

Xen Project 4.4: Features and Futures. Russell Pavlicek Xen Project Evangelist Citrix Systems

EE 660: Computer Architecture Cloud Architecture: Virtualization

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

VIRTUALIZATION: IBM VM/370 AND XEN

COS 318: Operating Systems. Virtual Machine Monitors

Parallels Virtuozzo Containers

Deploying Application and OS Virtualization Together: Citrix and Virtuozzo

CHAPTER 16 - VIRTUAL MACHINES

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks

CS370 Operating Systems

Introduction to Cloud Computing and Virtualization. Mayank Mishra Sujesha Sudevalayam PhD Students CSE, IIT Bombay

CS 550 Operating Systems Spring Introduction to Virtual Machines

<Insert Picture Here> Oracle VM October 20, 2010

Virtualization. join, aggregation, concatenation, array, N 1 ühendamine, agregeerimine, konkateneerimine, massiiv

OS Virtualization. Why Virtualize? Introduction. Virtualization Basics 12/10/2012. Motivation. Types of Virtualization.

Virtualization Food Fight. Rik van Riel

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

INNOV-4: Fun With Virtualization. Or, How I learned to love computers that don t really exist...

Cloud Computing Virtualization

Virtualization. Dr. Yingwu Zhu

CSE 120 Principles of Operating Systems

CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives

Cloud and Datacenter Networking

Written and Provided by. Expert Reference Series of White Papers. Virtualization Overview

Oracle VM Workshop Applica>on Driven Virtualiza>on

Virtualization. Darren Alton

CHAPTER 16 - VIRTUAL MACHINES

Cloud Computing Lecture 4

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Virtualization. Virtualization

Virtual Leverage: Server Consolidation in Open Source Environments. Margaret Lewis Commercial Software Strategist AMD

CSC 5930/9010 Cloud S & P: Virtualization

Cloud Builders. Billy Cox. Director Cloud Strategy Software and Services Group

Traditional Desktop Deployment. Desktop Delivery Vision. End to End desktop virtualization. virtualization. virtualization

The Future of Virtualization

for Kerrighed? February 1 st 2008 Kerrighed Summit, Paris Erich Focht NEC

Virtualization Overview

Virtualization. ! Physical Hardware Processors, memory, chipset, I/O devices, etc. Resources often grossly underutilized

ElasterStack 3.2 User Administration Guide - Advanced Zone

Client Automation v8.10 Enterprise, Standard, Starter*

<Insert Picture Here> Virtualisierung mit Oracle VirtualBox und Oracle Solaris Containern

Virtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization

Virtualization. Guillaume Urvoy-Keller UNS/I3S

QuickSpecs. HP Integrated Citrix XenServer. Overview. Retired

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018

<Insert Picture Here> Linux: The Journey, Milestones, and What s Ahead Edward Screven, Chief Corporate Architect, Oracle

Xen Summit Spring 2007

Modern and Fast: A New Wave of Database and Java in the Cloud. Joost Pronk Van Hoogeveen Lead Product Manager, Oracle

Today s Objec4ves. Data Center. Virtualiza4on Cloud Compu4ng Amazon Web Services. What did you think? 10/23/17. Oct 23, 2017 Sprenkle - CSCI325

Zdeněk Kubala Senior QA

Advanced Operating Systems (CS 202) Virtualization

Overview of System Virtualization: The most powerful platform for program analysis and system security. Zhiqiang Lin

LINUX KVM FRANCISCO JAVIER VARGAS GARCIA-DONAS CLOUD COMPUTING 2017

Cloud Computing. Luigi Santangelo Department of Computer Engineering University of Pavia

Learning Outcomes. Extended OS. Observations Operating systems provide well defined interfaces. Virtual Machines. Interface Levels

OPS-9: Fun With Virtualization. John Harlow. John Harlow. About John Harlow

CS370 Operating Systems

ECE 331 Hardware Organization and Design. UMass ECE Discussion 11 4/12/2018

CS370: Operating Systems [Spring 2016] Dept. Of Computer Science, Colorado State University

Improving CPU Performance of Xen Hypervisor in Virtualized Environment

Paperspace. Architecture Overview. 20 Jay St. Suite 312 Brooklyn, NY Technical Whitepaper

Transcription:

Virtualization Introduction Simon COTER Principal Product Manager Oracle VM & VirtualBox simon.coter@oracle.com https://blogs.oracle.com/scoter November 21 st, 2016

Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. 2

What is virtualization? Virtualization is a broad term (virtual memory, storage, network, etc) Virtualization basically allows one computer to do the job of multiple computers, by sharing the resources of a single hardware across multiple environments Virtual Container Virtual Container App. A App. B App. C App. D App. A App. B Operating System Virtualization Layer Hardware Hardware Nonvirtualized system A single OS controls all hardware platform resources App. C App. D Virtualized system It makes it possible to run multiple Virtual Containers on a single physical platform

How did it start? Server virtualization has existed for several decades IBM pioneered more than 30 years ago with the capability to multitask The inception was in specialized, proprietary, high-end server and mainframe systems By 1980/90 servers virtualization adoption initiated a reduction Inexpensive x86 hardware platforms Windows/Linux adopted as server OSs

Computing Infrastructure 2000 1 machine à 1 OS à several applications Applications can affect each other Big disadvantage: machine utilization is very low, most of the times it is below than 25% App App App App App App App App X86 Windows XP X86 Windows 2003 X86 Suse X86 Red Hat 12% Hardware Utilization 15% Hardware Utilization 18% Hardware Utilization 10% Hardware Utilization

Virtualization again x86 server deployments introduced new IT challenges: Low server infrastructure utilization (10-18%) Increasing physical infrastructure costs (facilities, power, cooling, etc) Increasing IT management costs (configuration, deployment, updates, etc) Insufficient failover and disaster protection The solution for all these problems was to virtualize x86 platforms

Computing Infrastructure - Virtualization It matches the benefits of high hardware utilization with running several operating systems (applications) in separated virtualized environments Each application runs in its own operating system Each operating system does not know it is sharing the underlying hardware with others App. A App. B App. C App. D X86 Windows XP X86 Windows 2003 X86 Suse Linux X86 Red Hat Linux X86 Multi-Core, Multi Processor 70% Hardware Utilization

Evolution of Software solutions 1st Generation: Full virtualization 2nd Generation: (Binary rewriting) Paravirtualization Software Based VMware and Microsoft Virtual Machine Cooperative virtualization Modified guest VMware, Xen Virtual Machine VM Dynamic Translation 3rd Generation: Silicon-based (Hardware-assisted) virtualization Unmodified guest VMware and Xen on virtualization-aware hardware platforms VM Virtual Machine Operating System Hypervisor Hypervisor Hardware Hardware Hardware Time Virtual Machine Virtualization Logic

The emulation layer talks to an operating system which talks to the computer hardware The guest OS doesn't see that it is used in an emulated environment All of the hardware is emulated including the CPU Two popular open source emulators are QEMU and Bochs Device Drivers Emulated Hardware Device Drivers Host OS Hardware App. A App. B Guest OS 1st Generation offering of x86/x64 server virtualization Dynamic binary translation Virtual Machine App. C Full Virtualization

Full Virtualization - Advantages The emulation layer Isolates VMs from the host OS and from each other Controls individual VM access to system resources, preventing an unstable VM from impacting system performance Total VM portability By emulating a consistent set of system hardware, VMs have the ability to transparently move between hosts with dissimilar hardware without any problems It is possible to run an operating system that was developed for another architecture on your own architecture A VM running on a Dell server can be relocated to a Hewlett-Packard server

Full Virtualization - Drawbacks Hardware emulation comes with a performance price In traditional x86 architectures, OS kernels expect to run privileged code in Ring 0 However, because Ring 0 is controlled by the host OS, VMs are forced to execute at Ring 1/3, which requires the VMM to trap and emulate instructions Due to these performance limitations, paravirtualization and hardware-assisted virtualization were developed Application Ring 3 Application Ring 3 Guest OS Ring 1 / 3 Operating System Ring 0 Traditional x86 Architecture Virtual Machine Monitor Full Virtualization Ring 0

The VMM is responsible for handling the virtualization requests and putting them to the hardware Device Drivers Specialized API Virtual Machine Monitor Device Drivers Hypervisor Hardware App. A App. B Guest OS the guest is fully aware of how to process privileged instructions thus, privileged instruction translation by the VMM is no longer necessary The guest operating system uses a specialized API to talk to the VMM and, in this way, execute the privileged instructions Virtual Machine The Guest OS is modified and thus run kernel-level operations at Ring 1 (or 3) App. C Para-Virtualization

Para-Virtualization Today, VM guest operating systems are paravirtualized using two different approaches: Recompiling the OS kernel Paravirtualization drivers and APIs must reside in the guest operating system kernel You do need a modified operating system that includes this specific API, requiring a compiling operating systems to be virtualization aware Some vendors (such as Novell) have embraced paravirtualization and have provided paravirtualized OS builds, while other vendors (such as Microsoft) have not Installing paravirtualized drivers In some operating systems it is not possible to use complete paravirtualization, as it requires a specialized version of the operating system To ensure good performance in such environments, paravirtualization can be applied for individual devices For example, the instructions generated by network boards or graphical interface cards can be modified before they leave the virtualized machine by using paravirtualized drivers

Device Drivers Specialized API Virtual Machine Monitor Device Drivers Hypervisor Hardware App. A App. B The guest OS runs at ring 0 The VMM uses processor extensions (such as Intel -VT or AMD-V) to intercept and emulate privileged operations in the guest Hardware-assisted virtualization removes many of the problems that make writing a VMM a challenge The VMM runs in a more privileged ring than 0, a virtual -1 ring is created Guest OS Virtual Machine App. C Hardware-assisted virtualization

Hardware-assisted virtualization Pros It allows to run unmodified Oss (so legacy OS can be run without problems) Cons Speed and Flexibility An unmodified OS does not know it is running in a virtualized environment and so, it can t take advantage of any of the virtualization features It can be resolved using paravirtualization partially

A Brief History of Xen in the Cloud Late 90s Oct 03 06 08 09 11 12 XenoServer Project (Cambridge Univ.) Xen Presented at SOSP Amazon EC2 and Slicehost launched Rackspace Cloud XCP 1.x Cloud Mgmt XCP Announced Linux 3.0 XCP packages in Linux Xen for ARM based Servers PVH mode

Xen.org Guardian of Xen Hypervisor and related OSS Projects Xen Governance similar to Linux Kernel Projects Xen Hypervisor (led by 5 committers, 2 from Citrix) Xen Cloud Platform aka XCP (led by Citrix) Xen ARM : Xen for mobile devices (led by Samsung) PVOPS : Xen components and support in Linux Kernel (led by Oracle) 10+ vendors contributing more than 1% to the project (AWS, AMD, Citrix, GridCentric, Fujitsu, Huawei, iweb, Intel, NSA, Oracle, Samsung, Suse, )

Xen Variants for Server & Cloud Xen Hypervisor XCP Toolstack / Console Default / XL (XM) Libvirt / VIRSH XAPI / XE Increased level of functionality and integration with other components Get Binaries from Linux Distros Linux Distros Debian & Ubuntu ISO from Xen.org Products Oracle VM Huawei UVP Citrix XenServer Used by Many Others 18

Extending the concept of virtualization for desktops Servers Hosted virtualization - mainframes VMMs / Bare Metal hypervisors OS virtualization Desktops Desktop virtualization Server-side workspace virtualization Client-side workspace virtualization Application virtualization Application isolation Application streaming

Desktop Virtualization A VMM or hypervisor running on a physical desktop Examples include: Microsoft Virtual PC Oracle VM VirtualBox Parallels Desktop for Mac VMware Fusion Use cases include: Emulating Windows games on the Macintosh Testing code inside VMs Underpinning client-side workspace virtualization Desktop hypervisors and VMMs don t necessarily scale to meet enterprise needs; that s why most of the providers have server products as well

Server-side workspace virtualization A workspace (desktop operating system with custom configuration) running inside a virtual machine hosted on a server Examples include: VMware VDI Use cases include: Centrally managed desktop infrastructure Security enforcement and lockdown A pool of virtual workspaces resides on the server. Remote users log into them from any networked device via Microsoft s Remote Desktop Protocol (RDP) Users can customize their virtual workspace to their heart s content, while operators enjoy the relatively straightforward task of managing desktop configuration on one central server Connection brokers arbitrate between a pool of virtual workspaces residing on a central server The biggest problem with server-hosted workspace virtualization is that it s a bandwidth hog. Performance is constrained by the performance of your network

Blade & Servers Manually installed servers, manually configured networks, manually configured operating systems, lightly automated deployments

Virtual Machines Software installed servers (guests), partially automated networks, manually configured operating systems, lightly automated deployments

Containers: LXC & Docker Software installed servers (guests), fully automated network setup, automated OS setup, automated application setup, automated deployments, slice up VM into smaller units Each unit appears to the application as owning it s own OS In reality, all units share the same kernel

DevOps DevOps ("development" and "operations") aims at establishing a culture and environment where building, testing, and releasing software, can happen rapidly, frequently, and more reliably.

Vision: Virtualization & Container.together 26

Q&A 27