Presentation is loading. Please wait.

Presentation is loading. Please wait.

Virtualizzazione: Xen. Tipi di virtualizzazione Singola immagine di SO (Virtuozo,…) –Usa container di risorse –Poco isolamento Virtualizzazione piena:VirtualBox,

Similar presentations


Presentation on theme: "Virtualizzazione: Xen. Tipi di virtualizzazione Singola immagine di SO (Virtuozo,…) –Usa container di risorse –Poco isolamento Virtualizzazione piena:VirtualBox,"— Presentation transcript:

1 Virtualizzazione: Xen

2 Tipi di virtualizzazione Singola immagine di SO (Virtuozo,…) –Usa container di risorse –Poco isolamento Virtualizzazione piena:VirtualBox, Qemu, … –Esegue copie di SO completi –Poco efficiente Para-virtualizzazione (UML, Xen) –Esegue SO completi su architetture particolari (es: XEN/x86)

3 Vantaggi Evita la sottoutilizzazione dei server Riduce il downtime grazie alla rilocazione Semplifica il load-balancing Rinforza le politiche di sicurezza

4 XEN: caratteristiche Secure isolation between VMs Resource control and QoS Only guest kernel needs to be ported –User-level apps and libraries run unmodified –Linux 2.4/2.6, NetBSD, FreeBSD, Plan9, Solaris Execution performance close to native Broad x86 hardware support Live Relocation of VMs between Xen nodes

5 Para-virtualizzazione Xen estende l’architettura x86 –Simile a x86, Xen è invocato per le operazioni con privilegi –Avoids binary rewriting –Minimize number of privilege transitions into Xen –Modifications relatively simple and self-contained Modify kernel to understand virtualised env. –Wall-clock time vs. virtual processor time Desire both types of alarm timer –Expose real resource availability Enables OS to optimise its own behaviour

6 Xen 3.0 Architecture Event Channel Virtual MMUVirtual CPU Control IF Hardware (SMP, MMU, physical memory, Ethernet, SCSI/IDE) Native Device Driver GuestOS (XenLinux) Device Manager & Control s/w VM0 Native Device Driver GuestOS (XenLinux) Unmodified User Software VM1 Front-End Device Drivers GuestOS (XenLinux) Unmodified User Software VM2 Front-End Device Drivers Unmodified GuestOS (WinXP)) Unmodified User Software VM3 Safe HW IF Xen Virtual Machine Monitor Back-End VT-x x86_32 x86_64 IA64 AGP ACPI PCI SMP

7 ring 3 x86_32 Xen reserves top of VA space Segmentation protects Xen from kernel System call speed unchanged Xen 3 now supports PAE for >4GB mem Kernel User 4GB 3GB 0GB Xen S S U ring 1 ring 0

8 x86_64 Large VA space makes life a lot easier, but: No segment limit support  Need to use page-level protection to protect hypervisor Kernel User 2 64 0 Xen U S U Reserved 2 47 2 64 -2 47

9 x86_64 Run user-space and kernel in ring 3 using different pagetables –Two PGD’s (PML4’s): one with user entries; one with user plus kernel entries System calls require an additional syscall/ret via Xen Per-CPU trampoline to avoid needing GS in Xen Kernel User Xen U S U syscall/sysret r3 r0 r3

10 Para-Virtualizing the MMU Guest OSes allocate and manage own PTs –Hypercall to change PT base Xen must validate PT updates before use –Allows incremental updates, avoids revalidation Validation rules applied to each PTE: 1. Guest may only map pages it owns* 2. Pagetable pages may only be mapped RO Xen traps PTE updates and emulates, or ‘unhooks’ PTE page for bulk updates

11 I/O Architecture Xen IO-Spaces delegate guest OSes protected access to specified h/w devices –Virtual PCI configuration space –Virtual interrupts –(Need IOMMU for full DMA protection) Devices are virtualised and exported to other VMs via Device Channels –Safe asynchronous shared memory transport –‘Backend’ drivers export to ‘frontend’ drivers –Net: use normal bridging, routing, iptables –Block: export any blk dev e.g. sda4,loop0,vg3 (Infiniband / Smart NICs for direct guest IO)

12 VT-x / (Pacifica) Enable Guest OSes to be run without para- virtualization modifications –E.g. legacy Linux, Windows XP/2003 CPU provides traps for certain privileged instrs Shadow page tables used to provide MMU virtualization Xen provides simple platform emulation –BIOS, Ethernet (ne2k), IDE emulation (Install paravirtualized drivers after booting for high- performance IO)

13 Native Device Drivers Control Panel (xm/xend) Front end Virtual Drivers Linux xen64 Xen Hypervisor Device Models Guest BIOS Unmodified OS Domain N Linux xen64 Callback / Hypercall VMExit Virtual Platform 0D Guest VM (VMX) (32-bit) Backend Virtual driver Native Device Drivers Domain 0 Event channel 0P 1/3P 3P I/O: PIT, APIC, PIC, IOAPICProcessorMemory Control InterfaceHypercallsEvent ChannelScheduler FE Virtual Drivers Guest BIOS Unmodified OS VMExit Virtual Platform Guest VM (VMX) (64-bit) FE Virtual Drivers 3D

14 VM Relocation : Motivation VM relocation enables: –High-availability Machine maintenance –Load balancing Statistical multiplexing gain Xen

15 Assumptions Networked storage –NAS: NFS, CIFS –SAN: Fibre Channel –iSCSI, network block dev –drdb network RAID Good connectivity –common L2 network –L3 re-routeing Xen Storage

16 Stage 0: pre-migration Stage 1: reservation Stage 2: iterative pre-copy Stage 3: stop-and-copy Stage 4: commitment Relocation Strategy VM active on host A Destination host selected (Block devices mirrored) Initialize container on target host Copy dirty pages in successive rounds Suspend VM on host A Redirect network traffic Synch remaining state Activate on host B VM state on host A released

17 Writable Working Set Pages that are dirtied must be re-sent –Super hot pages e.g. process stacks; top of page free list –Buffer cache –Network receive / disk buffers Dirtying rate determines VM down-time –Shorter iterations → less dirtying → …

18 Writable Working Set Set of pages written to by OS/application Pages that are dirtied must be re-sent –Hot pages E.g. process stacks Top of free page list (works like a stack) –Buffer cache –Network receive / disk buffers

19 XEN Ian Pratt Keir Fraser, Steven Hand, Christian Limpach, Andrew Warfield, Dan Magenheimer (HP), Jun Nakajima (Intel), Asit Mallick (Intel) www.cl.cam.ac.uk/research/srg/netos/papers/2006 -xen-fosdem.ppt Computer Laboratory


Download ppt "Virtualizzazione: Xen. Tipi di virtualizzazione Singola immagine di SO (Virtuozo,…) –Usa container di risorse –Poco isolamento Virtualizzazione piena:VirtualBox,"

Similar presentations


Ads by Google