Overview dei sistemi
di virtualizzazione
Guido Guizzunti
[email protected]
Corso INFN sulla virtualizzazione
Catania 2010
Sommario








Introduzione alla virtualizzazione
Breve storia: tappe evolutive
Impatto sul mercato IT
Terminologia
Vantaggi / Svantaggi
Sistemi di virtualizzazione
Principali prodotti commerciali
Riferimenti
Virtualizzazione – Catania 2010
2
Introduzione (1)
Per virtualizzazione intendiamo un’astrazione, una
simulazione di un ambiente hardware fisico ottenuta
attraverso strumenti software
Fino a poco tempo fa i metodi utilizzati per poter
garantire servizi efficienti erano principalmente due:
configurare una macchina per ogni singolo servizio
offerto, oppure raggruppare su un unico sistema server
di tipo diverso.
Virtualizzazione – Catania 2010
3
Introduzione (2)


un server per ogni servizio
 Pro:

alte prestazioni

sicurezza, stabilita' e isolamento.
 Contro:

infrastruttura costosa

problemi logistici

spreco di risorse.
molteplici servizi su un singolo server
 Pro:

ottimizzazione delle risorse.
 Contro:

meno performante

problemi di stabilita’ e sicurezza

problemi di compatibilita’.
Virtualizzazione – Catania 2010
4
Introduzione (3)
La soluziona e’ arrivata con:
 Disponibilita’ di macchine piu’ potenti
 Software di virtualizzazione piu’ efficienti e
facili da usare.
 CPU progettate per supportare la
virtualizzazione (Intel VT, AMD-V).
Virtualizzazione – Catania 2010
5
Introduzione (4)
I sistemi di virtualizzazione permettono di ottenere i
vantaggi delle due precedenti soluzioni:
 Installare piu’ server su un unico sistema(riduzione dei
costi)
 Eseguire i servizi in ambienti virtuali totalmente
indipendenti gli uni dagli altri(sicurezza, stabilita' e
isolamento dei servizi)
 ottimizzazione delle risorse
 tool di gestione che semplificano l’amministrazione.
Virtualizzazione – Catania 2010
6
Breve storia (1)

1965


IBM M44/44X: sistema che per la prima volta utilizza la paginazione della memoria.
1970/1972
IBM System/370 e IBM VM/370: sistemi che includono la possibilita' di eseguire
macchine virtuali complete (hardware assisted virtualization).
La virtualizzazione venne di fatto accantonata negli anni ‘80 e ‘90 quando le applicazioni clientserver e i server e desktop x86 a basso costo hanno dato vita al graduale abbandono dei
mainframe e alla nascita dell’elaborazione distribuita.
I bassi costi dei PC, l’ampia diffusione di Windows e la nascita di Linux come sistemi operativi
server fecero si’ che negli anni ‘90 i sistemi x86 si imponessero come standard di settore.


1987/1997
Vari prodotti di emulazione software che permettono di eseguire programmi MS-DOS su
sistemi Unix e Macintosh
 Es.: Simultask, SoftPC e SoftWindows

Virtualizzazione – Catania 2010
7
Breve storia (2)

1999
VMware Virtual Platform: virtualizzazione per l'architettura Intel x86.
 difficolta’ e scarse prestazioni
 I processori x86 non erano progettati per il supporto completo della
virtualizzazione


2003
Prima versione del prodotto Xen
 Rilasciato sotto licenza GPLv2
 Utilizzo della para-virtualizzazione.

Virtualizzazione – Catania 2010
8
Impatto sul mercato IT: storia delle
acquisizioni (1)
La virtualizzazione e’ oggi uno dei segmenti piu’ vivaci dell’intero mercato IT e il giro d’affari
che ci ruota attorno e’ davvero notevole:
 2003 - EMC Corporation acquisisce la VMware per 635 milioni di $
 2003 - Microsoft acquisisce la Connectix per il prodotto Virtual PC che poi è diventato il
noto Virtual Server di Microsoft
 2006 - Microsoft acquisisce Softricity per il prodotto SoftGrid, che permette di
virtualizzare una sola applicazione in luogo di un intero sistema.
 2006 - Citrix acquisisce Ardence per l'application virtualization streaming
 2007 - Symantec acquisisce Altiris per la soluzione SVS "Software Virtualization
Solution", un pacchetto di soluzioni per la virtualizzazione
 2007 - Citrix acquisisce XenSource per circa 500 milioni di $
 2008 - SUN Microsystem acquisisce Innotek per il prodotto VirtualBox e per lanciare la
piattaforma server xVM
 RedHat acquisisce Qumranet creatrice di KVM (Kernel Virtual Machine)
Virtualizzazione – Catania 2010
9
Impatto sul mercato IT: storia delle
acquisizioni (2)






2008 – IBM svela di investire 350 milioni di $ in infrastrutture di
virtualizzazione
2008 - HP, Intel e Yahoo svelano di lavorare assieme ad una Global
Cloud
2009 - SUN Microsystem acquisisce Q-layer, impresa Belga creatrice
del framework grafico Virtual Private DataCenter (VPDC)
2009 - Cisco svela intenzioni di acquisizione di Vmware (VMware ha
attualmente un valore di 10 miliardi di $)
2009 - IBM vuole una maxi fusione con SUN del valore di circa 6,5
miliardi di $
fine 2009 - Oracle soffia via SUN all'IBM per la "modica" cifra di 7.5
miliardi di $, entrando cosi' anch'essa nel mondo della virtualizzazione
Virtualizzazione – Catania 2010
10
Terminologia (1)

Emulazione



Virtualizzazione




permette l'esecuzione di software originariamente scritto per un ambiente
hardware diverso da quello sul quale l'emulatore viene eseguito.
un emulatore si prefigge lo scopo di replicare l’hardware di un sistema.
la creazione di una copia virtuale di una risorsa normalmente fornita fisicamente.
una simulazione di un ambiente hardware fisico completo ottenuta attraverso
strumenti software.
N.B.: Virtualizzazione ≠ Emulazione
Macchina virtuale


indica un ambiente virtuale che simula il comportamento di un'intera macchina
fisica.
un contenitore software totalmente isolato in grado di eseguire i propri sistemi
operativi e applicazioni come fosse un computer fisico.
Virtualizzazione – Catania 2010
11
Terminologia (2)



Hypervisor (o virtual machine monitor)
 e’ il sistema di virtualizzazione, ovvero lo strato di software che
controlla l'hardware e che fornisce hai sistemi operativi ospiti
l'accesso alle risorse hardware, consentendo a diversi guest di
girare sullo stesso host.
Host
 il sistema operativo ospitante, cioe' quello al cui interno
vengono eseguite e fatte funzionare le varie macchine virtuali.
Guest
 il sistema operativo creato virtualmente e ospitato sull'host.
Virtualizzazione – Catania 2010
12
Vantaggi della virtualizzazione (1)












riduzione dei costi d'acquisto
riduzione dei consumi elettrici e di condizionamento
riduzione dell'impatto ambientale.
riduzione del volume (spazio rack)
riduzione dei guasti (una VM non si puo' rompere fisicamente).
semplifica la gestione del disaster recovery (migrazione della VM)
amministrazione semplificata (installazione, configurazione, eliminazione)
semplificazione dell'infrastruttura aziendale
permette di sfruttare al massimo la potenza dei moderni server
alta affidabilita' e load balancing grazie a tecniche di snapshot e di migrazione live
dimensionamento delle risorse.
sicurezza.
Virtualizzazione – Catania 2010
13
Vantaggi della virtualizzazione (2)











separazione dei servizi.
separazione dei fallimenti.
separazione dei dati.
semplifica la gestione remota
facilita' di backup e di snapshot
ideali come ambienti di test e sviluppo
rendono possibile la compatibilita' con vecchi sistemi.
ideali per realizzare ambienti “portabili”.
tool e librerie per la gestione, il monitoring delle risorse e l'ottimizzazione
delle performance
facilita' di creazione e distruzione
e' uno degli elementi che rendono possibile il cloud.
Virtualizzazione – Catania 2010
14
Limiti della virtualizzazione






abbassamento delle prestazioni.
se l’host ha un problema hw/sw, tutte le VM che girano su di esso ne
subiscono le conseguenze.
un’errata pianificazione del progetto di virtualizzazione porta ad un
aumento del numero di server logici
non realizzabile in caso di utilizzo di hw non supportato dalla
piattaforma di virtualizzazione
bisogna accertarsi che il produttore di SW ne garantisca il
funzionamento su VM, pena l’invalidazione della garanzia
un’infrastruttura lagargamente virtualizzata puo’ avere alti costi,
almeno per le soluzioni commerciali (Microsoft, VMware)
Virtualizzazione – Catania 2010
15
Sistemi di virtualizzazione (1)

Emulation (o software virtualization): permette di replicare il
funzionamento di un determinato hardware su
un'architettura differente, emulando tutte le componenti
hardware principali e permettendo di eseguire il sistema
operativo completo all’interno dell’ambiente emulato.


Es. Bochs, Qemu
Pro:


possibilita' di far girare VM con diversa architettura di quella del sistema
host
Contro:

performance scarse, perche’ tutto dev’essere simulato a livello software.
Virtualizzazione – Catania 2010
16
Sistemi di virtualizzazione (2)

Full-virtualizzation (o native virtualization): la macchina virtuale
simula abbastanza hardware da permette ad un sistema operativo
non modificato di essere eseguito in isolamento. Il guest dev’essere
un sistema progettato per lo stesso instruction set della macchina
host.


Es. Virtualbox, Parallels, Vmware.
Pro:


Contro:



non e' richiesta nessuna modifica al sistema operativo del guest.
il guest dev'essere un sistema operativo progettato per lo stesso instruction
set.
prestazioni discrete, ma non ottime.
N.B.: la full-virtualization e’ differente dall’emulazione pura.
Virtualizzazione – Catania 2010
17
Sistemi di virtualizzazione (3)

Hardware-assisted virtualization: piattaforma di
virtualizzazione che realizza la full-virtualizzation sfruttando
opportune estensioni dei processori Intel (VT-x) e AMD (AMDV), pensate per migliorare la sicurezza e le prestazioni delle
macchine virtuali completamente virtualizzate.




Es. Windows Virtual PC, KVM (anche Virtual Box puo’ sfruttare queste
estensioni, ma di default non la fa).
Disponibile dal 2005/2006
Pro e contro della full-virtualization, ma con migliori prestazioni.
N.B.: spesso viene utilizzato il termine HVM (Hardware Virtual
Machine) per indicare macchine virtuali completamente virtualizzate
che utilizzano queste estensioni.
Virtualizzazione – Catania 2010
18
Sistemi di virtualizzazione (4)

Para-virtualizzation: tecnica che prevede che l'hypervisor esponga ad ogni
macchina virtuale interfacce hardware simulate funzionalmente simili, ma non
identiche, alle corrispondenti interfacce fisiche. L’hypervisor espone una
libreria di chiamate (Virtual Hardware API o hypercall API) che implementa
una semplice astrazione delle perifieriche.


Es. XEN, UML.
Pro:




le hypercall API hanno l’intento di ridurre la porzione di tempo spesa dagli host
nell’eseguire quelle operazioni che sono difficili da esguire in un ambiente virtuale.
le hypercall API permettono di rendere l’hypervisor piu’ semplice ed efficiente perche’
non deve piu’ preoccuparsi di tradurre dinamicamente i tentativi di operazioni
privilegiate dei SO guest.
ottime prestazioni, migliori della full-virtualization.
Contro:

occorre modificare il kernel del guest per renderlo compatibile con le hypercall API (cosa
preclusa a molti SO commerciali non open source).
Virtualizzazione – Catania 2010
19
Sistemi di virtualizzazione (5)

Hybrid virtualization: full-virtualization con i
driver paravirtualizzati.
 i driver paravirtualizzati aumentano le prestazioni I/O
dei
dispositivi a blocchi e di rete per guest completamente
virtualizzati.
 N.B.: i driver paravirtualizzati, non sono soluzioni di
paravirtualizzazione, nel senso che attuano solo minimi e
non intrusivi cambiamenti nel sistema operativo guest, e
non richiedono la modifica del kernel.
Virtualizzazione – Catania 2010
20
Sistemi di virtualizzazione (6)

Operating system-level virtualization: viene eseguito un kernel
nella macchina fisica, che viene utilizzato anche per tutte le
macchine virtuali che verranno create (Virtual Environment).
Es. linux-Vserver, OpenVz.
 Pro:





i Virtual Environment sono perfettamente separati gli uni dagli altri.
performance native.
si risparmiano risorse in termini di memoria e di overhead computazionale.
Contro:


il kernel dev’essere opportunamente modificato per supportare questo tipo di
virtualizzazione, perche’ i moduli necessari non sono integrati nel kernel di
linux
viene supportato solo lo stesso SO della macchina fisica
Virtualizzazione – Catania 2010
21
Principali prodotti: VMware
VMware e' stata una delle prime e piu' attive
aziende nella ricerca di soluzioni per la
virtualizzazione.
 Prodotti forniti gratuitamente: VMware player
e VMware server
 Prodotti commerciali: VMware workstation
 Prodotti enterprise: VMware infrastructure
Virtualizzazione – Catania 2010
22
Principali prodotti: VMware player







Software entry-level gratuito
Disponibile per Windows e Linux a 32 e 64 bit
Non permette di creare nuove VM, ma solo di utilizzare quelle gia’
create con prodotti Vmware, Microsoft o Symantec
Il guest puo’ essere Windows, Linux, FreeBSD, Sun Solaris
Supporta VM con CPU multiple. E’ inoltre possibile emulare un
sistema multiprocessore anche avendo a disposizione un solo
processore a singolo core
Condivisione dati tra host e guest tramite funzioni di “drag and
drop”
Supporto per dispositivi USB
Virtualizzazione – Catania 2010
23
Principali prodotti: VMware server








VMware Server può creare, editare ed eseguire macchine virtuali.
Disponibile sia su Windows che su Linux
Supporto per sistemi Windows e Linux a 32 e 64 bit
Snapshot dello stato di una VM ed eventuale rollback
Conversione di VM di terze parti in formato VMware (tramite VM
importer)
Supporto per le estensioni hardware di virtualizzazione
L’immagine della VM puo’ risiedere sia su disco che su partizione
fisica
VMware virtual center(a pagamento): interfaccia centralizzata di
gestione di VMware server. Gestisce contemporaneamente piu’
installazioni di VMware Server
Virtualizzazione – Catania 2010
24
Principali prodotti: VMware
workstation
Oltre alle funzionalita’ di Vmware Server:
 E’ in grado di convertire macchine fisiche in macchine virtuali
 Possibilita’ di creare cloni di VM esistenti
 Possibilita’ di registrare e ripetere le azioni effettuate su un sistema
guest
 Possibilita’ di catturare tutta l’attivita’ sullo schermo della VM come
una registrazione video ed eseguire il playback
 Disponibili “API VIX Automation” per eseguire qualsiasi comando
sulla VM tramite script
 Possibilita’ di specificare banda di rete dedicata alle VM o
percentuale di perdita di pacchetti accettabile
Virtualizzazione – Catania 2010
25
Principali prodotti: VMware
infrastructure


Suite per la virtualizzazione di data center.
Permette di virtualizzare server e storage e gestire l’intero sistema come un pool di risorse
condivise al fine di sviluppare proprieta’ ad alta affidabilita’, mobilita’ e bilanciamento del carico.
Virtualizzazione – Catania 2010
26
Principali prodotti: VMware
infrastructure (1)
E’ composta da una serie di pacchetti, tra cui:
 VMware ESX Server: e’ un hypervisro a livello di macchina fisica, installato cioe’
come sistema operativo standalone su un server e non piu’ come un software che
necessita gia’ di un ambiente operativo. Cio’ comporta un notevole aumento delle
prestazioni. Ogni singola installazione di “ESX server” viene poi interfacciata con il
SW di gestione dell’intera infrastruttura, rendendo possibile un controllo
centralizzato di tutti i server e di tutte le risorse disponibili.
 VMware virtual SMP: da’ la possibilita’ ad ogni singola VM di utilizzare piu’
processori fisici contemporaneamente
 VMware High Availablity: si occupa di monitorare e gestire i problemi hardware
dei server fisici che compongono l’infrastruttura; quando viene rilevato il down di
uno dei nodi, tutte le VM vengono migrate verso gli altri server disponibili,
minimizzando il downtime e contemporaneamente ottimizzando il carico per ogni
singolo nodo. Tenta anche di capire se vi siano problemi all’interno delle VM (es.
Crash di sistema, risorse infufficienti, etc.) e, se rilevati, tenta soluzioni per
risolverli (anche il riavvio della VM se necessario)
Virtualizzazione – Catania 2010
27
Principali prodotti: VMware
infrastructure (2)



VMware DRS (Distribute Resource Scheduler): si occupa di allocare e
bilanciare dinamicamente le risorse a disposizione. Monitorizza
costantemente l’utilizzo del pool di risorse allocando intelligentemente
quelle disponibili tra le varie VM, migrando in maniera live le VM quando
necessario.
VMware VMFS: filesystem ad alte prestazioni orientato al clustering ed
ottimizzato per macchine virtuali. E’ il filesystem di defaul per lo storage
delle VM. Da’ la possibilita’ ad ogni server ESX di attingere allo storage
condiviso in maniera concorrente.
VMware VMotion: gli stati delle VM sono incapsulati in un set di file
presenti nello storage condiviso, dando quindi la possibilita’ ai vari server
ESX di accedervi concorrentemente. Inoltre lo stato della memoria puo’
essere trasmesso rapidamente su un network sufficientemente veloce.
Tutto cio’ permette lo spostamento di una VM in esecuzione da un server
all’altro istantaneamente e senza necessita’ di riavviarla
Virtualizzazione – Catania 2010
28
Principali prodotti: Microsoft
Il pregio dei prodotti di virtualizzazione Microsoft e’
la grande integrazione col resto dei suoi prodotti. Il
settore virtualizzazione di Microsoft si suddivide in
tre prodotti:
 Microsoft Virtual PC, dedicato all’utenza desktop
 Microsoft Virtual Server, dedicato all’utenza
enterprise (sara’ rimpiazzato da Hyper-V)
 MIcrosoft Hyper-V, primo prodotto di Microsoft
basato su un hypervisor nativo
Virtualizzazione – Catania 2010
29
Principali prodotti: Virtual PC










Soluzione entry-level per la creazione di VM.
Originariamente sviluppato dalla Connectix, attualmente il prodotto Virtual PC è distribuito da
Microsoft.
Scaricabile gratuitamente.
Permette la creazione di dischi chiamati “file modifiche”, in cui il programma puo’ apportare tutte
le modifiche apportate da un punto in poi.
Povero di funzionalita’.
Non supporta periferiche usb.
Non permette la creazione di snapshot.
Gli unici sistemi operativi guest supportati ufficialmente sono Windows 98, Me, 2000, 2003 server,
XP, Vista, Seven, 2008 server e IBM OS/2 .
USB non è supportato, anche se alcune periferiche standard che utilizzano USB nel
sistema ospitante, vengono riconosciute in altro modo.
Per agevolare lo scambio e la condivisione di file, cartelle e dati tra il sistema host quello
guest, Virtual PC supporta l'installazione di "Virtual Machine Additions"
Virtualizzazione – Catania 2010
30
Principali prodotti: Windows Virtual PC
+ Windows XP Mode








Windows Virtual PC è una evoluzione di Microsoft Virtual PC, progettata appositamente per
Windows 7, per consentire un più elevato grado di virtualizzazione di Windows XP (sia dei
programmi sia dell'hardware).
Si appoggia a Windows XP Mode e si integra con esso a tal punto che i programmi installati su
Windows XP nativamente, sono visti e lanciati da Windows 7 analogamente alle altre applicazioni.
Windows XP Mode non è altro che un disco virtuale di Windows XP Service Pack 3 a 32 bit, già
pronto all'uso con licenza, circa 500 Mbytes, che sarà pilotato da Windows Virtual PC, circa 10
Mbytes.
Dal punto di vista hardware supporta anche le porte USB e le seriali RS232, anche se non è detto
che i driver installati o incorporati in Windows XP Mode siano in grado di pilotare tutte le
periferiche di quel tipo.
Windows Virtual PC e Windows XP Mode sono disponibili, a titolo gratuito, solo per le versioni
Windows 7 (32 e 64 bit) Ultimate, Professional, Enterprise.
Dal punto di vista delle CPU supporta processori con tecnologie Intel-VT o AMD-V (con
virtualizzazione hardware nativa).
Supporto al multithreading.
Supporto risoluzioni video elevate
Virtualizzazione – Catania 2010
31
Principali prodotti: Hyper-V








Tecnologia a 64 bit nativa (non e’ disponibile per le edizioni a 32 bit. Le
VM possono invece essere a 32 o 64 bit)
Prestazioni migliori e piu’ ricco di funzionalita’ rispetto a Virtual Server
Consente di assegnare piu’ CPU ad una singola VM e fino a 64GB di ram
Il formato dei dischi rigidi virtuali e’ VHD (lo stesso di Virtual Server)
Integretion Services (componenti software che migliorano l’integrazione
tra host e guest. Sono l’equivalente dei VMware tools)
Gestisci snapshot multipli
Supporto USB
Possibilita’ di limitare le prestazioni di un singolo processore o core,
impostando una percentuale da riservare alla macchina e una percentuale
massima di utilizzo, per evitare problemi sui server sovraccarichi
Virtualizzazione – Catania 2010
32
Principali prodotti: Hyper-V



Le VM nel mondo Hyper-V corrispondono a partizioni
La partizione padre, deve eseguire Windows Server 2008. Le partizioni
figlio possono eseguire qualsiasi altro sistema operativo supportato
Tutte le partizioni figlie non hanno accesso alle risorse hardware
Virtualizzazione – Catania 2010
33
Principali prodotti: Parallels
Dispone di quattro prodotti principali:
 Parallels Desktop: prodotto di virtualizzazione rivolto
principalmente al mondo Mac (permette di utilizzare
sui sistemi Mac OS X macchine virtuali basate su
Windows) ma presente anche per Windows.
 Parallels Workstation: prodotto rivolto alle aziende.
 Parallels Server: prodotto enterprise, ricco di
funzionalita’
Virtualizzazione – Catania 2010
34
Principali prodotti: Parallels Server





Prodotto recente che si prefigge lo scopo di competere con
VMware Server e Microsoft Hyper-V
Può essere installato su sistemi Windows, Linux e Macintosh oltre
che direttamente su una macchina hardware.
Tra i sistemi operativi guest supportati troviamo Windows (dalla
versione 3.1 fino a Windows Server 2008), Linux (Red Hat
Enterprise, Debian, Fedora, SUSE, Mandriva, Xandros, Ubuntu e
altre distribuzioni generiche), FreeBSD (4.x, 5.x, 6.x), OS/2,
NetWare, Solaris (9 e 10) e MS-DOS.
Ottima management console.
Caratteristiche simili a VMware Server a cui si ispira
Virtualizzazione – Catania 2010
35
Riferimenti

Tappe dello sviluppo della virtualizzazione


Movimenti economici in campo di virtualizzazione


http://blog.vmengine.net/2009/03/21/virtualizzazione-e-cloud-storiadi-giganti-delleconomia-e-di-acquisizioni/
Understanding Full Virtualization, Paravirtualization, and Hardware
Assist


http://wapedia.mobi/en/Timeline_of_virtualization_development
http://www.vmware.com/files/pdf/VMware_paravirtualization.pdf
AMD e Intel virtualization technology


http://sites.amd.com/us/business/itsolutions/virtualization/Pages/virtualization.aspx
http://www.intel.com/technology/virtualization/index.htm
Virtualizzazione – Catania 2010
36