Virtual server
Transcript of 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
IntroduzionePanoramica tecnologie
ApprofondimentiConclusioni
Di cosa parlero
1 Introduzione
2 Panoramica tecnologie
3 Approfondimenti
4 Conclusioni
Simone Piccardi Linux in azienda: terzo seminario
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
IntroduzionePanoramica tecnologie
ApprofondimentiConclusioni
Soluzioni per la virtualizzazione
e adesso vediamo qualcosa
Simone Piccardi Linux in azienda: terzo seminario