Sistemi di virtualizzazione con Linux

11
Sommario Panoramica Sistemi di virtualizzazione con Linux Simone Piccardi 17 Aprile 2007 Simone Piccardi Sistemi di virtualizzazione con Linux

Transcript of Sistemi di virtualizzazione con Linux

Page 1: Sistemi di virtualizzazione con Linux

SommarioPanoramica

Sistemi di virtualizzazione con Linux

Simone Piccardi

17 Aprile 2007

Simone Piccardi Sistemi di virtualizzazione con Linux

Page 2: Sistemi di virtualizzazione con Linux

SommarioPanoramica

1 Panoramica

Simone Piccardi Sistemi di virtualizzazione con Linux

Page 3: Sistemi di virtualizzazione con Linux

SommarioPanoramica

Perche la virtualizzazione

La virtualizzazione consente di centralizzare piu macchine virtualisu una sola macchina reale:

possono essere virtualizzate e centralizzate le workstationutente

le macchine virtuali possono utilizzare diversi sistemi operativi

alte prestazioni con il supporto alla virtualizzazione dei nuoviprocessori

Simone Piccardi Sistemi di virtualizzazione con Linux

Page 4: Sistemi di virtualizzazione con Linux

SommarioPanoramica

Tecnologie disponibili

Le tecnologie di virtualizzazione stanno avendo un enormesviluppo, ne esistono diverse con diverse caratteristiche:

qemu e kqemu

Virtualbox

KVM

lguest

Xen

OpenVZ

Simone Piccardi Sistemi di virtualizzazione con Linux

Page 5: Sistemi di virtualizzazione con Linux

SommarioPanoramica

qemu

E’ stata una delle prime macchine virtuali create su Linux:

macchina virtuale eseguita come programma dal sistemaospite, non richiede nessuna modifica al sistema operativoospitato, ne alcun supporto da parte del processore

emula completamente un PC, comprese alcune periferichestandardizzate, per cui puo installare nella macchina emulataqualunque sistema operativo

usa come sistema ospite Linux, FreeBSD, Solaris, MacOS eWindows

gira su diverse piattaforme ospite (x86, PPC) e emula diversepiattaforme (x86, PPC, ARM, SPARC, MIPS)

molto semplice da usare, velocita ridotta, utilizza molta memoria,efficiente nell’uso dello spazio disco.

Simone Piccardi Sistemi di virtualizzazione con Linux

Page 6: Sistemi di virtualizzazione con Linux

SommarioPanoramica

kqemu

La versione originale di qemu e piuttosto lenta, kqemu:

introduce un modulo del kernel per accelerare l’esecuzione

funziona solo per emulazioni di piattaforma x86 su x86

disponibile solo sotto Linux, non puo essere usato perinstallare Windows

il codice del sistema operativo e applicazioni ospite vengonoeseguiti direttamente dal processore

semplice da usare, buona velocita, utilizza molta memoria,efficiente nell’uso dello spazio disco.

Simone Piccardi Sistemi di virtualizzazione con Linux

Page 7: Sistemi di virtualizzazione con Linux

SommarioPanoramica

KVM

E una delle piu recenti fra le tecnologie di virtualizzazione suLinux:

costituisce una infrastruttura generica per la creazione dimacchine virtuali utilizzando le funzionalita di virtualizzazionedei processori

introdotta a partire dalla versione 2.6.20 nel kernel ufficiale,che ne garantisce un alto livello di supporto e sviluppo

necessita di una versione modificata di qemu per fornire ilsupporto per l’I/O su disco e le periferiche alla macchinavirtualizzata

funzionalita avanzate come la migrazione delle istanze via rete

piu complesso da usare, molto veloce, legato al supporto hardware,necessita di parecchie risorse.

Simone Piccardi Sistemi di virtualizzazione con Linux

Page 8: Sistemi di virtualizzazione con Linux

SommarioPanoramica

lguest

L’ultimo arrivato (per ora...):

molto semplice, soltanto 5000 righe di codice

non richiede supporto dal processore

virtualizza Linux su Linux, il kernel ospite e ospitato devonoavere abilitato il relativo supporto

inserito nel kernel ufficiale a partire dalla versione 2.6.23

piu complesso da usare, molto veloce, funzionalita ridotte.

Simone Piccardi Sistemi di virtualizzazione con Linux

Page 9: Sistemi di virtualizzazione con Linux

SommarioPanoramica

VirtualBox

E una applicazione proprietaria, recentemente rilasciata sotto GPL:

presenta un approccio analogo a qemu, ma gestiscedirettamente istanze multiple attraverso una applicazione dicontrollo grafica

supporta le tecnologie di virtualizzazione dei processori, madichiara di ottenere in genere prestazioni equivalenti, o anchemigliori, senza

puo eseguire come sistema ospite qualunque sistema operativo

estremamente semplice da usare, ottima interfaccia di gestione,molto veloce, necessita di parecchie risorse (memoria e spaziodisco).

Simone Piccardi Sistemi di virtualizzazione con Linux

Page 10: Sistemi di virtualizzazione con Linux

SommarioPanoramica

Xen

Una delle piu note e sviluppate, basata sul concetto di hypervisor,consente di eseguire piu sistemi operativi:

un sottile strato di controllo, l’hypervisor, consente di lanciareun sistema operativo principale (dom0) da cui controllare lerestanti istanze virtuali (domU).

occorrono delle opportune modifiche al sistema operativoeseguito (disponibili per Linux, BSD)

con i nuovi processori che supportano la virtualizzazione puolanciare ospiti non modificati (appoggiandosi a qemu)

funzionalita avanzate come la migrazione delle istanze viarete, la gestione delle interfacce virtuali, la creazioneautomatica di sistemi ospiti.

complesso da usare, estremamente veloce, ottime funzionalita,necessita di parecchie risorse (memoria e spazio disco).

Simone Piccardi Sistemi di virtualizzazione con Linux

Page 11: Sistemi di virtualizzazione con Linux

SommarioPanoramica

OpenVZ

Altra applicazione proprietaria, recentemente rilasciata come GPL:

piu che di virtualizzazione si tratta di una tecnologia di(partizionamento), richiede un kernel modificato ad hoc

non utilizza tecniche di virtualizzazione, ma una suddivisioneper namespace che consente di eseguire sistemi ospiti usandoun unico kernel

alloca dinamicamente le risorse, ed esegue i programmi avelocita nativa, ma non supporta l’uso di sistemi operatividiversi

complesso da usare, estremamente veloce, efficiente in termini diuso di memoria e disco

Simone Piccardi Sistemi di virtualizzazione con Linux