Virtual server

30
Introduzione Panoramica tecnologie Approfondimenti Conclusioni Linux in azienda: terzo seminario Tecnologie di virtualizzazione per il consolidamento dei server Simone Piccardi 2 Dicembre 2010 Simone Piccardi Linux in azienda: terzo seminario

Transcript of Virtual server

Page 1: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Linux in azienda: terzo seminarioTecnologie di virtualizzazione per il consolidamento dei server

Simone Piccardi

2 Dicembre 2010

Simone Piccardi Linux in azienda: terzo seminario

Page 2: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Di cosa parlero

1 Introduzione

2 Panoramica tecnologie

3 Approfondimenti

4 Conclusioni

Simone Piccardi Linux in azienda: terzo seminario

Page 3: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Perche la virtualizzazione

I server attuali sono spesso sotto-utilizzati:

multiprocessori con carichi poco significativi

grandi quantita di memoria, usata come cache

dischi di dimensioni sempre maggiori

e possibile tenere su una macchina fisica quello che prima stava sumolte

Simone Piccardi Linux in azienda: terzo seminario

Page 4: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Vantaggi della virtualizzazione

La virtualizzazione consente di creare piu macchine virtuali su unasola macchina reale:

si possono consolidare su una sola macchina diversi server

si possono utilizzare diversi sistemi operativi su una solamacchina

si possono fornire risorse in maniera dinamica secondo leesigenze

si risparmia energia elettrica usando meglio le risorse hardware

Simone Piccardi Linux in azienda: terzo seminario

Page 5: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Vantaggi della virtualizzazione

La virtualizzazione consente di separare la manutenzione dihardware e software:

si possono separare macchine virtuali con diversi livelli disicurezza, dividendo i rischi

si possono mantenere per compatibilita su hardware recentevecchie versioni di sistema operativo

si puo gestire l’aggiornamento delle macchine fisicheseparatamente da quello delle macchine virtuali

Simone Piccardi Linux in azienda: terzo seminario

Page 6: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Svantaggi della virtualizzazione

Gli svantaggi in realta sono molto pochi:

perdita di prestazioni, ma poco significativa nella maggiorparte dei casi, e sempre minore grazie al supporto hardware

minore sicurezza, in caso di compromissione del sistema divirtualizzazione si puo prendere il controllo di molte macchine

lo svantaggio piu significativo e quello relativo alla sicurezza

Simone Piccardi Linux in azienda: terzo seminario

Page 7: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Tipi di virtualizzazione

Le tecnologie di virtualizzazione si possono divideresommariamente in tre categorie:

container si usa il kernel per creare un contenitore in cui fargirare un sistema operativo ospite all’interno di un ambientevirtuale.

software virtualization si emula in software un interocomputer fornendo un hardware virtuale su cui fare unainstallazione del tutto identica a quella di una macchina fisica

hardware virtualization si sfrutta il supporto hardware deimoderni processori per emulare in maniera efficiente interocomputer

Simone Piccardi Linux in azienda: terzo seminario

Page 8: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Container: Vantaggi e svantaggi

Vantaggi:

prestazioni, lo stesso kernel esegue tutti i programmi di tuttele macchine virtuali

ottimizzazione delle risorse, la memoria ed il disco sonosfruttati integralmente senza rigide allocazioni

Svantaggi:

non si possono virtualizzare sistemi operativi diversi

Simone Piccardi Linux in azienda: terzo seminario

Page 9: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Software virtualization: Vantaggi e svantaggi

Vantaggi:

si possono utilizzare anche altri sistemi operativi

non necessita di processori recenti con supporto hardware

in certi casi si puo utilizzare anche su architetture hardwarediverse

Svantaggi:

prestazioni ridotte di esecuzione, si esegue un emulatore su cuigira un sistema operativo che esegue altri programmi

prestazioni ridotte di I/O, si devono emulare le periferiche

Simone Piccardi Linux in azienda: terzo seminario

Page 10: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Hardware virtualization: Vantaggi e svantaggi

Vantaggi:

si possono utilizzare anche altri sistemi operativi

alta velocita per l’esecuzione nativa del sistema ospite

Svantaggi:

necessita di processori recenti con il supporto hardware

Simone Piccardi Linux in azienda: terzo seminario

Page 11: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Tecnologie disponibili: container

Le tecnologie di virtualizzazione basate sulla realizzazione dicontainer sono:

LXC

linux-vserver

OpenVZ

Simone Piccardi Linux in azienda: terzo seminario

Page 12: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

linux-vserver

Una delle soluzioni presenti da maggior tempo:

usa kernel modificato per la separazione dei server virtuali

non richiede supporto dal processore

accesso diretto all’hardware tramite il kernel in esecuzione

qualche problema per la separazione della rete

non supportato nel kernel ufficiale (e sviluppo quasi fermo)

molto veloce, molto efficiente, funzionalita ridotte.

Simone Piccardi Linux in azienda: terzo seminario

Page 13: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

LXC

L’ultimo arrivato (iniziato con il kernel 2.6.19, usabile dal 2.6.26):

usa le funzionalita gia presenti nel kernel

separa i server virtuali con l’uso di namespace

non richiede supporto dal processore

accesso diretto all’hardware tramite il kernel in esecuzione

procede di pari passo con lo sviluppo del kernel ufficiale

molto veloce ed efficiente, funzionalita ridotte, ma promette bene.

Simone Piccardi Linux in azienda: terzo seminario

Page 14: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

OpenVZ

Nasce come applicazione proprietaria, recentemente rilasciata comeGPL:

usa kernel modificato per la separazione dei server virtuali

sfrutta dove possibile le funzionalita gia presenti nel kernel

non richiede supporto dal processore

supporta diversi modelli di rete e live migration

ambiente complesso, molto veloce ed efficiente, molte funzionalita,sviluppo costante.

Simone Piccardi Linux in azienda: terzo seminario

Page 15: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Tecnologie disponibili: software virtualization

Le tecnologie di virtualizzazione basate sulla virtualizzazionesoftware sono:

qemu

kqemu

Virtualbox

Simone Piccardi Linux in azienda: terzo seminario

Page 16: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

qemu

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

emula completamente un PC, comprese alcune periferiche, visi puo installare qualunque sistema operativo

eseguito come programma dal sistema ospite, non richiedemodifiche al kernel, ne supporto da parte del processore

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

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

relativamente semplice da usare, molto lento, utilizza moltamemoria, efficiente nell’uso dello spazio disco.

Simone Piccardi Linux in azienda: terzo seminario

Page 17: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

kqemu

La versione originale di qemu e molto lenta, kqemu:

usa modulo del kernel per accelerare l’esecuzione dei sistemaospitato

il sistema operativo e le applicazioni ospiti sono eseguitidirettamente dal processore

funziona solo per emulazioni di piattaforma x86 su x86

disponibile solo sotto Linux, non puo essere usato perinstallare Windows

non supportato dal kernel ufficiale, sviluppo fermo

relativamente semplice da usare, meno lento, utilizza moltamemoria, efficiente nell’uso dello spazio disco.

Simone Piccardi Linux in azienda: terzo seminario

Page 18: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

VirtualBox

Era una applicazione proprietaria, recentemente rilasciata sottoGPL:

approccio analogo a kqemu, accelerazione tramite moduli delkernel

multi-piattaforma, puo essere eseguita su Linux, Windows,Solaris, MacOSX

puo eseguire come sistema ospite qualunque sistema operativo

non supportato nel kernel ufficiale ma molto sviluppato

estremamente semplice, ottima interfaccia di gestione, piu velocedi kqemu, richiede parecchie risorse (memoria e spazio disco).

Simone Piccardi Linux in azienda: terzo seminario

Page 19: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Tecnologie disponibili: hardware virtualization

Le tecnologie di virtualizzazione basate sulla virtualizzazioneassistita dall’hardware sono:

Xen paravirtualization

Xen full virtualization

KVM

Simone Piccardi Linux in azienda: terzo seminario

Page 20: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Xen paravirtualization

La prima versione, basata sul concetto di hypervisor, consente dieseguire piu sistemi operativi:

uno strato di controllo, l’hypervisor, esegue un kernelprincipale (dom0) che esegue le restanti istanze virtuali (domU).

senza supporto hardware occorrono delle modifiche al sistemaoperativo eseguito (disponibili per Linux e BSD)

funzionalita avanzate come live-migration, interfacce virtuali,accesso a disco veloce con LVM.

richiede modifiche non supportate dal kernel ufficiale

complesso da usare, molto veloce, ottime funzionalita, necessita diparecchie risorse (in memoria e spazio disco).

Simone Piccardi Linux in azienda: terzo seminario

Page 21: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Xen full virtualization

Versione che usa il supporto hardware:

viene usato ancora l’hypervisor ma puo emulare una macchinafisica senza modifiche al sistema operativo eseguito

l’accesso alle periferiche reali e piu lento in quanto simulatoappoggiandosi a qemu

mantiene le funzionalita avanzate di live-migration, interfaccevirtuali, dischi su LVM.

quasi completamente supportato con le ultime versioni delkernel ufficiale

complesso da usare, molto veloce, ottime funzionalita, necessita diparecchie risorse (memoria e spazio disco).

Simone Piccardi Linux in azienda: terzo seminario

Page 22: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

KVM

E’ la tecnologia di virtualizzazione nativa su Linux:

infrastruttura generica per la creazione di macchine virtuali

parte del kernel ufficiale a partire dalla versione 2.6.20

usa una versione modificata di qemu per fornire il supportodelle periferiche

funzionalita avanzate di live-migration, interfacce virtuali,dischi su LVM

complesso da usare, molto veloce, necessita di parecchie risorse.

Simone Piccardi Linux in azienda: terzo seminario

Page 23: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Cosa usare

Ci concentreremo su KVM e OpenVZ per i seguenti motivi:

supporto ufficiale a lungo termine da parte di Debian

prodotti di punta nel rispettivo settore

disponibilita di una buona interfaccia di gestione via web

Per per Xen e vserver e prevista la dismissione dopo squeeze.

Simone Piccardi Linux in azienda: terzo seminario

Page 24: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

OpenVZ

ogni istanza (virtual environment o VE) e completamenteseparata dalle altre (riguardo file, processi, rete e IPC)

ogni VE si comporta come un sistema ordinario, si puoinstallare e configurare qualunque servizio

il sistema consente un controllo dettagliatissimo delle risorseassociate a ciascun VE

la rete e virtualizzata e la si puo anche far gestirecompletamente dall’interno di ciascun VE

sono supportate funzionalita avanzate come la live-migration

Simone Piccardi Linux in azienda: terzo seminario

Page 25: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

OpenVZ

Alcune funzionalita di notevole interesse:

supporto per la realizzazione di “template” che rendonoimmediata l’installazione di macchine simili

supporto per il backup completo di una istanza senza doverfermare la stessa (snapshot con LVM) o con downtimeminimale

spostamento dei dati da un VE all’altro con una semplicecopia di file dalla macchina ospite

e una piattaforma ideale da usare per consolidare server linux,anche con distribuzioni diverse

Simone Piccardi Linux in azienda: terzo seminario

Page 26: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

KVM

il sistema di ogni istanza viene eseguito a velocita nativagrazie al supporto hardware dei processori moderni

e disponibile su piattaforma x86, con porting in corso perARM e PPC

puo utilizzare come disco virtuale sia file che volumi logici

emulazione dell’hardware con qemu, ma per disco e rete sonodisponibili dispositivi virtuali per un accesso ad alta velocita

le istanze eseguite ottengono una scheda di rete virtuale vistain bridge dal sistema ospite

uso piu efficace della memoria: supporto per il memoryballooning e l’unione di pagine identiche (KSM)

Simone Piccardi Linux in azienda: terzo seminario

Page 27: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

KVM

Le funzionalita di maggiore interesse di KVM:

la virtualizzazione completa consente l’installazione diqualunque sistema operativo

supporta accesso diretto (con hotplug) di una istanza aidispositivi PCI della macchina ospite

supporta l’accesso ai dispositivi USB dalla macchina ospite

live-migration delle istanze in presenza di storage consupporto dell’accesso condiviso

adatto all’installazione di altri sistemi operativi o macchine virtualiche necessitano accesso all’hardware della macchina ospite

Simone Piccardi Linux in azienda: terzo seminario

Page 28: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Proxmox

Insieme di pacchetti (o distribuzione Debian-based) che integraOpenVZ e KVM:

interfaccia di gestione via web, console e grafica accessibile inremoto via VNC

supporto per configurazioni cluster, storage su iSCSI, LVM,directory locali e NFS

supporto per la gestione di live migration

supporto per il backup ed il ripristino delle macchine virtuali

supporto per lo spostamento delle macchine virtuali da unnodo all’altro del cluster.

Simone Piccardi Linux in azienda: terzo seminario

Page 29: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Riferimenti

http://www.truelite.it

http://www.openvz.org

http://www.linux-kvm.org

Domande ?

Simone Piccardi Linux in azienda: terzo seminario

Page 30: Virtual server

IntroduzionePanoramica tecnologie

ApprofondimentiConclusioni

Soluzioni per la virtualizzazione

e adesso vediamo qualcosa

Simone Piccardi Linux in azienda: terzo seminario