Panoramica sulle tecnologie di virtualizzazione su Linux
Relatore: Simone Piccardi
Evento: Modelli architetturali per l'accentramento dei servizi con Software Libero in conformit al D.lgs 196/03 - 17 Aprile 2007
Organizzatore: Firenze Tecnologia
Luogo: Firenze
3. Sommario
Panoramica
Perch卒e la virtualizzazione
La virtualizzazione consente di centralizzare pi`u macchine virtuali
su una sola macchina reale:
possono essere virtualizzate e centralizzate le workstation
utente
le macchine virtuali possono utilizzare diversi sistemi operativi
alte prestazioni con il supporto alla virtualizzazione dei nuovi
processori
Simone Piccardi Sistemi di virtualizzazione con Linux
4. Sommario
Panoramica
Tecnologie disponibili
Le tecnologie di virtualizzazione stanno avendo un enorme
sviluppo, ne esistono diverse con diverse caratteristiche:
qemu e kqemu
Virtualbox
KVM
lguest
Xen
OpenVZ
Simone Piccardi Sistemi di virtualizzazione con Linux
5. Sommario
Panoramica
qemu
E stata una delle prime macchine virtuali create su Linux:
macchina virtuale eseguita come programma dal sistema
ospite, non richiede nessuna modi鍖ca al sistema operativo
ospitato, n卒e alcun supporto da parte del processore
emula completamente un PC, comprese alcune periferiche
standardizzate, per cui pu`o installare nella macchina emulata
qualunque sistema operativo
usa come sistema ospite Linux, FreeBSD, Solaris, MacOS e
Windows
gira su diverse piattaforme ospite (x86, PPC) e emula diverse
piattaforme (x86, PPC, ARM, SPARC, MIPS)
molto semplice da usare, velocit`a ridotta, utilizza molta memoria,
e鍖ciente nelluso dello spazio disco.
Simone Piccardi Sistemi di virtualizzazione con Linux
6. Sommario
Panoramica
kqemu
La versione originale di qemu `e piuttosto lenta, kqemu:
introduce un modulo del kernel per accelerare lesecuzione
funziona solo per emulazioni di piattaforma x86 su x86
disponibile solo sotto Linux, non pu`o essere usato per
installare Windows
il codice del sistema operativo e applicazioni ospite vengono
eseguiti direttamente dal processore
semplice da usare, buona velocit`a, utilizza molta memoria,
e鍖ciente nelluso dello spazio disco.
Simone Piccardi Sistemi di virtualizzazione con Linux
7. Sommario
Panoramica
KVM
E una delle pi`u recenti fra le tecnologie di virtualizzazione su
Linux:
costituisce una infrastruttura generica per la creazione di
macchine virtuali utilizzando le funzionalit`a di virtualizzazione
dei processori
introdotta a partire dalla versione 2.6.20 nel kernel u鍖ciale,
che ne garantisce un alto livello di supporto e sviluppo
necessita di una versione modi鍖cata di qemu per fornire il
supporto per lI/O su disco e le periferiche alla macchina
virtualizzata
funzionalit`a avanzate come la migrazione delle istanze via rete
pi`u complesso da usare, molto veloce, legato al supporto hardware,
necessita di parecchie risorse.
Simone Piccardi Sistemi di virtualizzazione con Linux
8. Sommario
Panoramica
lguest
Lultimo arrivato (per ora...):
molto semplice, soltanto 5000 righe di codice
non richiede supporto dal processore
virtualizza Linux su Linux, il kernel ospite e ospitato devono
avere abilitato il relativo supporto
inserito nel kernel u鍖ciale a partire dalla versione 2.6.23
pi`u complesso da usare, molto veloce, funzionalit`a ridotte.
Simone Piccardi Sistemi di virtualizzazione con Linux
9. Sommario
Panoramica
VirtualBox
`E una applicazione proprietaria, recentemente rilasciata sotto GPL:
presenta un approccio analogo a qemu, ma gestisce
direttamente istanze multiple attraverso una applicazione di
controllo gra鍖ca
supporta le tecnologie di virtualizzazione dei processori, ma
dichiara di ottenere in genere prestazioni equivalenti, o anche
migliori, senza
pu`o eseguire come sistema ospite qualunque sistema operativo
estremamente semplice da usare, ottima interfaccia di gestione,
molto veloce, necessita di parecchie risorse (memoria e spazio
disco).
Simone Piccardi Sistemi di virtualizzazione con Linux
10. Sommario
Panoramica
Xen
Una delle pi`u note e sviluppate, basata sul concetto di hypervisor,
consente di eseguire pi`u sistemi operativi:
un sottile strato di controllo, lhypervisor, consente di lanciare
un sistema operativo principale (dom0) da cui controllare le
restanti istanze virtuali (domU).
occorrono delle opportune modi鍖che al sistema operativo
eseguito (disponibili per Linux, BSD)
con i nuovi processori che supportano la virtualizzazione pu`o
lanciare ospiti non modi鍖cati (appoggiandosi a qemu)
funzionalit`a avanzate come la migrazione delle istanze via
rete, la gestione delle interfacce virtuali, la creazione
automatica di sistemi ospiti.
complesso da usare, estremamente veloce, ottime funzionalit`a,
necessita di parecchie risorse (memoria e spazio disco).
Simone Piccardi Sistemi di virtualizzazione con Linux
11. Sommario
Panoramica
OpenVZ
Altra applicazione proprietaria, recentemente rilasciata come GPL:
pi`u che di virtualizzazione si tratta di una tecnologia di
(partizionamento), richiede un kernel modi鍖cato ad hoc
non utilizza tecniche di virtualizzazione, ma una suddivisione
per namespace che consente di eseguire sistemi ospiti usando
un unico kernel
alloca dinamicamente le risorse, ed esegue i programmi a
velocit`a nativa, ma non supporta luso di sistemi operativi
diversi
complesso da usare, estremamente veloce, e鍖ciente in termini di
uso di memoria e disco
Simone Piccardi Sistemi di virtualizzazione con Linux