1 Virtualizzazione con KVM su sistemi operativi Ubuntu Francesco Stablum Studente di Informatica, sviluppatore software, talvolta sistemista.

Slides:



Advertisements
Presentazioni simili
Panoramica su Koozali SME Server Distribuzione Linux open source, stabile, sicura e versatile rivolta alle Piccole e Medie imprese (Novembrer 2015 v1.2)
Advertisements

Dynamic Farm Espansione Dinamica di una Farm Vincenzo Ciaschini CCR 31/3/2015.
I dispositivi di rete. La Scheda Di Rete La scheda di rete, o LAN adapter è un circuito stampato che collega il cavo per il collegamento internet al PC.
Corso GNU/Linux – 7 La rete Servizi di rete Samba suite Netstudent by E.Richiardone
Corso di Alta formazione in TL&OS Modulo 1.3 Reti e Servizi - lezione 1 Modulo 1.3 Reti e servizi 1. Introduzione al Networking Connettere il PC in rete;
LTSP (Linux Terminal Server Project) GNU/Linux ed Workshop di Enrico Teotti powered with Gentoo Linux Linux Day LUG Mantova.
1 14 marzo 2006 sommaruga andrea Fondazione Ordine Ingegneri di Milano VPN: Reti Private Virtuali VPN: RETI PRIVATE VIRTUALI LE POSSIBILITA' DI ACCESSO.
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
A dvanced N etwork T echnologies Lab oratory Infrastrutture e Protocolli per Internet Laboratorio 5 Politecnico di Milano Stefano NapoliAlberto Pollastro.
Effetti grafici con compiz-fusion Come ottenere un desktop accattivante su UBUNTU.
Orientamento. Il Kernel Il Kernel è un programma scritto in linguaggio vicino all'hardware che ha il compito di fornire ai processi in esecuzione sul.
User Mode Linux. Cos'è user mode linux ● User mode linux è un kernel linux che gira come un'applicazione nello spazio utente.
Bitcoin “What is a Bitcoin?”. What is a Bitcoin? Bitcoin The 4th most common research on Google in 2014.
Gestione delle configurazioni Configuration management (CM) E` un processo che controlla le modifiche fatte a un sistema e gestisce le diverse versioni.
Cos'e' e cosa ci si puo' fare Andrea Trentini
IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI.
Facile da usare Un'interfaccia amministrativa completamente rinnovata, iniziare con Drupal è più facile!
Corso di Elementi di Informatica
Reti e comunicazione Appunti.
Infrastruttura cloud servizi realizzata nella Sezione di Napoli
Configurazione Router IR794- IG601
Corso per Webmaster base
IL SOFTWARE (FPwin 6.0).
NAT, Firewall, Proxy Processi applicativi.
Riccardo Veraldi - Massimo Donatelli CCR 3-4 Marzo 2008
Vulnerability Assessment
Status Report Gruppo Storage CCR CCR 14-15/03/2006.
Arkoon Network Security 2010
dCache Test effettuati al CNAF
Compilazione del kernel Linux
WPC069 Il deployment automatizzato di Windows 10
CARATTERISTICHE DI UN DATACENTER
Monitoring e loadbalancing dei servizi Grid
LA MAPPA CONCETTUALE Istruzioni per l’uso
Corso LAMP Linux Apache Mysql Php
GPIO: General Purpose Input Output I parte
SAL WP11 Bologna – CNAF – 5 Giugno 2015.
EasyGraph Dynamic web-based dashboard
HackLab Catanzaro Installazione DEBIAN Lezione 2
Dal problema al processo risolutivo
Applicazione web basata su web service e web socket
Dati in rete Appunti.
Breve report su corso RedHat Enterprise Virtualization (RH318)
Sistema di Analisi e di Acquisizione
Microcontrollori e microprocessori
Cloud per HA nei Servizi
The Virtual Machine Monitor Introduzione. Installazione. Utilizzo.
KVM QEMU Virtual Machine Manager Massimo Nuvoli
“VIRTUAL BOX E CONDIVISIONE FILE”
Reti di comunicazione Appunti.
LA GESTIONE DEI PACCHETTI
Creare un server casalingo - 1
ai termini e ai principi informatici utili per utilizzare Linux
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Sono stati sperimentati software in grado di rilevare se sono stati compromessi determinati componenti di un sistema operativo.
I BUS È un insieme di fili conduttori che permette il passaggio di dati tra le varie periferiche del pc.
Creare un server casalingo - 5
Virtualizzazione con VirtualBox, Qemu, Docker e Vagrant
analizzatore di protocollo
SUBNETTING E SUPERNETTING
Virtualizzazione desktop e server
Domenico Diacono CNAF 22 Marzo 2006
Database
Corso di Ingegneria del Web A A Domenico Rosaci 1
Programmare.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Firewalling.
Unità D1 Architetture di rete.
IA2 Massimo Sponza IA2 – Osservatorio Astronomico di Trieste 2018 ICT Workshop - Catania.
CLOUD.
Transcript della presentazione:

1 Virtualizzazione con KVM su sistemi operativi Ubuntu Francesco Stablum Studente di Informatica, sviluppatore software, talvolta sistemista

2 Vantaggi della virtualizzazione Scalabilità Migrabilità OS sandbox QoS Isolation Consolidamento server

3 Vantaggi: scalabilità Possono essere in esecuzione sulla stessa macchina fisica un numero arbitrario di macchine virtuali con una variegata fauna di sistemi operativi differenti L'unico limite è la potenza di calcolo, la quantità di memoria disponibile e lo spazio su disco

4 Vantaggi: migrabilità Possiamo spostare una macchina virtuale da un sistema all'altro con estrema facilità. È sufficiente usare scp, invece di un furgone

5 Vantaggi: OS Sandbox Come in wikipedia, la Sandbox consente di fare pasticci devastanti senza ansia p.es. installazione di un modulo per Apache sul web server Effettuare esperimenti sulle macchine di produzione dopo averle ”clonate” Filosofia Modifica/Annulla Testare virus HoneyPot/HoneyNet...

6 Vantaggi: QoS Isolation Quality-Of-Service Isolation: Evitare interferenze tra vari componenti software Ad esempio, due sistemi virtuali con installate due istanze di Apache con configurazioni diverse (per esempio, una con mod_php e l'altra con mod_python).

7 Vantaggi: consolidamento server In alcuni contesti ci può essere una proliferazione di macchine fisiche sotto-utilizzate. Si virtualizzano i sistemi che necessitano di una macchina dedicata e si posizionano su un numero ridotto di macchine fisiche. Risparmio sull'hardware Risparmio energetico

8 Precisazioni Tutte le prove effettuate sono state fatte con Ubuntu 8.04

9 Struttura di un sistema di virtualizzazione Ipervisore Chiamato anche VMM (Monitor di Macchine Virtuali) Macchine virtuali Interfacce di rete virtuali Dischi virtuali (sotto forma di un file memorizzato sulla macchina fisica) Periferiche CD/DVD virtuali E' possibile far leggere delle immagini ISO come se fossero dei CD/DVD reali sulla macchina virtuale Segmenti di rete virtuali Sistemi operativi sulle macchine virtuali

10 Accenni alla teoria Requisiti introdotti da Popek e Goldberg nel 1974 Tre proprietà: Equivalenza: un sistema che gira su una macchina virtuale deve mostrare un comportamento identitico a quello che mostrerebbe su una macchina fisica. Controllo delle risorse: le risorse virtualizzate devono essere controllate completamente dall'ipervisore. Efficienza: una porzione significativa del lavoro effettuato da una macchina virtuale deve essere effettuato senza l'intervento dell'ipervisore.

11 KVM Acronimo per Kernel-based Virtual Machine Utilizza funzionalità di virtualizzazione assistita dall'hardware. E' un modulo del kernel: kvm.ko e un modulo specifico per l'architettura della macchina ospitante: kvm-intel.ko e kvm-amd.ko Utilizza una versione modificata di QEMU Giovane ma promettente Comunità di sviluppo molto attiva

12 Immagini disco per KVM La nostra macchina KVM ha bisogno di un disco (virtuale ovviamente). Il disco si può creare facilmente come file tramite il comando qemu-img: qemu-img create dsl1.img -fqcow2 512M

13 Formato qcow2 per immagini disco KVM qcow2: funzionalità salienti: ottimizzazione: solo le parti di disco scritte vengono effettivamente allocate. snapshot crittografia AES compressione dati può essere convertito in formato raw e successivamente montato nel file system

14 Interazione con KVM: VNC VNC: e' possibile collegarsi via rete accedendo all'I/O della macchina virtuale -vnc :0 Kvm ora diventa un server VNC e ci si può collegare semplicemente con il comando: vncviewer localhost:0

15 Interazione con KVM: il Monitor E' una console che permette di inviare comandi a KVM Parametri di configurazione all'avvio di KVM -monitor stdio -monitor tcp::8888

16 Interazione con KVM: il Monitor comandi di controllo: stop : arresto dell'emulazione system_reset : reset della macchina sendkeys : invio di input da tastiera savevm : salvataggio di uno snapshot del sistema wavcapture : salvataggio dello stream audio Debugging...

17 TUN/TAP Costruzione di interfacce di rete virtuali TAP lavora a layer 2 (Ethernet) TUN lavora a layer 3 (IP) Scopo: permettere a un programma in user- space di ”attaccarsi” all'interfaccia virtuale come se fosse un terminale in LAN. Proprio quello che ci serve per KVM!!

18 TUN/TAP: Mini-Tutorial (1) Installiamo il pacchetto contentente i tool necessari apt-get install uml-utilities Creiamo il bridge virtuale brctl addbr br0 Creiamo l'interfaccia di rete virtuale tunctl -t tap0 Colleghiamo l'interfaccia virtuale al bridge brctl addif br0 tap0

19 TUN/TAP: Mini-Tutorial (2) Lanciamo kvm con distro DamnSmallLinux: kvm -hda./dsl2_qcow2.img -cdrom./dsl initrd.iso -net nic,macaddr="12:34:56:78:9a:bc" -net tap,ifname=tap0,script=no Il comando è rappresentato su più linee ma è da considerarsi su una sola I due comandi -net sono utilizzati per collegare l'interfaccia di rete del sistema virtualizzato all'interfaccia tap

20 TUN/TAP: Mini-Tutorial (3) Nella macchina ospitante bisogna impostare correttamente il routing verso le macchine virtuali: route add -net /24 dev br0 Attiviamo anche il forwarding: echo 1 > /proc/sys/net/ipv4/ip_forward

21 TUN/TAP: Mini-Tutorial (4) Impostiamo l'indirizzo IP del bridge ifconfig br up Nella macchina virtualizzata, l'interfaccia di rete è disponibile come eth0 Impostiamo l'indirizzo IP di eth0 all'interno della macchina virtualizzata e il routing ifconfig eth up route add default gw

22 HeartBeat HeartBeat è un componente di un progetto più ampio, Linux-HA (High Availability) È in grado di: stabilire se un nodo ha cessato di erogare un servizio (ad esempio, è esploso) tramite continuo pinging effettuare il failover: un'altra macchina prende il controllo per mantenere una disponibilità continua

23 HeartBeat: un caso pratico Configurazione Attivo/Passivo Cluster con due nodi: Primary ( ): Attivo Secondary ( ): Passivo Il cluster ha un'indirizzo IP ( ) che deve essere sempre disponibile anche in caso di fallimento di Primary Pacchetti HeartBeat mandati in broadcast attraverso un interfaccia e un segmento di rete dedicato.

24 HeartBeat: un caso pratico Quando Primary non reagisce ai ping: Secondary assume, oltre al proprio, anche l'indirizzo IP ”logico” utilizzato per erogare i servizi all'esterno.

25 DRBD È un sistema di ridondanza in grado di creare una partizione in mirroring Utilizza un sistema di ”proiezione” delle scritture di un nodo ”master” su un nodo ”slave” Necessità di una canale di comunicazione ad alta velocità

26 DRBD Il sistema di invio delle scritture può essere: Sincrono LAN Asincrono Grandi distanze, grande ritardo

27 DRBD: Come lo usiamo? Nella partizione in mirroring ci mettiamo tutte le immagini dei sistemi operativi in esecuzione. Se Primary fallisce: HeartBeat su Secondary rileva il problema Secondary riavvia tutte le macchine virtuali Le macchine virtuali al momento del riavvio si trovano in uno stato inconsistente, ma i sistemi virtualizzati se ne rendono conto e fanno partire fsck

28 Ma funziona?

29 Ma funziona? Certamente!

30 Strutturazione della rete *.dmz.servabit.it Adibito alla zona de-militarizzata Virtuale: macchine kvm su tap* *.site.servabit.it Adibito ai servizi accessibili dall'interno Virtuale: macchine kvm su tap* *.lan.servabit.it Segmento di rete fisico. *.vpn.servabit.it Adibito alla Virtual Private Network

31 Funzionalità offerte Funzionalità offerte da *.site.servabit.it DHCP DNS interno Subversion Samba NFS Trac Macchine di sviluppo applicativi Web (Apache) mod_python mod_php MySQL PostgreSQL OpenERP

32 Funzionalità offerte Funzionalità offerte da *.dmz.servabit.it Imap con SSL SMTP Sito web accessibile da (Apache) Risulta difficile da credere, ma tutti i servizi erogati da *.dmz e da *.site sono effettivamente in esecuzione su UNA SOLA macchina fisica, grazie a KVM Ogni macchina virtuale è un sistema Ubuntu Server con un proprio indirizzo IP

33 Ringraziamenti L'azienda per la quale lavoro per la straordinaria esperienza formativa Tutti i colleghi per la pazienza in particolar modo Davide Bolcioni che mi ha guidato con la sua esperienza e i suoi preziosi consigli

34 Approfondimenti e Linkografia /cgi-bin/moin.cgi/QemuAndTuntap