KVM 8hours
KVM is a Linux kernel module that allows users to run multiple isolated instances of the Linux kernel on separate physical computers without having to reboot each time.

Chapter 1 : Understanding Linux Virtualization
Linux Virtualization is a computer technology that allows multiple operating systems to run simultaneously on a single computer.
Linux virtualization and how it all started
Using the hypervisor/virtual machine manager
Open source virtualization projects
What Linux virtualization offers you in the cloud
45min.
Chapter 2 : KVM as a Virtualization Solution
KVM is a virtualization solution that can be used in either physical or virtual environment. It is mainly the basis for open source hypervisors such as Oracle’s VirtualBox and VMware’s ESX.
The internal workings of libvirt, QEMU, and KVM
45min.
Chapter 3 : Installing KVM Hypervisor, libvirt, and oVirt
This guide will teach you how to install KVM Hypervisor, libvirt, and oVirt on a Linux machine.
Getting acquainted with QEMU and libvirt
Installing QEMU, libvirt, and oVirt
Starting a virtual machine using QEMU and libvirt
45min.
Chapter 4 : Libvirt Networking
Libvirt is a software library that provides an API for managing and interacting with the Linux kernel virtual machines.
Understanding physical and virtual networking
Using userspace networking with TAP and TUN devices
Understanding and using SR-IOV
45min.
Chapter 5 : Libvirt Storage
Using libvirt storage, administrators can create and run virtual machines on both physical and virtual servers. They can also manage the storage access for their server.
Storage redundancy and multipathing
Gluster and Ceph as a storage backend for KVM
Virtual disk images and formats and basic KVM storage operations
The latest developments in storage – NVMe and NVMeOF
45min.
Chapter 6 : Virtual Display Devices and Protocols
Virtual display devices have been around for decades but their use has been limited to just being an interactive screen.
Using virtual machine display devices
Discussing remote display protocols
Using the VNC display protocol
Using the SPICE display protocol
Methods to access a virtual machine console
Getting display portability with noVNC
45min.
Chapter 7 : Virtual Machines: Installation, Configuration, and Life Cycle Management
Virtual machine configuration is the process of defining the hardware, software, storage, and networking resources needed for creating a running virtual machine.
Creating a new VM using virt-manager
Adding and removing virtual hardware from your VM
45min.
Chapter 8 : Creating and Modifying VM Disks, Templates, and Snapshots
VM disks can be created in several ways: by using the New-VM command, by using diskpart or within a virtual machine.
Modifying VM images using libguestfs tools
virt-builder and virt-builder repos
Use cases and best practices while using snapshots
45min.
Chapter 9 : Customizing a Virtual Machine with cloud-init
Cloud-init is a service that allows for convenient setup of virtual machines in the cloud. It fits well with the needs of companies that want to customize their virtual machines to meet specific requirements.
What is the need for virtual machine customization?
Understanding cloud-init architecture
Installing and configuring cloud-init at boot time
Passing metadata and user data to cloud-init
Examples on how to use a cloud-config script with cloud-init
45min.
Chapter 10 : Automated Windows Guest Deployment and Customization
Automated deployments are not limited to deployments on physical machines or virtual machines, but can also be applied on Hyper-V clusters.
The prerequisites to creating Windows VMs on KVM
Creating Windows VMs using the virt-install utility
Customizing Windows VMs using cloudbase-init
cloudbase-init customization examples
Troubleshooting common cloudbase-init customization issues
45min.
Chapter 11 : Ansible and Scripting for Orchestration and Automation
Ansible is a tool that can be used for remote system management and orchestration. It is an open source platform, which means it has a low entry barrier.
Provisioning a virtual machine using the kvm_libvirt module
Orchestrating multi-tier application deployment on KVM VM
Learning by example Ansible with KVM
45min.
Chapter 12 : Scaling Out KVM with OpenStack
OpenStack is an open source cloud operating system that helps organizations build, manage, and secure private and public clouds. It is the most popular open source platform for private cloud deployments.
Additional OpenStack use cases
Provisioning the OpenStack environment
Integrating OpenStack with Ansible
45min.
Chapter 13 : Scaling out KVM with AWS
This scaling out approach allows for quick and easy deployment and then maintenance of servers at low cost. This will allow for scaling their infrastructure on AWS while also reducing costs.
Preparing and converting virtual machines for AWS
Building hybrid KVM clouds with Eucalyptus
45min.
Chapter 14 : Monitoring the KVM Virtualization Platform
KVM virtualization platform enables IT pros to monitor and maintain servers at scale. It helps in organizing servers with ease, making server management a lot less complicated.
Monitoring the KVM virtualization platform
Introduction to the open source ELK solution
Setting up and integrating the ELK stack
Configuring data collector and aggregator
45min.
Chapter 15 : Performance Tuning and Optimization for KVM VMs
Performance tuning is a process of optimizing the performance of a system, which mainly focuses on the utilization of resources and resource usage.
Tuning the VM CPU and memory performance
Tuning the CPU and memory with NUMA
45min.
Chapter 16 : Troubleshooting Guidelines for the KVM Platform
The following troubleshooting guidelines should be followed when problems arise with the KVM platform.
Verifying the KVM service status
Advanced troubleshooting tools
Best practices for troubleshooting KVM issues
45min.
Kumar Satish
Instructor
Kumar Satish started his career as a Unix and Linux System Engineer in 2011. Kumar has professiona experience with CentOS, RedHat, Ubuntu, and Debian. He enjoys teaching others how to use and exploit the power of the Linux operating system.