Virtual Systems

Academic Year 2026/2027 - Teacher: FABRIZIO MESSINA

Expected Learning Outcomes

Knowledge and understanding:

The primary objective of the course is to provide theoretical and practical training in computing system virtualization. The course focuses on the fundamental concepts of virtualization, its applications in modern computing, and its strategic role in optimizing modern computing infrastructures. Furthermore, a significant portion of the course will be dedicated to the use of some of the most widely used virtualization technologies to understand the key operational aspects of virtual computing systems.

Applying knowledge and understanding:

The course focuses on the tools needed to understand the main aspects of virtualization as well as the key differences between hypervisors. The course will provide an understanding of the key aspects of virtual system automation. A final important aspect is understanding the principles of virtualization for implementing high-availability systems.

Students will be able to apply their knowledge of specific tools to configure virtual storage and network connections between virtual machines, as well as apply their knowledge of specific tools for managing the virtual machine lifecycle.

Making judgments: Through the examination of numerous practical examples, students will be able to analyze problems and design and implement solutions that involve the use of virtualization.

Communication skills: Students will acquire the necessary communication skills in using verbal/technical language in the field of virtualization.

Learning skills: The course aims to provide students with the necessary theoretical and practical methodologies to be introduced in professional contexts, such as the ability to design solutions that involve the use of virtualization, as well as the ability to easily acquire further knowledge related to different virtualization or similar technologies.

Course Structure

Classes will be held in person. The instructor will present theoretical and practical content using slides and a whiteboard. Active student participation will be encouraged through questions and discussions.

If the course is taught in a blended or distance learning format, any necessary changes to the previously stated curriculum may be made in order to adhere to the planned program outlined in the syllabus.

Required Prerequisites

Basic knowledge of computer networks, Linux/Unix operating systems, Unix shell scripting.

Attendance of Lessons

For a thorough understanding of the topics covered and the methodologies presented, regular class attendance is strongly recommended.

Detailed Course Content

  • Introduction to virtualization ([1] chapter 1, [2] chapter 1) 

  • what is virtualization ([1] capitolo 1) 

  • Importance of virtualization ([2] chapter 1) 

  • Main applications ([2] chapter 1) 

  • Hypervisor ([1] capitolo 1, [2] chapter) 

  • What is a hypervisor ([2] chapter 2) 

  • Types of hypervisor ([2] chapter 2) 

  • Full virtualization, Para virtualization, hardware assisted virtualization ([1] chapter 1) 

  • Ecosystem QEMU/ KVM, libvirt, oVirt ([2] chapter 1,2,3) 

  • Qemu ([2] chapter 2) 

  • KVM ([2] chapter 1 e chapter 3) 

  • libvirt and oVirt ([2] chapter 3) 

  • Intstallation of KVM and libvirt ([2] chapter 3) 

  • Creating and starting a VM ([2] chapter 3) 

  • Virtual networking ([1] chapter 10, [2] chapter 4) 

  • TAP e TUN devices ([1] chapter 10, [2] chapter 4) 

  • Bridging  ([1] chapter 10, [2] chapter 4) 

  • Networking with libvirt  ([1] chapter 10, [2] chapter 4) 

  • Open vSwitch ([1] chapter 10, [2] chapter 4) 

  • Virtual storage ([1] chapter 9, [2] chapter 5) 

  • Storage pool ([1] chapter 9, [2] chapter 5) 

  • Nfs ([2] chapter 5)  

  • Iscsi, Storage Area Network (SAN) ([1] chapter 9, [2] chapter 5) 

  • Redudance, multipathing  ([2] chapter 5)

  • Virtual images ([2] chapter 5) 

  • Virtual machines and their lifecycle ([2] chapter 10) 

  • Installaatio and configuration of VMs ([2] chapter 10) 

  • VM migration ([2] chapter 10) 

  • Virtual disks, template, snapshot ([1] chapter 11, [2] chapter 8) 

  • libguestfs ([2] chapter 8) 

  • Template ([2] chapter 8, [1] chapter 11) 

  • virt-builder ([2] chapter 8) 

  • Snapshots ([2] chapter 8, [1] chapter 11) 

  • Automation of virtual ecosystems ([2] chapter 9, [2] chapter 11) 

  • Cloud-init ([2] chapter 9) 

  • Ansible ([2] chapter 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

Textbook Information

[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.  

Course Planning

 SubjectsText References
1introduction to virtualization Textbooks, teacher's material
2HypervisorTextbooks, teacher's material
3QEMU/ KVM, libvirt and oVirt ecosystemTextbooks, teacher's material
4Virtual networking Textbooks, teacher's material
5Virtual storageTextbooks, teacher's material
6Virtual machines and their life cycleTextbooks, teacher's material
7Management of virtual disks, templates, snapshotsTextbooks, teacher's material
8Automation of virtual ecosystemsTextbooks, teacher's material

Learning Assessment

Learning Assessment Procedures

The exam consists of a written test and a subsequent oral exam.

These tests may be conducted online, if conditions require. The oral exam may be held on the same day as the written test or a few days later.

The exam is designed to thoroughly assess the student's preparation, analytical and reasoning skills on the topics covered during the course, as well as the appropriateness of the technical language used.

The oral exam complements the written test and is integral to determining the final grade. It does not represent an opportunity to increase the student's score, but rather a necessary complement to the overall assessment of the student's preparation.

The final grade will generally be assigned according to the following criteria:

- Not passed: The student has not mastered the basic concepts and is unable to complete the exercises.

- 18-23: The student demonstrates minimal mastery of basic concepts; his/her presentation and connection skills are modest; he/she is able to solve simple exercises.

- 24-27: The student demonstrates good mastery of the course content; his/her presentation and connection skills are good; he/she solves the exercises with few errors.

- 28-30 with honors: The student has mastered all the course content and is able to present it thoroughly and connect it critically; he/she solves the exercises completely and without errors.

Students with disabilities and/or learning disabilities (LD) must contact the instructor, the DMI CInAP representative (Prof. Daniele), and CInAP well in advance of the exam date to communicate their intention to take the exam with appropriate compensatory measures.

Examples of frequently asked questions and / or exercises

Explain the main features of the Qemu/KVM ecosystem.

What is the libvirt library?

Explain the principles of virtualization.

Networking with libvirt. Managing virtual images.