Virtual Systems
Anno accademico 2026/2027 - Docente: FABRIZIO MESSINARisultati di apprendimento attesi
Conoscenza e capacità di comprensione (knowledge and understanding):
L'obiettivo primario del corso è l’acquisizione di una preparazione teorica e pratica inerente alla virtualizzazione dei sistemi di calcolo. Il corso rivolge particolare attenzione ai concetti fondamentali della virtualizzazione, le sue applicazioni nell’informatica moderna nonché il ruolo strategico che essa riveste nell’ottimizzazione delle moderne infrastrutture di calcolo. Inoltre, una buona parte del corso sarà dedicata all’utilizzo di alcune delle tecnologie di virtualizzazione più diffuse al fine di comprendere i principali aspetti operativi dei sistemi di calcolo virtuali.
Capacità di applicare conoscenza e comprensione (applying knowledge and understanding):
Il corso verte sulla trattazione degli strumenti utili a comprendere i principali aspetti della virtualizzazione nonché le principali differenze tra gli hypervisor. Il corso permetterà di comprendere i principali aspetti relativi all’automazione dei sistemi virtuali. Un ultimo importante aspetto è relativo alla comprensione dei principi della virtualizzazione al fine di implementare sistemi ad alta disponibilità.
Il discente dovrà essere in grado di applicare la conoscenza di appositi strumenti per configurare lo storage virtuale e le connessioni di rete tra le macchine virtuali, ed infine di applicare la conoscenza di appositi strumenti per la gestione del ciclo di vita delle macchine virtuali.
Autonomia di giudizio (making judgements): attraverso l’esame di numerosi esempi di carattere pratico, lo studente sarà in grado di analizzare problemi e progettare e implementare soluzioni che prevedano l’uso della virtualizzazione.
Abilità comunicative (communication skills): lo studente acquisirà le necessarie abilità comunicative nell'impiego del linguaggio verbale/tecnico nell'ambito della virtualizzazione.
Capacità di apprendimento (learning skills): il corso intende fornire allo studente le necessarie metodologie teoriche e pratiche da introdurre in contesti professionali, come la capacità di progettare soluzioni che prevedano l’uso della virtualizzazione nonché la possibilità di acquisire facilmente ulteriori conoscenze relative a differenti tecnologie di virtualizzazione o tecnologie similari.
Modalità di svolgimento dell'insegnamento
Le lezioni si svolgeranno in presenza, con modalità frontale. È prevista l’esposizione dei contenuti di natura teorica e pratica da parte del docente, con il supporto di slide e lavagna. La partecipazione attiva degli studenti sarà incoraggiata attraverso domande e momenti di discussione in aula.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
Prerequisiti richiesti
Frequenza lezioni
Contenuti del corso
Introduzione alla virtualizzazione ([1] capitolo 1, [2] capitolo 1)
Cosa è la virtualizzazione ([1] capitolo 1)
Importanza della virtualizzazione ([2] capitolo 1)
Principali applicazioni della virtualizzazione ([2] capitolo 1)
Hypervisor ([1] capitolo 1, [2] capitolo2)
Definizione di hypervisor ([2] capitolo 2)
Tipi di hypervisor ([2] capitolo 2)
Full virtualization, Para virtualization, hardware assisted virtualization ([1] capitolo 1)
Ecosistema QEMU/ KVM, libvirt e oVirt ([2] capitoli 1,2,3)
Emulazione con Qemu ([2] capitolo 2)
Virtualizzazione con KVM ([2] capitolo 1 e capitolo 3)
Introduzione a libvirt e oVirt ([2] capitolo 3)
Installazione di KVM e libvirt ([2] capitolo 3)
Creazione e avvio di una macchina virtuale ([2] capitolo 3)
Networking virtuale ([1] capitolo 10, [2] capitolo 4)
Dispositivi TAP e TUN ([1] capitolo 10, [2] capitolo 4)
Bridging ([1] capitolo 10, [2] capitolo 4)
Networking con libvirt ([1] capitolo 10, [2] capitolo 4)
Open vSwitch ([1] capitolo 10, [2] capitolo 4)
Storage virtuale ([1] capitolo 9, [2] capitolo 5)
Storage pool ([1] capitolo 9, [2] capitolo 5)
Nfs ([2] capitolo 5)
Iscsi, Storage Area Network (SAN) ([1] capitolo 9, [2] capitolo 5)
Ridondanza, multipathing ([2] capitolo 5)
Gestione di immagini virtuali ([2] capitolo 5)
Macchine virtuali e il loro ciclo di vita ([2] capitolo 10)
Installazione e configurazione di macchine virtuali ([2] capitolo 10)
Migrazione di macchine virtuali ([2] capitolo 10)
Gestione di dischi virtuali, template, snapshot ([1] capitolo 11, [2] capitolo 8)
Uso di libguestfs ([2] capitolo 8)
Template ([2] capitolo 8, [1] capitolo 11)
Uso di virt-builder ([2] capitolo 8)
Snapshots ([2] capitolo 8, [1] capitolo 11)
Automazione di ecosistemi virtuali ([2] capitolo 9, [2] capitolo 11)
Introduzione a Cloud-init ([2] capitolo 9)
Introduzione ad ansible ([2] capitolo 11)
[1] Dakic, V., Chirammal, H.D., Mukhedkar, P. and Vettathu, A. "Mastering KVM Virtualization: Design expert data center virtualization solutions with the power of Linux KVM, Second Edition". 2020 ISBN: 978-1838828714
[2] Matthew Portnoy. "Virtualization Essentials. Third edition". 2023. ISBN: 978-1394181568.
[3] Materiale di supporto fornito dal docente, che sara’ pubblicato al seguente link: www.dmi.unict.it/messina
Testi di riferimento
[1] Dakic, V., Chirammal, H.D., Mukhedkar, P. and Vettathu, A. "Mastering KVM Virtualization: Design expert data center virtualization solutions with the power of Linux KVM, Second Edition". 2020 ISBN: 978-1838828714
[2] Matthew Portnoy. "Virtualization Essentials. Third edition". 2023. ISBN: 978-1394181568.
Programmazione del corso
| Argomenti | Riferimenti testi | |
|---|---|---|
| 1 | Introduzione alla virtualizzazione | Libri di testo, dispense del docente |
| 2 | Hypervisor | Libri di testo, dispense del docente |
| 3 | Ecosistema QEMU/ KVM, libvirt e oVirt | Libri di testo, dispense del docente |
| 4 | Networking virtuale | Libri di testo, dispense del docente |
| 5 | Storage virtuale | Libri di testo, dispense del docente |
| 6 | Macchine virtuali e il loro ciclo di vita | Macchine virtuali e il loro ciclo di vita |
| 7 | Gestione di dischi virtuali, template, snapshot | Macchine virtuali e il loro ciclo di vita |
| 8 | Automazione di ecosistemi virtuali | Macchine virtuali e il loro ciclo di vita |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
L’esame consiste in una prova scritta ed una successiva prova orale.
Tali prove potranno avere luogo per via telematica, qualora le condizioni lo dovessero richiedere. La prova orale potrà svolgersi il giorno stesso in cui è stata svolta la prova scritta o a distanza di pochi giorni da esso.
La prova d’esame è finalizzata a valutare in modo approfondito la preparazione dello studente, la capacità di analisi e di ragionamento sugli argomenti trattati durante il corso, nonché l’adeguatezza del linguaggio tecnico utilizzato.
La prova orale ha valore integrativo rispetto alla prova scritta e concorre alla determinazione del voto finale in modo inscindibile. Essa non rappresenta un’opportunità di incremento del punteggio, ma un completamento necessario per la valutazione complessiva della preparazione dello studente.
Per l'attribuzione del voto finale si seguiranno di norma i seguenti criteri:
- non approvato: lo studente non ha acquisito i concetti di base e non è in grado di svolgere gli esercizi.
- 18-23: lo studente dimostra una padronanza minima dei concetti di base, le sue capacità di esposizione e di collegamento dei contenuti sono modeste, riesce a risolvere semplici esercizi.
- 24-27: lo studente dimostra una buona padronanza dei contenuti del corso, le sue capacità di esposizione e di collegamento dei contenuti sono buone, risolve gli esercizi con pochi errori.
- 28-30 e lode: lo studente ha acquisito tutti i contenuti del corso ed è in grado di esporli compiutamente e di collegarli con spirito critico; risolve gli esercizi in modo completo e senza errori.
Gli studenti con disabilità e/o DSA dovranno contattare con sufficiente anticipo rispetto alla data dell'esame il docente, il referente CInAP del DMI (prof.ssa Daniele) e il CInAP per comunicare che intendono sostenere l'esame fruendo delle opportune misure compensative.
Esempi di domande e/o esercizi frequenti
Cosa e' la libreria libvirt.
Esporre i principi della virtualizzazione.
Networking con libvirt Gestione di immagini virtuali.