Sistemi di virtualizzazione con Linux
Transcript of Sistemi di virtualizzazione con Linux
SommarioPanoramica
Sistemi di virtualizzazione con Linux
Simone Piccardi
17 Aprile 2007
Simone Piccardi Sistemi di virtualizzazione con Linux
SommarioPanoramica
1 Panoramica
Simone Piccardi 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
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
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
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
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
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
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
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
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