Vous êtes sur la page 1sur 44

What is virtualization?

System-level Virtualization Advanced Virtualization Mechanisms Summary

An Overview of Virtualization Technologies


Pierre Riteau
University of Rennes 1, IRISA INRIA Rennes - Bretagne Atlantique

June 29, 2011 / Contrail Summer School 2011

Pierre Riteau

An Overview of Virtualization Technologies

1/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Introduction

Virtualization ???

Pierre Riteau

An Overview of Virtualization Technologies

2/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Outline

What is virtualization? Concept of Virtualization Dierent Types of Virtualization System-level Virtualization Advanced Virtualization Mechanisms Live Migration Memory Management Snapshots

Pierre Riteau

An Overview of Virtualization Technologies

3/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Concept of Virtualization Dierent Types of Virtualization

Outline

What is virtualization? Concept of Virtualization Dierent Types of Virtualization System-level Virtualization Advanced Virtualization Mechanisms Live Migration Memory Management Snapshots

Pierre Riteau

An Overview of Virtualization Technologies

4/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Concept of Virtualization Dierent Types of Virtualization

Virtualization vs Abstraction

Virtualization is abstraction.

Pierre Riteau

An Overview of Virtualization Technologies

5/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Concept of Virtualization Dierent Types of Virtualization

Virtualization vs Abstraction Virtualization is abstraction.

Pierre Riteau

An Overview of Virtualization Technologies

6/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Concept of Virtualization Dierent Types of Virtualization

Abstraction

Abstraction Oer a simplied interface Computing systems organized as layers of abstraction each layer helps to simplify the system Example of abstractions
A le is an abstraction of disk storage A TCP stream is an abstraction of network packets . . . which are abstraction of electrical signals

Pierre Riteau

An Overview of Virtualization Technologies

7/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Concept of Virtualization Dierent Types of Virtualization

Virtualization

Virtualization Oer a dierent interface Virtualized interface is not necessarily simpler Can be applied to many types of resources
Compute (CPU) Storage (disk) Network

Concept of virtual machine

Pierre Riteau

An Overview of Virtualization Technologies

8/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Concept of Virtualization Dierent Types of Virtualization

Dierent Types of Virtualization

System-level virtualization Process-level Virtualization OS Virtualization

Pierre Riteau

An Overview of Virtualization Technologies

9/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Concept of Virtualization Dierent Types of Virtualization

System-level Virtualization

Emulates a computer similar to a real physical one With CPU(s), memory, disk(s), network interface(s), etc. The virtual machine runs a full OS Full Virtualization vs Paravirtualization Examples: VMware, Xen, KVM

Pierre Riteau

An Overview of Virtualization Technologies

10/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Concept of Virtualization Dierent Types of Virtualization

System-level Virtualization

Userland

Userland

Userland

Kernel

Kernel

Kernel

Physical node
Pierre Riteau An Overview of Virtualization Technologies 11/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Concept of Virtualization Dierent Types of Virtualization

Process-level Virtualization

The virtual machine runs one application (one process) Application has to be written specically for the VM Usually implemented on top of an operating system Example: Java Virtual Machine Advantage
Application is portable among all platforms supporting the VM JVM on Windows, Linux, OS X, PDAs, phones . . .

Disadvantage
Legacy applications have to be rewritten for the VM

Pierre Riteau

An Overview of Virtualization Technologies

12/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Concept of Virtualization Dierent Types of Virtualization

Process-level Virtualization

App OS utilities Process VM


Kernel Physical node

App Process VM

Pierre Riteau

An Overview of Virtualization Technologies

13/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Concept of Virtualization Dierent Types of Virtualization

OS Virtualization

The virtual machine runs a set of userland processes Userland domains are separated Kernel is the same for all userland domains Example: OpenVZ, Solaris zones, FreeBSD jails

Pierre Riteau

An Overview of Virtualization Technologies

14/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Concept of Virtualization Dierent Types of Virtualization

OS Virtualization

Userland

Userland

Userland

Kernel Physical node

Pierre Riteau

An Overview of Virtualization Technologies

15/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Outline

What is virtualization? Concept of Virtualization Dierent Types of Virtualization System-level Virtualization Advanced Virtualization Mechanisms Live Migration Memory Management Snapshots

Pierre Riteau

An Overview of Virtualization Technologies

16/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

System-level Virtualization

Virtual machines are managed by another software layer Hypervisor / Virtual Machine Manager (VMM) Can be of two dierent types
Type 1: native, runs directly on hardware Type 2: hosted on top of another operating system Host OS

Pierre Riteau

An Overview of Virtualization Technologies

17/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Type 1 Hypervisor
Privileged domain Guest domains

Userland

Userland

Userland

Privileged OS

Guest OS

Guest OS

Type 1 Hypervisor Hardware

Pierre Riteau

An Overview of Virtualization Technologies

18/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Type 2 Hypervisor
Guest domains
Userland
Userland

Userland

Guest OS

Guest OS

Type 2 Hypervisor Host OS Hardware

Pierre Riteau

An Overview of Virtualization Technologies

19/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Full Virtualization

Full Virtualization Run an OS without modication Initiated by IBM in 1967 with the CP-40 system Run natively most processor instructions Trap and emulate privileged instructions (I/O access, system CPU registers, . . . ) Example
Virtual machine application runs a ADD instruction runs directly on processor without hypervisor being involved Virtual machine kernel reads the current system level trapped by hypervisor and emulated to show a fake value

Pierre Riteau

An Overview of Virtualization Technologies

20/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Paravirtualization

Modify the guest OS to improve performance Make the guest OS aware that it is being virtualized Modify privileged instructions in the guest OS to avoid traps Replace by an interaction between the guest OS and the hypervisor interface Examples
Disco (Stanford University, 1997) Xen (University of Cambridge, 2003)

Pierre Riteau

An Overview of Virtualization Technologies

21/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Paravirtualized drivers

Keep the guest OS unmodied . . . . . . but write drivers that know the system is virtualized Emulation of a real device simple virtual device Examples
virtio in KVM for Linux guests VMware Tools for Windows/Linux guests

Used for I/O devices requiring high performance


Network I/O Disk I/O

Pierre Riteau

An Overview of Virtualization Technologies

22/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Problems with virtualizing the Intel x86

Classical x86 architecture is not virtualizable Some privileged instructions dont generate traps sensitive instructions Concept of ring levels
Normal system
OS runs in ring 0 applications in ring 3

Virtualized setting
hypervisor runs in ring 0 guest OS in ring 3

Pierre Riteau

An Overview of Virtualization Technologies

23/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

How to virtualize the Intel x86

Binary translation recompilation of code hypervisor analyzes guest code and replaces it with emulated code Paravirtualization Hardware support
creates ring -1 for hypervisor guest OS can run in ring 0 AMD-V & VT-x

Pierre Riteau

An Overview of Virtualization Technologies

24/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Outline

What is virtualization? Concept of Virtualization Dierent Types of Virtualization System-level Virtualization Advanced Virtualization Mechanisms Live Migration Memory Management Snapshots

Pierre Riteau

An Overview of Virtualization Technologies

25/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Live Migration of Processes

Migration of processes has long been researched Oers many advantages


Load balancing Power eciency Transparent infrastructure maintenance

Problems
Complex implementations required to migrate all system resources Residual dependencies

Pierre Riteau

An Overview of Virtualization Technologies

26/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Live Migration of Virtual Machines


Virtual machines provide complete encapsulation of
Applications Libraries Operating system

Possible to serialize the state of a VM between physical hosts


Live Migration

VM

VM

Source Host
Pierre Riteau

Destination Host
An Overview of Virtualization Technologies 27/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Live Migration of VMs in LANs

Transfer VM state from source host to destination host VM state


Processor state (CPU registers) Device state (hardware registers) Memory content

What about storage and network resources? Shared storage (e.g. NFS) no migration needed Network trac redirected with gratuitous ARP/RARP frames

Pierre Riteau

An Overview of Virtualization Technologies

28/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Live Migration of Virtual Machines


VM disk

ARP/RARP frame Shared FS Server

VM
Live Migration

VM

Source Host

Destination Host
An Overview of Virtualization Technologies 29/44

Pierre Riteau

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Pre-Copy Live Migration

Traditional method used for migration of processes Iterative process


Copy all memory content to the destination host (while the VM continues running) Do multiples iterations to copy modied memory pages during the previous period When enough iterations have been done, stop the VM and
Copy the remaining modied memory pages Copy the CPU and device state

Resume VM on destination host

Pierre Riteau

An Overview of Virtualization Technologies

30/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Post-Copy Live Migration

Pre-copy: can present long downtime in the last phase


if the application modies a large working set if the available bandwidth is low

Post-copy algorithm
Start by copying CPU and device state Resume VM execution on the destination host Fetch memory on demand when accessed

Reduces downtime over pre-copy Can lower performance because of memory access latency

Pierre Riteau

An Overview of Virtualization Technologies

31/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Trace & Replay Live Migration

Use pre-copy as the basic migration algorithm Instead of sending modied memory pages send external events of the VM to replay the modications e.g., network packet received modify network card registers Greatly reduces amount of data to send between hosts Problem: not working for SMP VMs as CPU synchronization would be too costly

Pierre Riteau

An Overview of Virtualization Technologies

32/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Live Migration over Wide Area Networks


Live migration between dierent infrastructures/data centers/clouds

Internet

VM disk

Shared FS Server

VM

Live Migration

VM

Source Host

Destination Host

Pierre Riteau

An Overview of Virtualization Technologies

33/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Live Migration of Storage

Need to replicate data to the destination infrastructure Mechanism similar to pre-copy live migration Copy the whole disk content Iteratively synchronize changes Examples: KVM migration, DRBD

Pierre Riteau

An Overview of Virtualization Technologies

34/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Network Support for Live Migration

Not possible to redirect trac with ARP/RARP frames between dierent IP networks Solutions based on encapsulating trac in a tunnel over WAN Or Mobile IPv6 mechanisms

Pierre Riteau

An Overview of Virtualization Technologies

35/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Live Migration Optimizations

Objective: Minimize downtime Means: Reduce amount of data to send Several approaches
Data Compression Page Delta Transfer Data Deduplication

Pierre Riteau

An Overview of Virtualization Technologies

36/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Data Compression

Compress memory pages sent over the network Trivial approach: compress zerod memory pages General approach: use regular compression (gzip) More complicated: adaptive memory compression

Pierre Riteau

An Overview of Virtualization Technologies

37/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Page Delta Transfer

Memory pages are 4 KB on x86 Modify 1 byte in the page transfer 4 KB Delta transfer mechanism:
Keep copy of original page Computer dierences between original and new page Send di instead of full content

Pierre Riteau

An Overview of Virtualization Technologies

38/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Data Deduplication

VMs can contain identical data in multiple memory pages Deduplication retains only one unique copy of each memory page Duplicate detection based on fast hash algorithm + full data comparison in case of match

Pierre Riteau

An Overview of Virtualization Technologies

39/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Memory Management

Virtualization properties
Multiplexing of several guest OS Isolation

Consolidation: running multiple systems on one physical host Multiple guest OS compete for memory of host

Pierre Riteau

An Overview of Virtualization Technologies

40/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Ballooning

Paravirtualized driver runs in the VM Responds to hypervisor requests for memory Inate/deate its memory allocation Memory is given back to the hypervisor Can be used by other VMs afterwards

Pierre Riteau

An Overview of Virtualization Technologies

41/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Page Sharing

Typical to run multiple times the OS on one host Each OS will have its own copy of code and data from
kernel libraries applications

Detect identical pages in multiples VMs of the same host Merge identical pages to reduce memory consumption Mark shared pages as read-only to do copy on write

Pierre Riteau

An Overview of Virtualization Technologies

42/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Live Migration Memory Management Snapshots

Snapshots

Snapshot = save full state (memory + storage) of a VM Allows to return to a previous state Some scenarios
Wrong conguration change rollback to snapshot Failed OS update rollback to snapshot

Copy-On-Write (COW) for storing changes Store only modications made on writes

Pierre Riteau

An Overview of Virtualization Technologies

43/44

What is virtualization? System-level Virtualization Advanced Virtualization Mechanisms Summary

Summary

Virtualization oers dierent interfaces (= abstration). Concept of virtual machine as an execution platform Dierent kinds of virtual machines System-level virtualization allows to execute regular OS Features oered by system-level virtualization
Live migration in LAN or WAN Memory balancing/sharing Snapshots

Pierre Riteau

An Overview of Virtualization Technologies

44/44

Vous aimerez peut-être aussi